feat: added exam modules

This commit is contained in:
mengstabketemaw
2026-06-26 12:10:38 +03:00
parent ba4cb63423
commit d7420d2de6
16 changed files with 1959 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
import { baseApi } from '@ema-platform/api';
import type {
Question,
ListResponse,
CreateQuestionPayload,
UpdateQuestionPayload,
} from '../types/question';
const questionApi = baseApi.injectEndpoints({
endpoints: (builder) => ({
getQuestions: builder.query<ListResponse<Question>, void>({
query: () => '/questions',
providesTags: ['Api'],
}),
getQuestion: builder.query<Question, string>({
query: (id) => `/questions/${id}`,
providesTags: ['Api'],
}),
createQuestion: builder.mutation<Question, CreateQuestionPayload>({
query: (body) => ({ url: '/questions', method: 'POST', body }),
invalidatesTags: ['Api'],
}),
updateQuestion: builder.mutation<Question, UpdateQuestionPayload>({
query: ({ id, ...body }) => ({
url: `/questions/${id}`,
method: 'PUT',
body,
}),
invalidatesTags: ['Api'],
}),
deleteQuestion: builder.mutation<void, string>({
query: (id) => ({ url: `/questions/${id}`, method: 'DELETE' }),
invalidatesTags: ['Api'],
}),
}),
overrideExisting: false,
});
export const {
useGetQuestionsQuery,
useGetQuestionQuery,
useCreateQuestionMutation,
useUpdateQuestionMutation,
useDeleteQuestionMutation,
} = questionApi;