Snai3i-MarketPlace / frontend / src / app / backend / endpoints / meetings.ts
meetings.ts
Raw
import api from '..';
const MEETING_API = '/meeting';

export const meetingsApi = api.injectEndpoints({
  endpoints: (build) => ({
    getMeetings: build.query<ResponseI<MeetingI[]>, void>({
      query: () => ({
        url: `${MEETING_API}`,
        method: 'GET',
      }),
      providesTags: ['meetings'],
    }),
    updateMeetingStatus: build.mutation<
      ResponseI<null>,
      {
        meeting_id: number;
        status: string;
      }
    >({
      query: ({ meeting_id, status }) => ({
        url: `${MEETING_API}/update/status/${meeting_id}`,
        method: 'PUT',
        body: { status },
      }),
      invalidatesTags: ['meetings'],
    }),
    bookMeeting: build.mutation<
      ResponseI<null>,
      {
        fullName: string;
        email: string;
        phone: string;
        course_id: number;
        pack_id: number;
      }
    >({
      query: (data) => ({
        url: `${MEETING_API}/create`,
        method: 'POST',
        body: data,
      }),
    }),
  }),
});
// update/status/:meeting_id
export const { useGetMeetingsQuery, useUpdateMeetingStatusMutation,useBookMeetingMutation } =
  meetingsApi;