package com.airlock.iam.flow.shared.infrastructure.factory;

import com.airlock.iam.common.application.service.user.LogoutService;
import com.airlock.iam.flow.application.service.flow.FlowTerminationService;
import com.airlock.iam.flow.domain.service.FlowExitService;
import com.airlock.iam.flow.shared.application.service.FlowTerminationServiceImpl;
import com.airlock.iam.flow.shared.domain.service.FlowExitServiceImpl;
import com.google.inject.PrivateModule;
import com.google.inject.servlet.RequestScoped;

public final class FlowTerminationServiceModule extends PrivateModule {
   protected void configure() {
      this.bind(LogoutService.class).to(FlowTerminationServiceImpl.class);
      this.expose(LogoutService.class);
      this.bind(FlowTerminationService.class).to(FlowTerminationServiceImpl.class).in(RequestScoped.class);
      this.expose(FlowTerminationService.class);
      this.bind(FlowExitService.class).to(FlowExitServiceImpl.class);
      this.expose(FlowExitService.class);
   }
}
