import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'; import type { RootState } from '../../store'; import type { Guest, GuestLoginRequest, GuestLoginResponse, } from '../../models'; export const guestSlice = createApi({ reducerPath: 'guestApi', baseQuery: fetchBaseQuery({ baseUrl: import.meta.env.VITE_BASE_URL + 'guests/', prepareHeaders: (headers, { getState }) => { const token = (getState() as RootState).guest.token; if (token) { headers.set('authorization', `${token}`); } return headers; }, }), endpoints: (builder) => ({ loginGuest: builder.mutation({ query: (credentials) => ({ url: 'login', method: 'POST', body: credentials, }), }), updateGuest: builder.mutation({ query: (guest) => ({ url: `${guest?.id}`, method: 'PUT', body: guest, }), }), }), }); export const { useLoginGuestMutation, useUpdateGuestMutation } = guestSlice;