package com.airlock.iam.ssi.domain.model.predicate;

import com.airlock.iam.base.api.domain.model.plugin.LogicForConfig;
import com.airlock.iam.ssi.application.configuration.GenericPredicateConfig;
import com.airlock.iam.ssi.domain.model.step.SsiPredicateSettings;
import jakarta.inject.Inject;
import jakarta.inject.Provider;

@LogicForConfig(GenericPredicateConfig.class)
public class SsiGenericPredicateSettingsProvider implements SsiPredicateSettingsProvider {
   private final Provider<GenericPredicateConfig> genericPredicate;

   @Inject
   public SsiGenericPredicateSettingsProvider(Provider<GenericPredicateConfig> agePredicate) {
      this.genericPredicate = agePredicate;
   }

   @Override
   public SsiPredicateSettings getPredicateSettings() {
      return new SsiPredicateSettings(
         ((GenericPredicateConfig)this.genericPredicate.get()).getName(),
         ((GenericPredicateConfig)this.genericPredicate.get()).getProviderKey(),
         ((GenericPredicateConfig)this.genericPredicate.get()).getType(),
         ((GenericPredicateConfig)this.genericPredicate.get()).getThresholdValue()
      );
   }
}
