feat: 근로자 명단 파일 가져오기와 행 검증 API 구현 - #113
Merged
Merged
Conversation
hywznn
marked this pull request as ready for review
August 7, 2026 17:39
Contributor
|
현준님 #16 화면기준 SETTINGS가 05_Desktop Core Product 에는 없고, PWF3/Screen/SET-001 보고 하면 되는거 맞는지 내일 함만 확인 부탁드려요 |
Contributor
Author
사실 이건 피그마도 피그마인데 client 화면보고 하시는게 정배인 것 같습니다 일단 기반은 말씀하신대로 SEt-001이 맞습니다 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
왜 필요한가요?
Refs #14
HR이 CSV/XLSX 근로자 명단을 올린 뒤 곧바로 DB에 넣지 않고, 열 연결과 행별 오류 검토를 거쳐 선택한 정상 행만 안전하게 등록할 수 있어야 합니다.
사용 흐름
상태는
UPLOADED → MAPPED → REVIEW_REQUIRED 또는 READY → COMMITTED로 관리합니다.무엇이 바뀌나요?
Idempotency-Key와 version 검증을 적용했습니다.Idempotency-Key·요청 hash·성공 응답 snapshot을 별도 테이블에 보존해 A → B → A 재시도도 최초 A 결과를 반환합니다.409 IMPORT_IDEMPOTENCY_CONFLICT로 거부합니다.YYYY-MM-DD로 정규화합니다.주요 API
POST /api/v1/importsGET /api/v1/imports/{importId}PUT /api/v1/imports/{importId}/mappingsPOST /api/v1/imports/{importId}/validatePATCH /api/v1/imports/{importId}/rowsPOST /api/v1/imports/{importId}/commitPOST /api/v1/imports/{importId}/retryMigration
V32__create_worker_import.sqlV33__prepare_worker_import_rls.sql검증
./gradlew clean test성공남은 운영 연계
Draft 상태에서 API 계약, 개인정보 차단 범위와 migration 순서를 먼저 검토받습니다.