improvement: 관리자 기기 삭제/차단 API 추가 (#239) #240

Merged
seonkyu.kim merged 1 commits from improvement/#239-device-admin-delete into develop 2026-02-25 08:12:49 +00:00
Owner

📋 작업 요약

  • 관리자용 기기 삭제 API(POST /v1/in/device/admin/delete) 추가
  • JWT 인증 기반, 서비스 스코프 없이 deviceId만으로 삭제
  • 삭제 즉시 IsActive=false + 토큰 캐시 무효화로 발송 차단

Closes #239

🛠️ 작업 내용 (Changes)

  • SPMS.Application/Interfaces/IDeviceService.cs — AdminDeleteAsync(long deviceId) 추가
  • SPMS.Application/Services/DeviceService.cs — AdminDeleteAsync 구현 (Device 조회 → IsActive=false → 토큰 캐시 무효화)
  • SPMS.API/Controllers/DeviceController.cs — POST admin/delete [Authorize] 엔드포인트 추가

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

  • 기존 POST /v1/in/device/delete(SDK/X-API-KEY 용도)는 변경 없이 유지
  • 관리자 삭제는 서비스 스코프 없이 deviceId로 직접 조회 (IRepository.GetByIdAsync 사용)
  • 기존 DeviceDeleteRequestDto(device_id) 재사용하여 새 DTO 생성 불필요

체크리스트 (Self Checklist)

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

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

빌드했습니다.
    경고 0개
    오류 0개
## 📋 작업 요약 - 관리자용 기기 삭제 API(`POST /v1/in/device/admin/delete`) 추가 - JWT 인증 기반, 서비스 스코프 없이 deviceId만으로 삭제 - 삭제 즉시 IsActive=false + 토큰 캐시 무효화로 발송 차단 ## 🔗 관련 이슈 (Related Issues) Closes #239 ## 🛠️ 작업 내용 (Changes) - [x] `SPMS.Application/Interfaces/IDeviceService.cs` — AdminDeleteAsync(long deviceId) 추가 - [x] `SPMS.Application/Services/DeviceService.cs` — AdminDeleteAsync 구현 (Device 조회 → IsActive=false → 토큰 캐시 무효화) - [x] `SPMS.API/Controllers/DeviceController.cs` — POST admin/delete [Authorize] 엔드포인트 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - 기존 `POST /v1/in/device/delete`(SDK/X-API-KEY 용도)는 변경 없이 유지 - 관리자 삭제는 서비스 스코프 없이 deviceId로 직접 조회 (IRepository.GetByIdAsync 사용) - 기존 DeviceDeleteRequestDto(device_id) 재사용하여 새 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-25 08:10:35 +00:00
- IDeviceService: AdminDeleteAsync(long deviceId) 추가
- DeviceService: Device 조회 → IsActive=false → 토큰 캐시 무효화
- DeviceController: POST /v1/in/device/admin/delete [Authorize] 엔드포인트 추가
- 기존 SDK 삭제 API와 분리, JWT 인증 기반 관리자 전용

Closes #239
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Improvement
labels 2026-02-25 08:10:48 +00:00
seonkyu.kim self-assigned this 2026-02-25 08:10:52 +00:00
seonkyu.kim added this to the Phase 3: 운영 기능 milestone 2026-02-25 08:10:57 +00:00
seonkyu.kim requested review from Owners 2026-02-25 08:11:04 +00:00
seonkyu.kim merged commit 76873e7fbc into develop 2026-02-25 08:12:49 +00:00
seonkyu.kim deleted branch improvement/#239-device-admin-delete 2026-02-25 08:13:10 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-25 08:13:14 +00:00
Sign in to join this conversation.
No description provided.