package com.airlock.iam.techclientreg.infrastructure.factory;

import com.airlock.iam.base.api.domain.model.exception.FailureException;
import com.airlock.iam.flow.api.domain.model.session.FlowAttributeRepository;
import com.airlock.iam.techclientreg.domain.model.flow.RegisteringTechClientFlowAttribute;
import com.google.inject.Exposed;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;

public class RegisteringTechClientFlowAttributeModule extends PrivateModule {
   @Provides
   @Exposed
   RegisteringTechClientFlowAttribute provideRegisteringTechClientFlowAttribute(FlowAttributeRepository flowAttributes) {
      return flowAttributes.tryGetAttribute(RegisteringTechClientFlowAttribute.class)
         .orElseThrow(() -> new FailureException("No RegisteringTechClientFlowAttribute found"));
   }

   protected void configure() {
   }
}
