[Feature] 디바이스 CRUD + 목록 API 구현 #94

Closed
opened 2026-02-10 05:41:01 +00:00 by seonkyu.kim · 0 comments
Owner

설명

디바이스 등록/조회/수정/삭제 및 목록 API를 구현한다.

  • DEVICE_01~04: SDK에서 호출 (X-API-KEY 인증)
  • DEVICE_07: 대시보드에서 호출 (JWT + X-Service-Code 인증)

API 명세

API ID URI 설명 인증
DEVICE_01 POST /v1/in/device/register 디바이스 등록 API Key
DEVICE_02 POST /v1/in/device/info 디바이스 조회 API Key
DEVICE_03 POST /v1/in/device/update 디바이스 수정 API Key
DEVICE_04 POST /v1/in/device/delete 디바이스 삭제 API Key
DEVICE_07 POST /v1/in/device/list 디바이스 목록 JWT

체크리스트

DTOs

  • DeviceRegisterRequestDto.cs / DeviceRegisterResponseDto.cs
  • DeviceInfoRequestDto.cs / DeviceInfoResponseDto.cs
  • DeviceUpdateRequestDto.cs
  • DeviceDeleteRequestDto.cs
  • DeviceListRequestDto.cs / DeviceListResponseDto.cs

Service Layer

  • IDeviceService.cs — 인터페이스 정의
  • DeviceService.cs — 비즈니스 로직 구현

Repository Layer

  • IDeviceRepository.cs — 메서드 추가 (GetByIdAndServiceAsync, GetPagedAsync)
  • DeviceRepository.cs — 구현체

API Layer

  • DeviceController.cs — 5개 엔드포인트

Middleware 수정

  • ServiceCodeMiddleware.cs — /v1/in/device 경로 제외 (list 제외)
  • ApiKeyMiddleware.cs — /v1/in/device/list 경로 제외

DI & 기타

  • ErrorCodes.cs — Device 에러코드 추가
  • Infrastructure/DependencyInjection.cs — DeviceRepository 등록
  • Application/DependencyInjection.cs — DeviceService 등록
  • 빌드 성공 확인
## 설명 디바이스 등록/조회/수정/삭제 및 목록 API를 구현한다. - DEVICE_01~04: SDK에서 호출 (X-API-KEY 인증) - DEVICE_07: 대시보드에서 호출 (JWT + X-Service-Code 인증) ## API 명세 | API ID | URI | 설명 | 인증 | |--------|-----|------|------| | DEVICE_01 | `POST /v1/in/device/register` | 디바이스 등록 | API Key | | DEVICE_02 | `POST /v1/in/device/info` | 디바이스 조회 | API Key | | DEVICE_03 | `POST /v1/in/device/update` | 디바이스 수정 | API Key | | DEVICE_04 | `POST /v1/in/device/delete` | 디바이스 삭제 | API Key | | DEVICE_07 | `POST /v1/in/device/list` | 디바이스 목록 | JWT | ## 체크리스트 ### DTOs - [x] `DeviceRegisterRequestDto.cs` / `DeviceRegisterResponseDto.cs` - [x] `DeviceInfoRequestDto.cs` / `DeviceInfoResponseDto.cs` - [x] `DeviceUpdateRequestDto.cs` - [x] `DeviceDeleteRequestDto.cs` - [x] `DeviceListRequestDto.cs` / `DeviceListResponseDto.cs` ### Service Layer - [x] `IDeviceService.cs` — 인터페이스 정의 - [x] `DeviceService.cs` — 비즈니스 로직 구현 ### Repository Layer - [x] `IDeviceRepository.cs` — 메서드 추가 (GetByIdAndServiceAsync, GetPagedAsync) - [x] `DeviceRepository.cs` — 구현체 ### API Layer - [x] `DeviceController.cs` — 5개 엔드포인트 ### Middleware 수정 - [x] `ServiceCodeMiddleware.cs` — /v1/in/device 경로 제외 (list 제외) - [x] `ApiKeyMiddleware.cs` — /v1/in/device/list 경로 제외 ### DI & 기타 - [x] `ErrorCodes.cs` — Device 에러코드 추가 - [x] `Infrastructure/DependencyInjection.cs` — DeviceRepository 등록 - [x] `Application/DependencyInjection.cs` — DeviceService 등록 - [x] 빌드 성공 확인
seonkyu.kim added the
Priority
High
Status
In Progress
Type
Feature
labels 2026-02-10 05:41:09 +00:00
seonkyu.kim self-assigned this 2026-02-10 05:41:13 +00:00
seonkyu.kim added this to the Phase 2-2: Public & 디바이스 & 파일 API milestone 2026-02-10 05:41:14 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 05:47:31 +00:00
Sign in to join this conversation.
No description provided.