package com.airlock.iam.admin.application.service.settings.provider;

import com.airlock.iam.admin.application.configuration.maintenancemessages.MaintenanceMessageConfiguration;
import com.airlock.iam.admin.application.service.SettingsProvider;
import com.airlock.iam.admin.application.service.settings.MaintenanceMessageSettings;
import com.airlock.iam.admin.application.service.settings.Settings;
import com.airlock.iam.admin.application.system.AdminappPage;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Optional;

public class MaintenanceMessageDetailSettingsProvider implements SettingsProvider {
   private Optional<MaintenanceMessageConfiguration> config;

   @Override
   public AdminappPage page() {
      return AdminappPage.MAINTENANCE_MESSAGE_DETAIL;
   }

   @Override
   public Optional<Settings> getSettings() {
      return this.config.map(maintenanceConfig -> new MaintenanceMessageSettings(maintenanceConfig.getLocationsData(), maintenanceConfig.getLanguages()));
   }

   @SuppressFBWarnings(justification = "generated code")
   public MaintenanceMessageDetailSettingsProvider(Optional<MaintenanceMessageConfiguration> config) {
      this.config = config;
   }
}
