diff --git a/apps/frontend/src/modules/assessmentManagement/queries/assessmentQueries.ts b/apps/frontend/src/modules/assessmentManagement/queries/assessmentQueries.ts index 652c5a0..e9a2e25 100644 --- a/apps/frontend/src/modules/assessmentManagement/queries/assessmentQueries.ts +++ b/apps/frontend/src/modules/assessmentManagement/queries/assessmentQueries.ts @@ -1,8 +1,17 @@ import client from "@/honoClient"; import fetchRPC from "@/utils/fetchRPC"; -import { queryOptions } from "@tanstack/react-query"; +import { queryOptions, useMutation, UseMutationOptions } from "@tanstack/react-query"; import { InferRequestType } from "hono"; +type SubmitOptionResponse = { + message: string; + answer: { + id: string; + createdAt: string | null; + validationInformation: string; + }; +}; + // Query untuk mendapatkan skor assessment saat ini export const getCurrentAssessmentScoreQueryOptions = (assessmentId: string) => queryOptions({ @@ -117,4 +126,26 @@ export const getAverageScoreSubAspectQueryOptions = (assessmentId: string) => }, }) ), - }); \ No newline at end of file + }); + +export const submitOption = async (form: { + optionId: string; + assessmentId: string; + questionId: string; + isFlagged?: boolean; + filename?: string; +}): Promise => { + return await fetchRPC( + client.assessments.submitOption.$post({ + json: form, + }) + ); +}; + +export const submitOptionMutationOptions: () => UseMutationOptions< + SubmitOptionResponse, + Error, + Parameters[0] +> = () => ({ + mutationFn: submitOption, +}); \ No newline at end of file