improvement: 가입 계약 확장 (#202) #203

Merged
seonkyu.kim merged 1 commits from improvement/#202-signup-contract-extension into develop 2026-02-25 00:44:01 +00:00
Owner

📋 작업 요약

  • Admin 엔티티에 약관/개인정보 동의 필드(AgreeTerms, AgreePrivacy, AgreedAt) 추가
  • 가입 API 응답에 이메일 인증 세션(verifySessionId)과 메일 발송 결과(emailSent) 포함
  • 동의 미체크 시 400 에러 반환 (TermsNotAgreed/PrivacyNotAgreed)
  • 메일 발송 실패 시에도 가입 유지 (emailSent=false)

Closes #202

🛠️ 작업 내용 (Changes)

  • SPMS.Domain/Entities/Admin.cs — 동의 필드 3개 추가
  • SPMS.Infrastructure/Persistence/Configurations/AdminConfiguration.cs — 동의 필드 매핑
  • SPMS.Domain/Common/ErrorCodes.cs — TermsNotAgreed(114), PrivacyNotAgreed(115) 추가
  • SPMS.Application/DTOs/Auth/SignupRequestDto.cs — 동의 필드 2개 추가
  • SPMS.Application/DTOs/Auth/SignupResponseDto.cs — verifySessionId, emailSent 추가
  • SPMS.Application/Services/AuthService.cs — 동의 검증, verify session 생성, 메일 발송 try-catch
  • SPMS.API/Controllers/AuthController.cs — Swagger 설명 업데이트
  • SPMS.Infrastructure/Migrations/ — AddConsentFieldsToAdmin 마이그레이션

📢 리뷰어 참고 사항 (To Reviewers)

  • verify session(Redis verify_session:{sessionId} → email)은 WP-AUTH-03에서 verify API와 연동 예정
  • 기존 email_verify:{email} → code 구조는 그대로 유지 (backward compatible)
  • 메일 발송 실패 시 가입은 성공하고 emailSent=false로 FE가 재전송 안내 가능

체크리스트 (Self Checklist)

  • 빌드(Build)가 성공적으로 수행되었는가?
  • 모든 단위 테스트(Unit Test)를 통과하였는가?
  • 불필요한 로그나 주석을 제거하였는가?
  • 컨벤션(Clean Architecture, Naming)을 준수하였는가?
  • 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가?

📸 스크린샷 / 테스트 로그 (Screenshots/Logs)

빌드 성공 확인 (경고 0개, 오류 0개)

## 📋 작업 요약 - Admin 엔티티에 약관/개인정보 동의 필드(AgreeTerms, AgreePrivacy, AgreedAt) 추가 - 가입 API 응답에 이메일 인증 세션(verifySessionId)과 메일 발송 결과(emailSent) 포함 - 동의 미체크 시 400 에러 반환 (TermsNotAgreed/PrivacyNotAgreed) - 메일 발송 실패 시에도 가입 유지 (emailSent=false) ## 🔗 관련 이슈 (Related Issues) Closes #202 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Domain/Entities/Admin.cs` — 동의 필드 3개 추가 - [x] `SPMS.Infrastructure/Persistence/Configurations/AdminConfiguration.cs` — 동의 필드 매핑 - [x] `SPMS.Domain/Common/ErrorCodes.cs` — TermsNotAgreed(114), PrivacyNotAgreed(115) 추가 - [x] `SPMS.Application/DTOs/Auth/SignupRequestDto.cs` — 동의 필드 2개 추가 - [x] `SPMS.Application/DTOs/Auth/SignupResponseDto.cs` — verifySessionId, emailSent 추가 - [x] `SPMS.Application/Services/AuthService.cs` — 동의 검증, verify session 생성, 메일 발송 try-catch - [x] `SPMS.API/Controllers/AuthController.cs` — Swagger 설명 업데이트 - [x] `SPMS.Infrastructure/Migrations/` — AddConsentFieldsToAdmin 마이그레이션 ## 📢 리뷰어 참고 사항 (To Reviewers) - verify session(Redis `verify_session:{sessionId}` → email)은 WP-AUTH-03에서 verify API와 연동 예정 - 기존 `email_verify:{email}` → code 구조는 그대로 유지 (backward compatible) - 메일 발송 실패 시 가입은 성공하고 emailSent=false로 FE가 재전송 안내 가능 ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) 빌드 성공 확인 (경고 0개, 오류 0개)
seonkyu.kim added this to the Phase 1: 서비스 도메인 milestone 2026-02-25 00:33:38 +00:00
seonkyu.kim self-assigned this 2026-02-25 00:33:38 +00:00
seonkyu.kim added 1 commit 2026-02-25 00:33:38 +00:00
- Admin 엔티티에 AgreeTerms, AgreePrivacy, AgreedAt 필드 추가
- SignupRequestDto에 동의 필드 추가 (필수 검증)
- SignupResponseDto에 verifySessionId, emailSent 응답 추가
- AuthService.SignupAsync: 동의 검증, verify session 생성, 메일 발송 try-catch
- ErrorCodes에 TermsNotAgreed(114), PrivacyNotAgreed(115) 추가
- EF Core 마이그레이션 AddConsentFieldsToAdmin 생성/적용

Closes #202
seonkyu.kim added the
Priority
High
Status
In Progress
Type
Improvement
labels 2026-02-25 00:42:32 +00:00
seonkyu.kim requested review from Owners 2026-02-25 00:42:34 +00:00
seonkyu.kim merged commit 512585e7e7 into develop 2026-02-25 00:44:01 +00:00
seonkyu.kim deleted branch improvement/#202-signup-contract-extension 2026-02-25 00:44:13 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-26 00:24:17 +00:00
Sign in to join this conversation.
No description provided.