import { baseApi } from '@ema-platform/api'; import type { Result, ListResponse, CreateResultPayload, UpdateResultPayload, } from '../types/result'; const resultApi = baseApi.injectEndpoints({ endpoints: (builder) => ({ getResults: builder.query, void>({ query: () => '/results', providesTags: ['Api'], }), getResult: builder.query({ query: (id) => `/results/${id}?i=exam,profile`, providesTags: ['Api'], }), createResult: builder.mutation({ query: (body) => ({ url: '/results', method: 'POST', body }), invalidatesTags: ['Api'], }), updateResult: builder.mutation({ query: ({ id, ...body }) => ({ url: `/results/${id}`, method: 'PUT', body, }), invalidatesTags: ['Api'], }), deleteResult: builder.mutation({ query: (id) => ({ url: `/results/${id}`, method: 'DELETE' }), invalidatesTags: ['Api'], }), }), overrideExisting: false, }); export const { useGetResultsQuery, useGetResultQuery, useLazyGetResultQuery, useCreateResultMutation, useUpdateResultMutation, useDeleteResultMutation, } = resultApi;