using SPMS.Domain.Enums; namespace SPMS.Domain.Entities; public class Service : BaseEntity { public string ServiceCode { get; set; } = string.Empty; public string ServiceName { get; set; } = string.Empty; public string? Description { get; set; } public string ApiKey { get; set; } = string.Empty; public DateTime ApiKeyCreatedAt { get; set; } public string? ApnsBundleId { get; set; } public string? ApnsKeyId { get; set; } public string? ApnsTeamId { get; set; } public string? ApnsPrivateKey { get; set; } public string? ApnsAuthType { get; set; } // "p8" or "p12" public string? ApnsCertificate { get; set; } // p12 Base64 (암호화 저장) public string? ApnsCertPassword { get; set; } // p12 비밀번호 (암호화 저장) public DateTime? ApnsCertExpiresAt { get; set; } // p12 인증서 만료일 public string? FcmCredentials { get; set; } public string? WebhookUrl { get; set; } public string? WebhookEvents { get; set; } public string? Tags { get; set; } public SubTier SubTier { get; set; } public DateTime? SubStartedAt { get; set; } public ServiceStatus Status { get; set; } public DateTime CreatedAt { get; set; } public long CreatedBy { get; set; } public DateTime? UpdatedAt { get; set; } public bool IsDeleted { get; set; } public DateTime? DeletedAt { get; set; } // Navigation public Admin CreatedByAdmin { get; set; } = null!; public ICollection ServiceIps { get; set; } = new List(); public ICollection Devices { get; set; } = new List(); public ICollection Messages { get; set; } = new List(); public ICollection TagList { get; set; } = new List(); }