feat: 서비스 태그 목록/수정 API 구현 (#70) #71

Merged
seonkyu.kim merged 1 commits from feature/#70-service-tags into develop 2026-02-10 02:30:58 +00:00
Owner

📋 작업 요약

  • 서비스 태그 목록 조회 API 구현 (API_SPMS_04_SERVICE_10)
  • 서비스 태그 수정 API 구현 (API_SPMS_04_SERVICE_11)

Closes #70

🛠️ 작업 내용 (Changes)

  • SPMS.Application/DTOs/Service/ServiceTagsRequestDto.cs — 태그 조회 요청 DTO
  • SPMS.Application/DTOs/Service/UpdateServiceTagsRequestDto.cs — 태그 수정 요청 DTO (최대 10개 제한)
  • SPMS.Application/DTOs/Service/ServiceTagsResponseDto.cs — 태그 응답 DTO (tag_index + tag_name)
  • SPMS.Application/Interfaces/IServiceManagementService.csGetTagsAsync, UpdateTagsAsync 추가
  • SPMS.Application/Services/ServiceManagementService.cs — 태그 JSON 파싱/직렬화 로직 구현
  • SPMS.API/Controllers/ServiceController.csPOST tags/list, POST tags/update 엔드포인트 추가

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

  • DB_Schema.md 기준 Service.tags는 JSON 문자열 ["남자", "여자", "어린이"] (최대 10개)
  • Device는 태그 인덱스(0-based)를 참조하므로 태그 순서가 중요 (기존 인덱스 변경 시 Device 태그 매핑에 영향)
  • 태그 수정 시 동일 내용이면 NoChange(105) 에러 반환
  • BuildTagsResponse 헬퍼로 JSON→DTO 변환 로직 재사용

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - 서비스 태그 목록 조회 API 구현 (API_SPMS_04_SERVICE_10) - 서비스 태그 수정 API 구현 (API_SPMS_04_SERVICE_11) ## 🔗 관련 이슈 (Related Issues) Closes #70 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Application/DTOs/Service/ServiceTagsRequestDto.cs` — 태그 조회 요청 DTO - [x] `SPMS.Application/DTOs/Service/UpdateServiceTagsRequestDto.cs` — 태그 수정 요청 DTO (최대 10개 제한) - [x] `SPMS.Application/DTOs/Service/ServiceTagsResponseDto.cs` — 태그 응답 DTO (tag_index + tag_name) - [x] `SPMS.Application/Interfaces/IServiceManagementService.cs` — `GetTagsAsync`, `UpdateTagsAsync` 추가 - [x] `SPMS.Application/Services/ServiceManagementService.cs` — 태그 JSON 파싱/직렬화 로직 구현 - [x] `SPMS.API/Controllers/ServiceController.cs` — `POST tags/list`, `POST tags/update` 엔드포인트 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - DB_Schema.md 기준 `Service.tags`는 JSON 문자열 `["남자", "여자", "어린이"]` (최대 10개) - Device는 태그 인덱스(0-based)를 참조하므로 태그 순서가 중요 (기존 인덱스 변경 시 Device 태그 매핑에 영향) - 태그 수정 시 동일 내용이면 NoChange(105) 에러 반환 - `BuildTagsResponse` 헬퍼로 JSON→DTO 변환 로직 재사용 ## ✅ 체크리스트 (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 02:28:41 +00:00
- ServiceTagsRequestDto, UpdateServiceTagsRequestDto, ServiceTagsResponseDto 생성
- IServiceManagementService에 GetTagsAsync, UpdateTagsAsync 추가
- ServiceManagementService에 태그 JSON 파싱/직렬화 로직 구현
- ServiceController에 POST tags/list, tags/update 엔드포인트 추가
- 태그 최대 10개 제한, 변경 없음 감지

Closes #70
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Feature
labels 2026-02-10 02:28:53 +00:00
seonkyu.kim added this to the Phase 2-1: 인증 & 계정 & 서비스 API milestone 2026-02-10 02:28:57 +00:00
seonkyu.kim self-assigned this 2026-02-10 02:29:05 +00:00
seonkyu.kim requested review from Owners 2026-02-10 02:29:10 +00:00
seonkyu.kim merged commit e288f28123 into develop 2026-02-10 02:30:58 +00:00
seonkyu.kim deleted branch feature/#70-service-tags 2026-02-10 02:31:16 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 02:33:24 +00:00
Sign in to join this conversation.
No description provided.