package com.airlock.iam.apipolicyservice.app.infrastructure.factory;

import com.airlock.iam.apipolicyservice.app.infrastructure.Configuration;
import com.airlock.iam.common.application.configuration.meta.ApplicationsLicensedData;
import com.airlock.iam.common.application.configuration.meta.ConfigurationMetaData;
import com.airlock.iam.core.misc.util.config.Config;
import com.google.inject.Exposed;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;
import com.google.inject.servlet.RequestScoped;

public final class ApiPolicyServiceConfigurationMetaDataModule extends PrivateModule {
   @Provides
   @RequestScoped
   @Exposed
   ConfigurationMetaData provideConfigurationMetaData() {
      return ConfigurationMetaData.builder().isPresent(true).isActive(Config.isActive()).build();
   }

   @Provides
   @RequestScoped
   @Exposed
   ApplicationsLicensedData provideApplicationsLicensedData() {
      return new ApplicationsLicensedData(Configuration.getInstance().isLicensed());
   }

   protected void configure() {
   }
}
