feat: 근로자 링크 전달 상태 기록·조회 API 구현 - #118
Merged
Merged
Conversation
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.
왜 필요한가요?
Closes #117
근로자 보안 링크를 발급한 상태와 HR이 외부 채널로 전달 완료한 상태를 구분해야 합니다. 기존에는 링크가 존재하기만 해도 업무함이
REQUEST_SENT로 표시되어, 아직 보내지 않은 링크도요청전송으로 보였습니다.무엇이 바뀌나요?
Worker Link 상태
delivery_status=NOT_SENTdelivery_status=SENTsent_at과 JWT Actor의sent_by저장NOT_SENT로 시작API
GET /api/v1/tasks/{taskId}/worker-linkPOST /api/v1/worker-links/{workerLinkId}/sentNOT_SENT → SENT단방향 전이라 반복 호출해도 기존sent_at과 감사로그가 유지됨worker_link_id,delivery_status,sent_at추가업무함 표시
NOT_SENT→DOCUMENT_PENDING(서류대기)SENT이고 응답 없음 →REQUEST_SENT(요청전송)REVIEW_REQUIRED(승인대기)REQUEST_SENT계산에서 제외보안·감사
WORKER_LINK_SENT감사 이벤트 생성Migration
V32__add_worker_link_delivery_status.sqlV33·V34로 조정 완료검증
./gradlew clean testNOT_SENT, 전달 후SENT통합 테스트sent_at과 감사로그 1건 검증Client 연결 기준
worker_link_id를 보관합니다.POST /api/v1/worker-links/{workerLinkId}/sent를 호출합니다.GET /api/v1/tasks/{taskId}/worker-link또는 Case Projection의 표시 상태를 사용합니다.