feat: 서비스 삭제 API 구현 (#68) #69

Merged
seonkyu.kim merged 1 commits from feature/#68-service-delete into develop 2026-02-10 02:21:26 +00:00
Owner

📋 작업 요약

  • 서비스 삭제(Soft Delete) API 구현 (API_SPMS_04_SERVICE_05)
  • POST /v1/in/service/delete 엔드포인트 추가

Closes #68

🛠️ 작업 내용 (Changes)

  • SPMS.Application/DTOs/Service/DeleteServiceRequestDto.cs — 삭제 요청 DTO 생성 (service_code 필수)
  • SPMS.Application/Interfaces/IServiceManagementService.csDeleteAsync 메서드 추가
  • SPMS.Application/Services/ServiceManagementService.cs — Soft Delete 로직 구현 (IsDeleted=true, DeletedAt=UtcNow, Status=Suspended)
  • SPMS.API/Controllers/ServiceController.csPOST /v1/in/service/delete 엔드포인트 추가

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

  • EF Core 글로벌 쿼리 필터(HasQueryFilter(e => !e.IsDeleted))에 의해 삭제된 서비스는 자동으로 모든 조회에서 제외됩니다
  • 이미 삭제된 서비스 재삭제 시 NotFound(103) 응답 (쿼리 필터에 의해 조회 불가)
  • 삭제 시 Status를 Suspended로 변경하여 API Key도 사실상 비활성화됩니다

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - 서비스 삭제(Soft Delete) API 구현 (API_SPMS_04_SERVICE_05) - `POST /v1/in/service/delete` 엔드포인트 추가 ## 🔗 관련 이슈 (Related Issues) Closes #68 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Application/DTOs/Service/DeleteServiceRequestDto.cs` — 삭제 요청 DTO 생성 (service_code 필수) - [x] `SPMS.Application/Interfaces/IServiceManagementService.cs` — `DeleteAsync` 메서드 추가 - [x] `SPMS.Application/Services/ServiceManagementService.cs` — Soft Delete 로직 구현 (IsDeleted=true, DeletedAt=UtcNow, Status=Suspended) - [x] `SPMS.API/Controllers/ServiceController.cs` — `POST /v1/in/service/delete` 엔드포인트 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - EF Core 글로벌 쿼리 필터(`HasQueryFilter(e => !e.IsDeleted)`)에 의해 삭제된 서비스는 자동으로 모든 조회에서 제외됩니다 - 이미 삭제된 서비스 재삭제 시 NotFound(103) 응답 (쿼리 필터에 의해 조회 불가) - 삭제 시 Status를 Suspended로 변경하여 API Key도 사실상 비활성화됩니다 ## ✅ 체크리스트 (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:18:39 +00:00
- DeleteServiceRequestDto 생성 (service_code 필수)
- IServiceManagementService에 DeleteAsync 메서드 추가
- ServiceManagementService에 Soft Delete 로직 구현
  (IsDeleted=true, DeletedAt=UtcNow, Status=Suspended)
- ServiceController에 POST /v1/in/service/delete 엔드포인트 추가

Closes #68
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Feature
labels 2026-02-10 02:18:51 +00:00
seonkyu.kim added this to the Phase 2-1: 인증 & 계정 & 서비스 API milestone 2026-02-10 02:18:55 +00:00
seonkyu.kim self-assigned this 2026-02-10 02:19:00 +00:00
seonkyu.kim requested review from Owners 2026-02-10 02:19:06 +00:00
seonkyu.kim merged commit cc10378efa into develop 2026-02-10 02:21:26 +00:00
seonkyu.kim deleted branch feature/#68-service-delete 2026-02-10 02:21:45 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 02:22:03 +00:00
Sign in to join this conversation.
No description provided.