- Admin 엔티티에 AgreeTerms, AgreePrivacy, AgreedAt 필드 추가 - SignupRequestDto에 동의 필드 추가 (필수 검증) - SignupResponseDto에 verifySessionId, emailSent 응답 추가 - AuthService.SignupAsync: 동의 검증, verify session 생성, 메일 발송 try-catch - ErrorCodes에 TermsNotAgreed(114), PrivacyNotAgreed(115) 추가 - EF Core 마이그레이션 AddConsentFieldsToAdmin 생성/적용 Closes #202
29 lines
1.2 KiB
C#
29 lines
1.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace SPMS.Application.DTOs.Auth;
|
|
|
|
public class SignupRequestDto
|
|
{
|
|
[Required(ErrorMessage = "이메일은 필수입니다.")]
|
|
[EmailAddress(ErrorMessage = "올바른 이메일 형식이 아닙니다.")]
|
|
public string Email { get; set; } = string.Empty;
|
|
|
|
[Required(ErrorMessage = "비밀번호는 필수입니다.")]
|
|
[MinLength(8, ErrorMessage = "비밀번호는 8자 이상이어야 합니다.")]
|
|
public string Password { get; set; } = string.Empty;
|
|
|
|
[Required(ErrorMessage = "이름은 필수입니다.")]
|
|
[StringLength(50, ErrorMessage = "이름은 50자 이내여야 합니다.")]
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
[Required(ErrorMessage = "전화번호는 필수입니다.")]
|
|
[StringLength(20, ErrorMessage = "전화번호는 20자 이내여야 합니다.")]
|
|
public string Phone { get; set; } = string.Empty;
|
|
|
|
[Required(ErrorMessage = "서비스 이용약관 동의는 필수입니다.")]
|
|
public bool AgreeTerms { get; set; }
|
|
|
|
[Required(ErrorMessage = "개인정보 처리방침 동의는 필수입니다.")]
|
|
public bool AgreePrivacy { get; set; }
|
|
}
|