[Feature] 파일 업로드/조회/삭제 API (FILE_01~04) #98

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

📋 개요

파일(이미지/CSV) 업로드, 조회, 목록, 삭제 API를 구현합니다.

  • FILE_01: /v1/in/file/upload — 파일 업로드 (multipart/form-data)
  • FILE_02: /v1/in/file/info — 파일 메타데이터 조회
  • FILE_03: /v1/in/file/list — 파일 목록 조회 (페이징)
  • FILE_04: /v1/in/file/delete — 파일 삭제 (Soft Delete)

🔒 보안

  • JWT 인증 ([Authorize]) + X-Service-Code 헤더 (대시보드 API)
  • 파일 타입 검증 (image: jpg/png/gif, csv: csv)
  • 파일 크기 제한 (image: 5MB, csv: 50MB)

📐 설계

  • FileEntity에 IsDeleted/DeletedAt 추가 (Soft Delete 정책)
  • 로컬 디스크 저장 + FileStorage 설정 (appsettings.json)
  • AdminId는 JWT Claims에서, ServiceId는 X-Service-Code 미들웨어에서 획득

체크리스트

  • FileEntity에 IsDeleted/DeletedAt 추가
  • FileEntityConfiguration 업데이트
  • ErrorCodes에 File 에러코드 추가 (181~183)
  • IFileRepository 확장 (GetByIdAndServiceAsync, GetPagedByServiceAsync)
  • FileRepository 구현
  • DTOs 생성 (Upload/Info/List/Delete Request/Response)
  • IFileService 인터페이스 생성
  • FileService 구현
  • FileController 구현 (4 endpoints)
  • appsettings.json에 FileStorage 설정 추가
  • DI 등록 (Application + Infrastructure)
  • EF Core 마이그레이션 생성
  • 빌드 확인 (0 errors, 0 warnings)

📎 참고

  • API 명세: Documents/API_Specification.md 9.1~9.4
  • DB 스키마: Documents/DB_Schema.md 6. File
  • Milestone: Phase 2-2 (v0.3.0)
## 📋 개요 파일(이미지/CSV) 업로드, 조회, 목록, 삭제 API를 구현합니다. - **FILE_01**: `/v1/in/file/upload` — 파일 업로드 (multipart/form-data) - **FILE_02**: `/v1/in/file/info` — 파일 메타데이터 조회 - **FILE_03**: `/v1/in/file/list` — 파일 목록 조회 (페이징) - **FILE_04**: `/v1/in/file/delete` — 파일 삭제 (Soft Delete) ## 🔒 보안 - JWT 인증 ([Authorize]) + X-Service-Code 헤더 (대시보드 API) - 파일 타입 검증 (image: jpg/png/gif, csv: csv) - 파일 크기 제한 (image: 5MB, csv: 50MB) ## 📐 설계 - FileEntity에 IsDeleted/DeletedAt 추가 (Soft Delete 정책) - 로컬 디스크 저장 + FileStorage 설정 (appsettings.json) - AdminId는 JWT Claims에서, ServiceId는 X-Service-Code 미들웨어에서 획득 ## ✅ 체크리스트 - [x] FileEntity에 IsDeleted/DeletedAt 추가 - [x] FileEntityConfiguration 업데이트 - [x] ErrorCodes에 File 에러코드 추가 (181~183) - [x] IFileRepository 확장 (GetByIdAndServiceAsync, GetPagedByServiceAsync) - [x] FileRepository 구현 - [x] DTOs 생성 (Upload/Info/List/Delete Request/Response) - [x] IFileService 인터페이스 생성 - [x] FileService 구현 - [x] FileController 구현 (4 endpoints) - [x] appsettings.json에 FileStorage 설정 추가 - [x] DI 등록 (Application + Infrastructure) - [x] EF Core 마이그레이션 생성 - [x] 빌드 확인 (0 errors, 0 warnings) ## 📎 참고 - API 명세: `Documents/API_Specification.md` 9.1~9.4 - DB 스키마: `Documents/DB_Schema.md` 6. File - Milestone: Phase 2-2 (v0.3.0)
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Feature
labels 2026-02-10 05:57:16 +00:00
seonkyu.kim added this to the Phase 2-2: Public & 디바이스 & 파일 API milestone 2026-02-10 05:57:17 +00:00
seonkyu.kim self-assigned this 2026-02-10 05:58:48 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-10 06:15:48 +00:00
Sign in to join this conversation.
No description provided.