- Tag 엔티티 생성 (ServiceId, Name, Description, CreatedAt, CreatedBy) - ITagRepository 인터페이스 및 TagRepository 구현 - TagConfiguration: Unique Index (ServiceId, Name), FK Restrict - Service.TagList Navigation 추가 - ErrorCodes에 Tag 에러코드 4종 추가 (191~194) - AppDbContext DbSet<Tag>, DI 등록 - EF Core Migration AddTagTable 생성 및 적용 Closes #243
40 lines
1.7 KiB
C#
40 lines
1.7 KiB
C#
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<ServiceIp> ServiceIps { get; set; } = new List<ServiceIp>();
|
|
public ICollection<Device> Devices { get; set; } = new List<Device>();
|
|
public ICollection<Message> Messages { get; set; } = new List<Message>();
|
|
public ICollection<Tag> TagList { get; set; } = new List<Tag>();
|
|
}
|