diff --git a/frontend/src/composables/useTask.ts b/frontend/src/composables/useTask.ts index ceac95c..83f48d5 100644 --- a/frontend/src/composables/useTask.ts +++ b/frontend/src/composables/useTask.ts @@ -3,28 +3,30 @@ import type { ApiAttachment, ApiComment, ApiCommentReply, - ApiRepoTask, + ApiRepoTaskListResult, ApiTaskDetail, CreateTaskPayload, TaskListQuery, UpdateTaskPayload, } from '@/types/task' import type { TaskStatus } from '@/mock/relay.mock' -import type { Paginated } from '@/types/pagination' +import { DEFAULT_PAGE_SIZE } from '@/types/pagination' // 업무 도메인 API Composable — 인터셉터가 success/data 를 언래핑 // 경로는 모두 repoId(slugName) 하위: /repos/:repoId/tasks[/:taskId] export function useTask() { const api = useApi() - // 업무 목록 (상태/담당자 필터 선택) — 백엔드가 페이지네이션 { items, total, ... } 반환 + // 업무 목록 (세그먼트/검색/담당자 필터 + 페이지네이션) — 응답에 세그먼트 카운트 동봉 async function list( repoId: string, query: TaskListQuery = {}, - ): Promise> { + page = 1, + size = DEFAULT_PAGE_SIZE, + ): Promise { return (await api.get(`/repos/${repoId}/tasks`, { - params: query, - })) as unknown as Paginated + params: { ...query, page, size }, + })) as unknown as ApiRepoTaskListResult } // 업무 단건 상세 (taskId = 저장소 내 순번) diff --git a/frontend/src/pages/relay/RepoDetailPage.vue b/frontend/src/pages/relay/RepoDetailPage.vue index 3cc186b..38ba2a4 100644 --- a/frontend/src/pages/relay/RepoDetailPage.vue +++ b/frontend/src/pages/relay/RepoDetailPage.vue @@ -1,6 +1,8 @@