[Feature] 서비스 등록 API #52

Closed
opened 2026-02-10 00:35:03 +00:00 by seonkyu.kim · 0 comments
Owner

설명

새로운 서비스(프로젝트)를 등록하는 API를 구현한다.

  • API ID: API_SPMS_04_SERVICE_01
  • URI: POST /v1/in/service/create
  • 보안등급: 2단계 (JWT Bearer Token)
  • 참조: API_Specification.md §4, Feature_Spec.md SVC-01

체크리스트

Application Layer

  • SPMS.Application/DTOs/Service/CreateServiceRequestDto.cs — 요청 DTO (serviceName, description)
  • SPMS.Application/DTOs/Service/CreateServiceResponseDto.cs — 응답 DTO (serviceCode, apiKey, apiKeyCreatedAt)
  • SPMS.Application/Interfaces/IServiceManagementService.cs — CreateAsync 메서드 추가
  • SPMS.Application/Services/ServiceManagementService.cs — 서비스 생성 로직 구현

API Layer

  • SPMS.API/Controllers/ServiceController.csPOST /v1/in/service/create 엔드포인트 추가

구현 요구사항

  • ServiceCode 자동 생성 (NanoID 8자리)
  • API Key 자동 생성 + SHA-256 해시 저장 (평문은 응답에서 1회만 노출)
  • ServiceName 중복 검사 (에러코드 107)
  • CreatedBy는 JWT에서 AdminId 추출
  • 기본값: SubTier=Free, Status=Active, IsDeleted=false

검증

  • 빌드 성공 확인
## 설명 새로운 서비스(프로젝트)를 등록하는 API를 구현한다. - **API ID**: `API_SPMS_04_SERVICE_01` - **URI**: `POST /v1/in/service/create` - **보안등급**: 2단계 (JWT Bearer Token) - **참조**: API_Specification.md §4, Feature_Spec.md SVC-01 ## 체크리스트 ### Application Layer - [x] `SPMS.Application/DTOs/Service/CreateServiceRequestDto.cs` — 요청 DTO (serviceName, description) - [x] `SPMS.Application/DTOs/Service/CreateServiceResponseDto.cs` — 응답 DTO (serviceCode, apiKey, apiKeyCreatedAt) - [x] `SPMS.Application/Interfaces/IServiceManagementService.cs` — CreateAsync 메서드 추가 - [x] `SPMS.Application/Services/ServiceManagementService.cs` — 서비스 생성 로직 구현 ### API Layer - [x] `SPMS.API/Controllers/ServiceController.cs` — `POST /v1/in/service/create` 엔드포인트 추가 ### 구현 요구사항 - [x] ServiceCode 자동 생성 (NanoID 8자리) - [x] API Key 자동 생성 + SHA-256 해시 저장 (평문은 응답에서 1회만 노출) - [x] ServiceName 중복 검사 (에러코드 107) - [x] CreatedBy는 JWT에서 AdminId 추출 - [x] 기본값: SubTier=Free, Status=Active, IsDeleted=false ### 검증 - [x] 빌드 성공 확인
seonkyu.kim added the
Priority
High
Status
Available
Type
Feature
labels 2026-02-10 00:35:16 +00:00
seonkyu.kim self-assigned this 2026-02-10 00:35:54 +00:00
seonkyu.kim added this to the Phase 2-1: 인증 & 계정 & 서비스 API milestone 2026-02-10 00:35:55 +00:00
seonkyu.kim added
Status
Done
and removed
Status
Available
labels 2026-02-10 00:42:33 +00:00
Sign in to join this conversation.
No description provided.