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

import com.airlock.iam.authentication.application.configuration.processor.DefaultAuthenticationProcessorConfig;
import com.airlock.iam.authentication.domain.model.processor.AuthenticationFlowProcessor;
import com.airlock.iam.base.api.infrastructure.plugin.ModuleForConfig;
import com.google.inject.Exposed;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;

@ModuleForConfig(DefaultAuthenticationProcessorConfig.class)
public final class DefaultAuthenticationProcessorModule extends PrivateModule {
   @Provides
   @Exposed
   AuthenticationFlowProcessor.AuthenticationFlowProcessorSettings provideAuthenticationFlowProcessorSettings(DefaultAuthenticationProcessorConfig config) {
      return new AuthenticationFlowProcessor.AuthenticationFlowProcessorSettings(config.isUpdateLoginStatistics());
   }

   protected void configure() {
   }
}
