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;
}