Files
emaui/apps/backoffice/src/app/features/result/api/result-api.ts
2026-06-26 12:10:38 +03:00

46 lines
1.2 KiB
TypeScript

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