Files
Moonlight/Moonlight.ApiServer/Configuration/AppConfiguration.cs

51 lines
1.6 KiB
C#

using MoonCore.Helpers;
namespace Moonlight.ApiServer.Configuration;
public class AppConfiguration
{
public string PublicUrl { get; set; } = "http://localhost:5165";
public DatabaseConfig Database { get; set; } = new();
public AuthenticationConfig Authentication { get; set; } = new();
public DevelopmentConfig Development { get; set; } = new();
public ClientConfig Client { get; set; } = new();
public class ClientConfig
{
public bool Enable { get; set; } = true;
}
public class DatabaseConfig
{
public string Host { get; set; } = "your-database-host.name";
public int Port { get; set; } = 3306;
public string Username { get; set; } = "db_user";
public string Password { get; set; } = "db_password";
public string Database { get; set; } = "db_name";
}
public class AuthenticationConfig
{
public string Secret { get; set; } = Formatter.GenerateString(32);
public int TokenDuration { get; set; } = 3600;
public OAuth2Data OAuth2 { get; set; } = new();
public class OAuth2Data
{
public string Secret { get; set; } = Formatter.GenerateString(32);
public string ClientId { get; set; } = Formatter.GenerateString(8);
public string ClientSecret { get; set; } = Formatter.GenerateString(32);
public string? AuthorizationEndpoint { get; set; }
public string? AuthorizationRedirect { get; set; }
}
}
public class DevelopmentConfig
{
public bool EnableApiDocs { get; set; } = false;
}
}