namespace Application.Features.Config; public sealed class ConfigDto { public int ID { get; init; } public BasicConfigDto Basic { get; init; } = new(); public MetaConfigDto Meta { get; init; } = new(); public CompanyConfigDto Company { get; init; } = new(); public AccountConfigDto Account { get; init; } = new(); public EmailTemplateConfigDto EmailTemplate { get; init; } = new(); public ExternalApiConfigDto External { get; init; } = new(); public PaymentConfigDto Payment { get; init; } = new(); public sealed class BasicConfigDto { public string? SiteName { get; init; } public decimal? DefaultFeeAmount { get; init; } public decimal? DefaultFeeRate { get; init; } } public sealed class MetaConfigDto { public string? Keywords { get; init; } public string? Description { get; init; } public string? Author { get; init; } public string? Viewport { get; init; } public string? ApplicationName { get; init; } public string? Generator { get; init; } public string? Robots { get; init; } public string? Adds { get; init; } } public sealed class CompanyConfigDto { public string? Name { get; init; } public string? RegNo { get; init; } public string? Owner { get; init; } public string? Tel { get; init; } public string? Fax { get; init; } public string? RetailSaleNo { get; init; } public string? AddedSaleNo { get; init; } public string? ZipCode { get; init; } public string? Hosting { get; init; } public string? AdminName { get; init; } public string? AdminEmail { get; init; } public string? SiteUrl { get; init; } public string? BankCode { get; init; } public string? BankOwner { get; init; } public string? BankNumber { get; init; } } public sealed class AccountConfigDto { public bool IsRegisterBlock { get; init; } public bool IsRegisterEmailAuth { get; init; } public ushort? PasswordMinLength { get; init; } public ushort? PasswordUppercaseLength { get; init; } public ushort? PasswordNumbersLength { get; init; } public ushort? PasswordSpecialcharsLength { get; init; } public string? DeniedEmailList { get; init; } public string? DeniedNameList { get; init; } public ushort? ChangeEmailDay { get; init; } public ushort? ChangeNameDay { get; init; } public ushort? ChangeSummaryDay { get; init; } public ushort? ChangeIntroDay { get; init; } public ushort? ChangePasswordDay { get; init; } public ushort? MaxLoginTryCount { get; init; } public ushort? MaxLoginTryLimitSecond { get; init; } } public sealed class EmailTemplateConfigDto { public string? RegisterEmailFormTitle { get; init; } public string? RegisterEmailFormContent { get; init; } public string? RegistrationEmailFormTitle { get; init; } public string? RegistrationEmailFormContent { get; init; } public string? ResetPasswordEmailFormTitle { get; init; } public string? ResetPasswordEmailFormContent { get; init; } public string? ChangedPasswordEmailFormTitle { get; init; } public string? ChangedPasswordEmailFormContent { get; init; } public string? WithdrawEmailFormTitle { get; init; } public string? WithdrawEmailFormContent { get; init; } public string? EmailVerifyFormTitle { get; init; } public string? EmailVerifyFormContent { get; init; } public string? ChangedEmailFormTitle { get; init; } public string? ChangedEmailFormContent { get; init; } } public sealed class ExternalApiConfigDto { public string? YouTubeApiKeyEnc { get; init; } public string? YouTubeApiName { get; init; } public string? GoogleClientId { get; init; } public string? GoogleClientSecretEnc { get; init; } public string? GoogleAppId { get; init; } } public sealed class PaymentConfigDto { } }