package com.l7tech.external.assertions.gatewaygraphql.server.data;

import com.l7tech.external.assertions.gatewaygraphql.server.resolver.query.IdpResolverHelper;
import com.l7tech.external.assertions.gatewaygraphql.server.util.JsonUtil;
import com.l7tech.identity.Group;
import com.l7tech.identity.IdentityProvider;
import com.l7tech.identity.PersistentGroup;
import org.apache.commons.codec.digest.DigestUtils;

public abstract class IdpGroupDTO<IDPG extends Group, IDP extends IdentityProvider> extends IdpEntityDTO<IDP> {
   protected final IDPG group;
   protected final IdpResolverHelper idpHelper;

   protected IdpGroupDTO(IDPG var1, IDP var2, IdpResolverHelper var3) {
      super((IDP)var2);
      this.group = (IDPG)var1;
      this.idpHelper = var3;
   }

   @Override
   public String getGoid() {
      return ((PersistentGroup)this.group).getGoid().toHexString();
   }

   public String getName() {
      return this.group.getName();
   }

   public String getProviderName() {
      return this.idp.getConfig().getName();
   }

   public String getDescription() {
      return this.group.getDescription();
   }

   @Override
   public String getChecksum() {
      try {
         return DigestUtils.shaHex(JsonUtil.DEFAULT.serialize(this.createWrapperObject()));
      } catch (Throwable var2) {
         throw var2;
      }
   }

   @Override
   public abstract Object createWrapperObject();
}
