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

import com.airlock.iam.base.api.domain.model.event.source.EventSource;
import com.airlock.iam.base.domain.model.event.UnknownEventSource;
import com.airlock.iam.common.infrastructure.delay.ResponseDelayCondition;
import com.airlock.iam.flow.shared.infrastructure.service.NoResponseDelayCondition;
import com.google.inject.PrivateModule;
import jakarta.inject.Singleton;

public class Saml2InfrastructureModule extends PrivateModule {
   protected void configure() {
      this.bind(EventSource.class).toInstance(UnknownEventSource.unknownEventSource());
      this.expose(EventSource.class);
      this.bind(ResponseDelayCondition.class).to(NoResponseDelayCondition.class).in(Singleton.class);
      this.expose(ResponseDelayCondition.class);
   }
}
