package com.airlock.iam.admin.application.configuration;

import com.airlock.iam.common.application.configuration.CorsSettings;
import com.airlock.iam.common.application.configuration.RestConfigSpec;
import com.airlock.iam.common.application.configuration.SmsServiceConfig;
import com.airlock.iam.core.misc.util.password.hash.PasswordHash;
import java.util.Optional;

public interface AdminappRestConfigSpec extends RestConfigSpec {
   int MAX_PAGE_SIZE_DEFAULT_VALUE = 5000;
   int DEFAULT_PAGE_SIZE_DEFAULT_VALUE = 500;

   Optional<SmsServiceConfig> getSmsServiceConfig();

   Optional<PasswordHash> getHashFunction();

   Optional<String> getHashSharedSecret();

   CorsSettings getCorsSettings();

   boolean isCsrfProtected();

   int getDefaultPageSize();

   int getMaxPageSize();
}
