feat: 이용약관/개인정보처리방침 API 구현 (#84) #85

Merged
seonkyu.kim merged 1 commits from feature/#84-terms-privacy into develop 2026-02-10 05:09:00 +00:00
Owner

📋 작업 요약

  • 이용약관 URL 조회 API 구현 (POST /v1/in/public/terms)
  • 개인정보처리방침 URL 조회 API 구현 (POST /v1/in/public/privacy)
  • AppConfig 테이블에서 terms_url, privacy_url 키 값을 조회하여 반환

Closes #84

🛠️ 작업 내용 (Changes)

  • SPMS.Domain/Interfaces/IAppConfigRepository.cs — AppConfig 전용 Repository 인터페이스
  • SPMS.Application/DTOs/AppConfig/AppConfigResponseDto.cs — 응답 DTO (url)
  • SPMS.Application/Interfaces/IAppConfigService.cs — AppConfig 서비스 인터페이스
  • SPMS.Application/Services/AppConfigService.cs — AppConfig 서비스 구현 (GetTerms/GetPrivacy)
  • SPMS.Infrastructure/Persistence/Repositories/AppConfigRepository.cs — AppConfig Repository 구현
  • SPMS.Infrastructure/DependencyInjection.cs — IAppConfigRepository DI 등록
  • SPMS.Application/DependencyInjection.cs — IAppConfigService DI 등록
  • SPMS.API/Controllers/TermsController.cs — 이용약관/개인정보처리방침 컨트롤러

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

  • AppConfig 엔티티는 Phase 2-2 선행 이슈(#76)에서 이미 생성됨
  • 두 API가 동일한 로직(AppConfig 키 조회)이므로 하나의 Service에서 private 메서드로 공통 처리
  • 설정값이 없으면 url이 null로 반환됨 (에러 아님)

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - 이용약관 URL 조회 API 구현 (`POST /v1/in/public/terms`) - 개인정보처리방침 URL 조회 API 구현 (`POST /v1/in/public/privacy`) - AppConfig 테이블에서 `terms_url`, `privacy_url` 키 값을 조회하여 반환 ## 🔗 관련 이슈 (Related Issues) Closes #84 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Domain/Interfaces/IAppConfigRepository.cs` — AppConfig 전용 Repository 인터페이스 - [x] `SPMS.Application/DTOs/AppConfig/AppConfigResponseDto.cs` — 응답 DTO (url) - [x] `SPMS.Application/Interfaces/IAppConfigService.cs` — AppConfig 서비스 인터페이스 - [x] `SPMS.Application/Services/AppConfigService.cs` — AppConfig 서비스 구현 (GetTerms/GetPrivacy) - [x] `SPMS.Infrastructure/Persistence/Repositories/AppConfigRepository.cs` — AppConfig Repository 구현 - [x] `SPMS.Infrastructure/DependencyInjection.cs` — IAppConfigRepository DI 등록 - [x] `SPMS.Application/DependencyInjection.cs` — IAppConfigService DI 등록 - [x] `SPMS.API/Controllers/TermsController.cs` — 이용약관/개인정보처리방침 컨트롤러 ## 📢 리뷰어 참고 사항 (To Reviewers) - AppConfig 엔티티는 Phase 2-2 선행 이슈(#76)에서 이미 생성됨 - 두 API가 동일한 로직(AppConfig 키 조회)이므로 하나의 Service에서 private 메서드로 공통 처리 - 설정값이 없으면 url이 null로 반환됨 (에러 아님) ## ✅ 체크리스트 (Self Checklist) - [x] 빌드(Build)가 성공적으로 수행되었는가? - [x] 모든 단위 테스트(Unit Test)를 통과하였는가? - [x] 불필요한 로그나 주석을 제거하였는가? - [x] 컨벤션(Clean Architecture, Naming)을 준수하였는가? - [x] 기밀 정보(비밀번호, 키 등)가 하드코딩 되어있지 않은가? ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) ``` 빌드했습니다. 경고 0개 오류 0개 ```
seonkyu.kim added 1 commit 2026-02-10 05:07:40 +00:00
seonkyu.kim added the
Priority
Low
Status
In Progress
Type
Feature
labels 2026-02-10 05:07:47 +00:00
seonkyu.kim self-assigned this 2026-02-10 05:07:53 +00:00
seonkyu.kim added this to the Phase 2-2: Public & 디바이스 & 파일 API milestone 2026-02-10 05:07:59 +00:00
seonkyu.kim requested review from Owners 2026-02-10 05:08:05 +00:00
seonkyu.kim merged commit bd4d6424c4 into develop 2026-02-10 05:09:00 +00:00
seonkyu.kim deleted branch feature/#84-terms-privacy 2026-02-10 05:09:24 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 05:09:41 +00:00
Sign in to join this conversation.
No description provided.