using System.ComponentModel.DataAnnotations; namespace SPMS.Application.DTOs.Service; public class RegisterServiceRequestDto { [Required(ErrorMessage = "서비스명은 필수입니다.")] [StringLength(100, MinimumLength = 2, ErrorMessage = "서비스명은 2~100자여야 합니다.")] public string ServiceName { get; set; } = string.Empty; [StringLength(500, ErrorMessage = "설명은 500자 이내여야 합니다.")] public string? Description { get; set; } /// /// FCM 자격증명 (선택) /// public FcmCredentialDto? Fcm { get; set; } /// /// APNs 자격증명 (선택) /// public ApnsCredentialDto? Apns { get; set; } } public class FcmCredentialDto { [Required(ErrorMessage = "Service Account JSON은 필수입니다.")] public string ServiceAccountJson { get; set; } = string.Empty; } public class ApnsCredentialDto { [Required(ErrorMessage = "Bundle ID는 필수입니다.")] public string BundleId { get; set; } = string.Empty; [Required(ErrorMessage = "Key ID는 필수입니다.")] [StringLength(10, MinimumLength = 10, ErrorMessage = "Key ID는 10자리여야 합니다.")] public string KeyId { get; set; } = string.Empty; [Required(ErrorMessage = "Team ID는 필수입니다.")] [StringLength(10, MinimumLength = 10, ErrorMessage = "Team ID는 10자리여야 합니다.")] public string TeamId { get; set; } = string.Empty; [Required(ErrorMessage = "Private Key는 필수입니다.")] public string PrivateKey { get; set; } = string.Empty; }