namespace ZB.MOM.WW.MxGateway.Server.Configuration;

public sealed class AuthenticationOptions
{
    /// <summary>Gets the authentication mode.</summary>
    public AuthenticationMode Mode { get; init; } = AuthenticationMode.ApiKey;

    /// <summary>Gets the SQLite database path for authentication credentials.</summary>
    public string SqlitePath { get; init; } = @"C:\ProgramData\MxGateway\gateway-auth.db";

    /// <summary>Gets the secret manager name for API key pepper.</summary>
    public string PepperSecretName { get; init; } = "MxGateway:ApiKeyPepper";

    /// <summary>Gets whether database migrations should run on startup.</summary>
    public bool RunMigrationsOnStartup { get; init; } = true;
}
