Skip to content

[Feat] 스캔 오케스트레이션 + 스캔 API#21

Merged
xYunaL merged 3 commits into
devfrom
feat/#20-scan
Jun 6, 2026
Merged

[Feat] 스캔 오케스트레이션 + 스캔 API#21
xYunaL merged 3 commits into
devfrom
feat/#20-scan

Conversation

@xYunaL

@xYunaL xYunaL commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

🔗 Related Issue

📝 Summary

업로드 이미지 → OCR → 위험도 판정 → 저장/조회를 잇는 비동기 스캔 파이프라인.
AI 서비스 미배포여도 AiClient 모킹으로 검증.

🚀 Key Changes

  • POST /api/v1/scans(202) + GET /api/v1/scans/{id} (ScanController)
  • ScanProcessor(@async): readSAS→OCR→needs_retake→프로필매핑→RuleEngine→index머지→영속화, 실패 시 FAILED
  • ScanService(startScan 비트랜잭션→비동기 트리거 / getScan 소유권)
  • title 요청 미수신, 응답은 수정본 or null(기본 제목은 FE 로케일 포맷)
  • 지원 변경: ErrorCode.SCAN_NOT_FOUND, BlobStorageService.blobUrl(), ScanSession.applyOcrResult()
  • 테스트 9종(ScanProcessor/ScanService/ScanController), 전체 66 그린

💥 Breaking Changes

  • 없음 - — 신규 엔드포인트·메서드 추가, DB 스키마 변경 없음

@xYunaL xYunaL self-assigned this Jun 6, 2026
@xYunaL xYunaL added the ✨ feature New feature or request label Jun 6, 2026
@xYunaL xYunaL merged commit 6ce897c into dev Jun 6, 2026
1 check passed
@xYunaL xYunaL deleted the feat/#20-scan branch June 6, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant