Commit Graph

15 Commits

Author SHA1 Message Date
SEAN
1ca4980293 improvement: 태그 관리 API 프론트엔드 연동 수정 (#267)
- TagSummaryDto에 tag_index 필드 추가 (서비스별 Id 순서 1-based 동적 계산)
- ServiceSummaryDto/ServiceResponseDto에 service_id 필드 추가
- ServiceCodeMiddleware OPTIONAL_FOR_ADMIN에 /v1/in/tag 경로 추가

Closes #267
2026-03-02 13:43:14 +09:00
SEAN
17caeb08e2 improvement: 수정/삭제/진단 계약 확장 (#218)
- 플랫폼 자격증명 삭제 API 추가 (APNs/FCM 각각)
- 자격증명 진단 응답에 credentialStatus/statusReason 추가
- 수정 API에 Status 필드 추가 (원자적 상태 변경)
- Swagger Description 업데이트

Closes #218
2026-02-25 13:36:47 +09:00
SEAN
e3ed3d4267 improvement: 서비스 목록/상세 응답에 플랫폼 상태 판정 추가 (#216)
- PlatformSummaryDto / PlatformCredentialSummaryDto 신규 생성
- ServiceSummaryDto에 Platforms 필드 추가 (목록 응답)
- ServiceResponseDto에 ApnsAuthType + Platforms 필드 추가 (상세 응답)
- BuildPlatformSummary 메서드로 Android/iOS 상태 판정
  - Android: FcmCredentials 유무 → ok/none
  - iOS p8: → ok
  - iOS p12: 만료됨→error, 30일 이내→warn, 그 외→ok
- Swagger Description 업데이트

Closes #216
2026-02-25 13:21:30 +09:00
SEAN
d051ff3b97 improvement: APNs p12 인증서 지원 추가 (#214)
- Service 엔티티에 ApnsAuthType/ApnsCertificate/ApnsCertPassword/ApnsCertExpiresAt 추가
- EF Core Configuration + Migration (AddApnsP12Support)
- DTO: AuthType 분기 (p8/p12) 지원, p12 필드 추가
- 서비스 로직: AuthType별 검증/저장/조회 분기, X509CertificateLoader로 만료일 추출
- AuthType 전환 시 이전 타입 필드 null 초기화
- 컨트롤러 Swagger Description 업데이트

Closes #214
2026-02-25 13:01:55 +09:00
SEAN
4916488175 improvement: 서비스 통합 등록 플로우 구현 (#212)
- POST /v1/in/service/register 통합 등록 엔드포인트 추가
- RegisterServiceRequestDto/ResponseDto 신규 생성
- 서비스 생성 + FCM/APNs 자격증명을 트랜잭션으로 원자성 보장
- 검증 로직 private 메서드 추출 (기존 코드 재사용)
- 자격증명은 선택사항, 검증 실패 시 전체 롤백

Closes #212
2026-02-25 12:26:45 +09:00
SEAN
4577d8c10d improvement: 서비스명 중복 확인 API 및 전용 에러코드 추가 (#210)
- POST /v1/in/service/name/check 엔드포인트 추가
- ServiceNameDuplicate(134) 에러코드 추가
- CreateAsync/UpdateAsync 서비스명 중복 에러코드 변경
- CreateServiceRequestDto MinimumLength=2 검증 추가

Closes #210
2026-02-25 12:15:28 +09:00
SEAN
2aa676d60f feat: 웹훅 설정 API 구현 (#144)
Closes #144
2026-02-11 10:03:03 +09:00
SEAN
6879d5e1fd feat: 서비스 태그 목록/수정 API 구현 (#70)
- ServiceTagsRequestDto, UpdateServiceTagsRequestDto, ServiceTagsResponseDto 생성
- IServiceManagementService에 GetTagsAsync, UpdateTagsAsync 추가
- ServiceManagementService에 태그 JSON 파싱/직렬화 로직 구현
- ServiceController에 POST tags/list, tags/update 엔드포인트 추가
- 태그 최대 10개 제한, 변경 없음 감지

Closes #70
2026-02-10 11:27:37 +09:00
SEAN
65f2f914e7 feat: 서비스 삭제 API 구현 (#68)
- DeleteServiceRequestDto 생성 (service_code 필수)
- IServiceManagementService에 DeleteAsync 메서드 추가
- ServiceManagementService에 Soft Delete 로직 구현
  (IsDeleted=true, DeletedAt=UtcNow, Status=Suspended)
- ServiceController에 POST /v1/in/service/delete 엔드포인트 추가

Closes #68
2026-02-10 11:18:07 +09:00
SEAN
e1bab0cce6 feat: 서비스 수정 API 구현 (#54) 2026-02-10 09:44:36 +09:00
SEAN
21dc6e608c feat: 서비스 등록 API 구현 (#52) 2026-02-10 09:38:56 +09:00
c8a3d616c3 feat: IP 화이트리스트 관리 API 구현 (#50)
- IP 목록 조회, 추가, 삭제 API 구현
- IPv4 형식 검증 추가
- 중복 IP 체크 로직 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 00:52:41 +09:00
94e0b92780 feat: APNs/FCM 키 등록 및 조회 API 구현 (#48)
- APNs 키 등록 API (POST /v1/in/service/{serviceCode}/apns)
- FCM 키 등록 API (POST /v1/in/service/{serviceCode}/fcm)
- 키 정보 조회 API (POST /v1/in/service/{serviceCode}/credentials)
- AES-256 암호화로 민감 정보 저장
- 조회 시 메타 정보만 반환 (Private Key 미노출)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 00:28:47 +09:00
4cb54e4c41 feat: API Key 재발급 API 구현 (#46)
- ApiKeyRefreshResponseDto 추가
- IServiceManagementService.RefreshApiKeyAsync 인터페이스 추가
- ServiceManagementService.RefreshApiKeyAsync 구현 (32~64자 랜덤 키 생성)
- ServiceController.RefreshApiKeyAsync 엔드포인트 추가
2026-02-10 00:13:16 +09:00
cac56761f4 feat: 서비스 관리 API 구현 (#44)
- ServiceController: 서비스 목록/상세/상태변경 엔드포인트
- ServiceManagementService: 비즈니스 로직 구현
- Service DTOs: 요청/응답 DTO 4종
- DI 등록

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 00:01:33 +09:00