Closed ddubbu closed 3 years ago
const [ board, setBoard ] = useState({
id : 1, // 숫자, 문자열 혼동 조심
title : 'project',
admin_userId : 1,
prg_priority : '2,1' // (progress_id 순서) 관계는 부모가 갖고 있음 board - prg 관계는 board가 관여
})
const [ progresses, setProgresses ] = useState({
// 객체 형태로 주어야할 것 같음. >> 원활한 state update를 위해서
1 : { // key = progress_id
id : 1, // <ProgressList /> name 세팅을 위해서
title : '안녕',
task_priority : '1,2'
},
2 : {
id : 2,
title : 'progress 2',
task_priority : '3', //'3,4'
},
})
const [ tasks, setTasks ] = useState({
1: { // key = card_id
id : 1,
title : 'task card 1',
description: '내용입니다'
},
2: {
id : 2,
title : 'task card 2',
description: '내용입니다'
},
3: {
id : 3,
title : 'task card 3',
description: '내용입니다'
},
4: {
id : 4,
title : 'task card 4',
description: '내용입니다'
}
})
progress 순서 변경 상황 : progress 추가, 삭제, 순서 변화
이때, board.prg_priority & progress.id 모두 변경된다. 즉 두개의 테이블을 건드려야한다. 우리의 고민은, 어떻게하면 Restful API 를 작성할 수 있는가?
GET /board/:board_id/tasks (특정 board 에서 task 리스트를 가져온다.) --- join 2번 신경쓰시고
POST /board/:board_id/progress/:progress_id/tasks (특정 board에 task 를 추가한다.) task_priority, title, description 줄거임
PATCH /board/:board_id/progress/:progress_id/tasks/:task_id ( 제목 및 내용 수정) title, description 줄거임
PATCH /board/:board_id/progress/:progress_id/tasks/ (task 순서 수정) ? /board/:board_id/tasks/ (이게 더 맞긴 한데
3가지 수정 // case1 : source.prgId === target.prgId // -> progress 한곳만 수정 // case2 : source.prgId !== target.prgId // -> source, target, task join 3곳을 수정해야한다
task_id source = { prg_id, task_priority }, target = { // 옵션 같은 곳에서 옮길 수 있어서 prg_id, task_priority }
DELETE /board/:board_id/progress/:progress_id/tasks/:task_id (task 삭제) task_priority 줄거임 progress 에서 순서 수정하고, task 도 삭제
2월 8일 API 임시 완료 https://eton-1.gitbook.io/eton/untitled
Task Card
Assignee: @ddubbu
Job Description
2월 8일
결과물