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

import com.airlock.iam.login.domain.model.session.AuditToken;
import com.airlock.iam.login.infrastructure.service.session.AuthenticationAuditTokenService;
import com.airlock.iam.login.infrastructure.service.session.AuthenticationAuditTokenServiceImpl;
import com.google.inject.Exposed;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;
import java.util.Optional;

public class AuthenticationAuditTokenModule extends PrivateModule {
   @Provides
   @Exposed
   Optional<AuditToken> provideAuditToken(AuthenticationAuditTokenService service) {
      return service.getAuditToken();
   }

   protected void configure() {
      this.bind(AuthenticationAuditTokenService.class).to(AuthenticationAuditTokenServiceImpl.class);
   }
}
