<?php

namespace MintyPHP\Service\Settings;

final class SettingKeys
{
    public const DEFAULT_TENANT_KEY = 'default_tenant_id';
    public const DEFAULT_ROLE_KEY = 'default_role_id';
    public const DEFAULT_DEPARTMENT_KEY = 'default_department_id';
    public const APP_TITLE_KEY = 'app_title';
    public const APP_LOCALE_KEY = 'app_locale';
    public const APP_REGISTRATION_KEY = 'app_registration';
    public const API_TOKEN_DEFAULT_TTL_DAYS_KEY = 'api_token_default_ttl_days';
    public const API_TOKEN_MAX_TTL_DAYS_KEY = 'api_token_max_ttl_days';
    public const API_CORS_ALLOWED_ORIGINS_KEY = 'api_cors_allowed_origins';
    public const MICROSOFT_SHARED_CLIENT_ID_KEY = 'microsoft_shared_client_id';
    public const MICROSOFT_SHARED_CLIENT_SECRET_ENC_KEY = 'microsoft_shared_client_secret_enc';
    public const MICROSOFT_AUTHORITY_KEY = 'microsoft_authority';
    public const SMTP_HOST_KEY = 'smtp_host';
    public const SMTP_PORT_KEY = 'smtp_port';
    public const SMTP_USER_KEY = 'smtp_user';
    public const SMTP_PASSWORD_KEY = 'smtp_password';
    public const SMTP_SECURE_KEY = 'smtp_secure';
    public const SMTP_FROM_KEY = 'smtp_from';
    public const SMTP_FROM_NAME_KEY = 'smtp_from_name';
    public const USER_INACTIVITY_DEACTIVATE_DAYS_KEY = 'user_inactivity_deactivate_days';
    public const USER_INACTIVITY_DELETE_DAYS_KEY = 'user_inactivity_delete_days';
    // Internal state keys: written by UserLifecycleService::run() and read by
    // the dashboard. Not intended to appear in the admin settings UI as
    // user-configurable values — they record run-trigger state.
    public const USER_LIFECYCLE_LAST_RUN_AT_KEY = 'user_lifecycle_last_run_at';
    public const USER_LIFECYCLE_LAST_RUN_STATUS_KEY = 'user_lifecycle_last_run_status';
    public const SYSTEM_AUDIT_ENABLED_KEY = 'system_audit_enabled';
    public const SYSTEM_AUDIT_RETENTION_DAYS_KEY = 'system_audit_retention_days';
    public const FRONTEND_TELEMETRY_ENABLED_KEY = 'frontend_telemetry_enabled';
    public const FRONTEND_TELEMETRY_SAMPLE_RATE_KEY = 'frontend_telemetry_sample_rate';
    public const FRONTEND_TELEMETRY_ALLOWED_EVENTS_KEY = 'frontend_telemetry_allowed_events';
    public const SESSION_IDLE_TIMEOUT_MINUTES_KEY = 'session_idle_timeout_minutes';
    public const SESSION_ABSOLUTE_TIMEOUT_HOURS_KEY = 'session_absolute_timeout_hours';
    public const MICROSOFT_AUTO_REMEMBER_DEFAULT_KEY = 'microsoft_auto_remember_default';
    public const REMEMBER_TOKEN_LIFETIME_DAYS_KEY = 'remember_token_lifetime_days';

    private function __construct()
    {
    }
}
