import api from '..'; const ORDERS_API = '/order'; export const ordersApi = api.injectEndpoints({ endpoints: (build) => ({ getAllOrders: build.query< ResponseI<{ teacherOrders: OrderI[]; schoolOrders: OrderI[]; }>, void >({ query: () => ({ url: `${ORDERS_API}`, method: 'GET', }), providesTags: ['orders','users','teachers'], }), getOrderById: build.query, number>({ query: (orderId) => ({ url: `${ORDERS_API}/${orderId}`, method: 'GET', }), providesTags: ['orders'], }), deleteOrder: build.mutation< ResponseI, { order_id: number; } >({ query: ({ order_id }) => ({ url: `${ORDERS_API}/delete/${order_id}`, method: 'DELETE', }), invalidatesTags: ['orders'], }), createOrder: build.mutation, OrderFormI>({ query: (body) => ({ url: `${ORDERS_API}/create`, method: 'POST', body: body, }), invalidatesTags: ['orders'], }), updateSchoolOrder: build.mutation, OrderFormI>({ query: (body) => ({ url: `${ORDERS_API}/update/school/${body.order_id}`, method: 'PUT', body: body, }), invalidatesTags: ['orders'], }), updateTeacherOrder: build.mutation, OrderFormI>({ query: (body) => ({ url: `${ORDERS_API}/update/teacher/${body.order_id}`, method: 'PUT', body: body, }), invalidatesTags: ['orders'], }), }), }); export const { useGetAllOrdersQuery, useDeleteOrderMutation, useCreateOrderMutation, useGetOrderByIdQuery, useUpdateSchoolOrderMutation, useUpdateTeacherOrderMutation, } = ordersApi;