feat: Enhance network membership and withdrawal processing with user tracking and logging

This commit is contained in:
masoodafar-web
2025-12-01 20:52:18 +03:30
parent 4aaf2247ff
commit 25fc73ae28
47 changed files with 9545 additions and 284 deletions
@@ -0,0 +1,49 @@
namespace CMSMicroservice.Infrastructure.Configuration;
/// <summary>
/// Email/SMTP configuration settings
/// </summary>
public class EmailSettings
{
public const string SectionName = "Email";
/// <summary>
/// Enable/Disable email sending
/// </summary>
public bool Enabled { get; set; } = true;
/// <summary>
/// SMTP server host (e.g., smtp.gmail.com)
/// </summary>
public string SmtpHost { get; set; } = string.Empty;
/// <summary>
/// SMTP server port (587 for TLS, 465 for SSL, 25 for non-encrypted)
/// </summary>
public int SmtpPort { get; set; } = 587;
/// <summary>
/// SMTP username (usually email address)
/// </summary>
public string SmtpUsername { get; set; } = string.Empty;
/// <summary>
/// SMTP password (use app password for Gmail)
/// </summary>
public string SmtpPassword { get; set; } = string.Empty;
/// <summary>
/// From email address
/// </summary>
public string FromEmail { get; set; } = string.Empty;
/// <summary>
/// From display name
/// </summary>
public string FromName { get; set; } = "FourSat CMS";
/// <summary>
/// Enable SSL/TLS
/// </summary>
public bool EnableSsl { get; set; } = true;
}
@@ -0,0 +1,29 @@
namespace CMSMicroservice.Infrastructure.Configuration;
/// <summary>
/// SMS configuration settings (Kavenegar)
/// </summary>
public class SmsSettings
{
public const string SectionName = "Sms";
/// <summary>
/// Enable/Disable SMS sending
/// </summary>
public bool Enabled { get; set; } = true;
/// <summary>
/// SMS provider name (e.g., Kavenegar)
/// </summary>
public string Provider { get; set; } = "Kavenegar";
/// <summary>
/// Kavenegar API key
/// </summary>
public string KavenegarApiKey { get; set; } = string.Empty;
/// <summary>
/// Sender number (شماره ارسال‌کننده)
/// </summary>
public string Sender { get; set; } = "10008663";
}