package com.airlock.iam.transactionapproval.health.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.transactionapproval.health.infrastructure.factory.TransactionApprovalHealthInfrastructureModule;
import com.airlock.iam.transactionapproval.health.infrastructure.resource.TransactionApprovalReadinessResource;
import com.google.inject.Module;
import java.util.Collection;
import java.util.List;

@RestApplicationConfiguration(
   dependencyProviders = {"com.airlock.iam.base.infrastructure.factory", "com.airlock.iam.transactionapproval.app.infrastructure.factory.health"}
)
public final class MainTransactionApprovalHealthExtension implements TransactionApprovalHealthExtension {
   public Collection<Class<?>> jaxRsComponents() {
      return List.of(InternalReadinessRequestFilter.class, TransactionApprovalReadinessResource.class);
   }

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