update: change queries for get answers query options

This commit is contained in:
abiyasa05 2024-11-08 09:24:24 +07:00
parent bdca7a19cf
commit be5152baff

View File

@ -36,17 +36,37 @@ export const getQuestionsAllQueryOptions = (page: number, limit: number, q?: str
}); });
// Query untuk mendapatkan jawaban berdasarkan assessment ID // Query untuk mendapatkan jawaban berdasarkan assessment ID
export const getAnswersQueryOptions = (assessmentId: string, page: number, limit: number, q?: string) => export const getAnswersQueryOptions = (
queryOptions({ assessmentId: string,
page: number,
limit: number,
q: string = "",
enabled: boolean = true
) => {
return queryOptions({
queryKey: ["assessment", { assessmentId, page, limit, q }], queryKey: ["assessment", { assessmentId, page, limit, q }],
queryFn: () => queryFn: () =>
fetchRPC( fetchRPC(
client.assessments.getAnswers.$get({ client.assessments.getAnswers.$get({
query: { query: {
assessmentId, assessmentId,
limit: String(limit), },
page: String(page), })
q: q || "", ).then((res) => {
return res;
}),
enabled,
});
};
export const getAllAnswer = (assessmentId: string) =>
queryOptions({
queryKey: ["Ans", { assessmentId }],
queryFn: () =>
fetchRPC(
client.assessments.getAllAnswers[":assessmentId"].$get({
param: {
assessmentId,
}, },
}) })
), ),
@ -56,7 +76,7 @@ export const getAnswersQueryOptions = (assessmentId: string, page: number, limit
export const toggleFlagAnswer = async (questionId: string) => { export const toggleFlagAnswer = async (questionId: string) => {
return await fetchRPC( return await fetchRPC(
client.assessments[":questionId"].toggleFlag.$patch({ client.assessments[":questionId"].toggleFlag.$patch({
param: { questionId } param: { questionId },
}) })
); );
}; };
@ -102,7 +122,7 @@ export const submitOptionMutationOptions: UseMutationOptions<
mutationFn: submitOption, mutationFn: submitOption,
}; };
export const submitValidation = async ( export const submitValidationQuery = async (
form: { form: {
assessmentId: string; assessmentId: string;
questionId: string; questionId: string;
@ -115,19 +135,20 @@ export const submitValidation = async (
...form, ...form,
assessmentId: String(form.assessmentId), assessmentId: String(form.assessmentId),
questionId: String(form.questionId), questionId: String(form.questionId),
validationInformation: form.validationInformation,
}, },
}) })
); );
}; };
export const submitValidationMutationOptions = () => ({ export const submitValidationMutationOptions = () => ({
mutationFn: submitValidation, mutationFn: submitValidationQuery,
}); });
// Function to upload a file // Function to upload a file
const uploadFile = async (formData: FormData, assessmentId: string, questionId: string) => { const uploadFile = async (formData: FormData, assessmentId: string, questionId: string) => {
const token = localStorage.getItem('accessToken'); const token = localStorage.getItem('accessToken');
const response = await fetch(`${import.meta.env.VITE_BACKEND_BASE_URL}/assessments/uploadFile?assessmentId=${assessmentId}&questionId=${questionId}`, { const response = await fetch(`${import.meta.env.VITE_BACKEND_BASE_URL}/assessments/uploadFile?assessmentId=${assessmentId}&questionId=${questionId}`, {
method: 'POST', method: 'POST',
body: formData, body: formData,
@ -138,7 +159,6 @@ const uploadFile = async (formData: FormData, assessmentId: string, questionId:
if (!response.ok) { if (!response.ok) {
const errorData = await response.json(); const errorData = await response.json();
console.error('Error Data:', errorData);
throw new Error(errorData.message || 'Error uploading file'); throw new Error(errorData.message || 'Error uploading file');
} }