-
Notifications
You must be signed in to change notification settings - Fork 0
[Task][P2] Case 상세 담당자 지정·변경 API 구현 #142
Copy link
Copy link
Closed
Labels
area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외Spring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P2일정에 따라 미룰 수 있는 보완 작업일정에 따라 미룰 수 있는 보완 작업status:in-progress담당자가 현재 구현 중인 작업담당자가 현재 구현 중인 작업type:feature사용자 또는 Agent가 사용하는 기능 개발사용자 또는 Agent가 사용하는 기능 개발
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외Spring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P2일정에 따라 미룰 수 있는 보완 작업일정에 따라 미룰 수 있는 보완 작업status:in-progress담당자가 현재 구현 중인 작업담당자가 현재 구현 중인 작업type:feature사용자 또는 Agent가 사용하는 기능 개발사용자 또는 Agent가 사용하는 기능 개발
한 줄 목표
Case 상세 화면에서 같은 사업장의 활성 HR·관리자를 Task 담당자로 지정·변경하고, 새로고침 후에도 담당자가 유지되도록 합니다.
GET /api/v1/company-members왜 필요한가요?
현재 Client의 Case 상세에는 담당자 변경 버튼이 있지만 Server에는 담당자를 저장할
assignee_id와 변경 API가 없습니다.created_by와updated_by는 각각 생성자와 마지막 수정자를 뜻하므로 현재 업무 담당자로 사용할 수 없습니다.API 계약
담당자 변경
{ "assignee_id": "7e2722bb-3c72-4aa0-b37c-28931c4f8e53", "expected_version": 3 }성공 시 변경된 Task 상세를 반환합니다.
담당자 후보 조회
기존 API를 그대로 사용합니다.
구현 범위
assignee_id추가PATCH /api/v1/tasks/{taskId}/assignee구현expected_version기반 동시 수정 충돌 처리오류 규칙
400: 요청 형식 또는 필수값 오류403: VIEWER 등 변경 권한 없음404: Task가 없거나 다른 사업장 Task·사용자를 요청409: 오래된expected_version422: 비활성 사용자 또는 담당자로 지정할 수 없는 사용자보안·데이터 규칙
company_id는 요청에서 받지 않고 JWT의 ActorContext로 결정DB·충돌 주의
task에assignee_id와 tenant-aware FK를 추가합니다.완료 기준