package com.airlock.iam.login.health.rest.infrastructure;

import com.airlock.iam.common.api.application.configuration.RestApplicationConfiguration;
import com.airlock.iam.common.infrastructure.factory.PluginConfigToLogicModule;
import com.airlock.iam.common.infrastructure.filter.health.InternalReadinessRequestFilter;
import com.airlock.iam.login.health.rest.infrastructure.factory.LoginHealthInfrastructureModule;
import com.airlock.iam.login.health.rest.infrastructure.resource.LoginReadinessResource;
import com.google.inject.Module;
import java.util.Collection;
import java.util.List;

@RestApplicationConfiguration(dependencyProviders = {"com.airlock.iam.base.infrastructure.factory", "com.airlock.iam.login.app.infrastructure.factory.health"})
public final class MainLoginHealthExtension implements LoginHealthExtension {
   @Override
   public Collection<Class<?>> jaxRsComponents() {
      return List.of(InternalReadinessRequestFilter.class, LoginReadinessResource.class);
   }

   @Override
   public Collection<Class<? extends Module>> guiceModules() {
      return List.of(LoginHealthInfrastructureModule.class, PluginConfigToLogicModule.class);
   }
}
