diff --git a/apps/timo-web/api/generated/endpoints/todo/todo.ts b/apps/timo-web/api/generated/endpoints/todo/todo.ts index ba2c70bb..0fd8f0fe 100644 --- a/apps/timo-web/api/generated/endpoints/todo/todo.ts +++ b/apps/timo-web/api/generated/endpoints/todo/todo.ts @@ -17,6 +17,7 @@ import type { BaseResponseTodoDetailResponse, BaseResponseTodoReorderResponse, BaseResponseTodoStatusChangeResponse, + ChangeSubtaskStatusParams, ErrorDto, GetTodoDetailParams, SubtaskStatusUpdateRequest, @@ -509,6 +510,7 @@ export const changeSubtaskStatus = ( todoId: number, subtaskId: number, subtaskStatusUpdateRequest: BodyType, + params: ChangeSubtaskStatusParams, options?: SecondParameter, signal?: AbortSignal, ) => { @@ -518,6 +520,7 @@ export const changeSubtaskStatus = ( method: "PATCH", headers: { "Content-Type": "application/json" }, data: subtaskStatusUpdateRequest, + params, signal, }, options, @@ -535,6 +538,7 @@ export const getChangeSubtaskStatusMutationOptions = < todoId: number; subtaskId: number; data: BodyType; + params: ChangeSubtaskStatusParams; }, TContext >; @@ -546,6 +550,7 @@ export const getChangeSubtaskStatusMutationOptions = < todoId: number; subtaskId: number; data: BodyType; + params: ChangeSubtaskStatusParams; }, TContext > => { @@ -564,11 +569,12 @@ export const getChangeSubtaskStatusMutationOptions = < todoId: number; subtaskId: number; data: BodyType; + params: ChangeSubtaskStatusParams; } > = (props) => { - const { todoId, subtaskId, data } = props ?? {}; + const { todoId, subtaskId, data, params } = props ?? {}; - return changeSubtaskStatus(todoId, subtaskId, data, requestOptions); + return changeSubtaskStatus(todoId, subtaskId, data, params, requestOptions); }; return { mutationFn, ...mutationOptions }; @@ -596,6 +602,7 @@ export const useChangeSubtaskStatus = < todoId: number; subtaskId: number; data: BodyType; + params: ChangeSubtaskStatusParams; }, TContext >; @@ -609,6 +616,7 @@ export const useChangeSubtaskStatus = < todoId: number; subtaskId: number; data: BodyType; + params: ChangeSubtaskStatusParams; }, TContext > => { diff --git a/apps/timo-web/api/generated/models/changeSubtaskStatusParams.ts b/apps/timo-web/api/generated/models/changeSubtaskStatusParams.ts new file mode 100644 index 00000000..0522f55d --- /dev/null +++ b/apps/timo-web/api/generated/models/changeSubtaskStatusParams.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v8.20.0 🍺 + * Do not edit manually. + * Timo API + * Timo 서버 API 명세서 + * OpenAPI spec version: v1 + */ + +export interface ChangeSubtaskStatusParams { + /** + * 완료 상태를 변경할 날짜 (ISO). 반복 TODO는 날짜별로 완료가 분리됩니다. + */ + date: string; +} diff --git a/apps/timo-web/api/generated/models/index.ts b/apps/timo-web/api/generated/models/index.ts index e4e610e7..a9b38cd3 100644 --- a/apps/timo-web/api/generated/models/index.ts +++ b/apps/timo-web/api/generated/models/index.ts @@ -49,6 +49,7 @@ export * from "./calendarDayResponse"; export * from "./calendarDisconnectResponse"; export * from "./calendarEventResponse"; export * from "./calendarEventsResponse"; +export * from "./changeSubtaskStatusParams"; export * from "./dailyTodoResponse"; export * from "./dayCompletionResponse"; export * from "./dayResponse"; diff --git a/apps/timo-web/api/generated/models/todoSubtaskUpdateRequest.ts b/apps/timo-web/api/generated/models/todoSubtaskUpdateRequest.ts index 550da0d5..10420e0d 100644 --- a/apps/timo-web/api/generated/models/todoSubtaskUpdateRequest.ts +++ b/apps/timo-web/api/generated/models/todoSubtaskUpdateRequest.ts @@ -10,5 +10,4 @@ export interface TodoSubtaskUpdateRequest { subtaskId?: number; /** @minLength 1 */ content: string; - completed: boolean; } diff --git a/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/home/_hooks/use-home-todos-by-date.ts b/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/home/_hooks/use-home-todos-by-date.ts index 2372754d..a5cd937f 100644 --- a/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/home/_hooks/use-home-todos-by-date.ts +++ b/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/home/_hooks/use-home-todos-by-date.ts @@ -234,7 +234,12 @@ export const useHomeTodosByDate = ( })); changeSubtaskStatus( - { todoId, subtaskId, data: { isCompleted: completed } }, + { + todoId, + subtaskId, + data: { isCompleted: completed }, + params: { date: dateKey }, + }, { onSuccess: () => { invalidateHomeAndFocus(); diff --git a/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_hooks/useTodayTodoList.ts b/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_hooks/useTodayTodoList.ts index 99b4cf8b..bf8975fc 100644 --- a/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_hooks/useTodayTodoList.ts +++ b/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_hooks/useTodayTodoList.ts @@ -233,7 +233,12 @@ export const useTodayTodoList = ( ); changeSubtaskStatus( - { todoId, subtaskId, data: { isCompleted: completed } }, + { + todoId, + subtaskId, + data: { isCompleted: completed }, + params: { date: dateKey }, + }, { onSuccess: () => { invalidateTodayView(); diff --git a/apps/timo-web/app/[locale]/(main)/focus/_hooks/use-focus-session.ts b/apps/timo-web/app/[locale]/(main)/focus/_hooks/use-focus-session.ts index 066e8575..ee97c800 100644 --- a/apps/timo-web/app/[locale]/(main)/focus/_hooks/use-focus-session.ts +++ b/apps/timo-web/app/[locale]/(main)/focus/_hooks/use-focus-session.ts @@ -208,6 +208,7 @@ export const useFocusSession = ({ todoId: todo.todoId, subtaskId, data: { isCompleted: completed }, + params: { date: focusView.date }, }); }; diff --git a/apps/timo-web/hooks/todo-modal/detail/use-toggle-subtask-submit.ts b/apps/timo-web/hooks/todo-modal/detail/use-toggle-subtask-submit.ts index 049c0b2f..df429fb4 100644 --- a/apps/timo-web/hooks/todo-modal/detail/use-toggle-subtask-submit.ts +++ b/apps/timo-web/hooks/todo-modal/detail/use-toggle-subtask-submit.ts @@ -35,7 +35,12 @@ export const useToggleSubtaskSubmit = () => { { onSuccess, onError }: ToggleSubtaskSubmitHandlers = {}, ) => { changeSubtaskStatus( - { todoId, subtaskId, data: { isCompleted: completed } }, + { + todoId, + subtaskId, + data: { isCompleted: completed }, + params: { date }, + }, { onSuccess: () => { queryClient.invalidateQueries({ queryKey: getGetHomeQueryKey() }); diff --git a/apps/timo-web/utils/todo/detail-todo-update-request.ts b/apps/timo-web/utils/todo/detail-todo-update-request.ts index 1a0fb4ed..d31fd790 100644 --- a/apps/timo-web/utils/todo/detail-todo-update-request.ts +++ b/apps/timo-web/utils/todo/detail-todo-update-request.ts @@ -27,7 +27,6 @@ export const buildDetailTodoSubtasksUpdateRequest = ( .map((subtask) => ({ subtaskId: subtask.subtaskId ?? undefined, content: subtask.value.trim(), - completed: subtask.completed, })) .filter((subtask) => subtask.content.length > 0);