using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MTWorkHR.Core.Global { public class AppSettingsConfiguration { public ConnectionStrings ConnectionStrings { get; set; } public JwtSettings JwtSettings { get; set; } public AttachmentSettings AttachmentSettings { get; set; } public EnvironmentSettings EnvironmentSettings { get; set; } public EmailSettings MailSettings { get; set; } public OTPSettings OTPSettings { get; set; } public CaptchaSettings CaptchaSettings { get; set; } public LoginSettings LoginSettings { get; set; } public MatchMoveSettings MatchMoveSettings { get; set; } } public class ConnectionStrings { public string MTWorkHRConnectionString { get; set; } public string LocalConnectionString { get; set; } public string BlobConnectionString { get; set; } } public class AttachmentSettings { public string TempAttachment { get; set; } public string ActualAttachment { get; set; } } public class EnvironmentSettings { public bool EnableSwagger { get; set; } } public class JwtSettings { public string Audience { get; set; } public string Issuer { get; set; } public string SecretKey { get; set; } public int DurationInMinutes { get; set; } } public class EmailSettings { public string ApiKey { get; set; } public string FromAddress { get; set; } public string FromName { get; set; } public string Password { get; set; } public string Host { get; set; } public string TemplatePath { get; set; } public int Port { get; set; } } public class OTPSettings { public int Length { get; set; } = 4; public int ExpirePeriodInMinutes { get; set; } public string MessageSubject { get; set; } public string MessageBody { get; set; } public bool SendEmail { get; set; } public bool SendSMS { get; set; } public bool AllowZeros { get; set; } = true; } public class CaptchaSettings { public int Length { get; set; } public int ExpirePeriodInSeconds { get; set; } } public class MatchMoveSettings { public string BaseUrl { get; set; } public string ClientId { get; set; } public string ClientSecret { get; set; } public string GrantType { get; set; } } public class LoginSettings { public int MaxFailedAccessAttempts { get; set; } public int DefaultLockoutTimeSpanInDays { get; set; } } }