import { UserProfile } from '../../types/UserProfile';
import { createApi,fetchBaseQuery } from '@reduxjs/toolkit/query/react'

const baseURL = process.env.NEXT_PUBLIC_API_URL

export const getUserProfileDetails = createApi({
  reducerPath: "getUserProfileDetails",
  baseQuery: fetchBaseQuery({
    baseUrl: baseURL,
    prepareHeaders: (headers, { getState }) => {
      const token = (getState() as any)?.auth?.token;
      if (token) {
        headers.set("Authorization", `Bearer ${token}`);
      }
      return headers;
    },
  }),
  
  endpoints: (builder) => ({
    getUserProfileDetails: builder.query<UserProfile, { token: string }>({
      query: ({ token }) => ({
        url: "user_profile",
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          Authorization: `Bearer ${token}`,
        },
        body: JSON.stringify({ token }), 
      }),
    }),
    
  }),
});

export const { useGetUserProfileDetailsQuery } = getUserProfileDetails;
