aboutsummaryrefslogtreecommitdiff
path: root/jb-ui/src/models/authAPI.ts
blob: a3efbcb3cf574d989a6401ac88abf6c327ace4e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
import type { User } from "@/types/authApi";
export const bpuid = import.meta.env.VITE_BPUID;

// const DEV_USER: User = {
//   blocked: false,
//   display_name: null,
//   email: "demo@jamesbillings67.com",
//   product_user_id: import.meta.env.VITE_BPUID,
// };

export const authApi = createApi({
  reducerPath: "authApi",
  baseQuery: fetchBaseQuery({
    baseUrl: "/auth",
    credentials: "include", // sends the httpOnly cookie
  }),
  tagTypes: ["User"],
  endpoints: (builder) => ({
    getMe: builder.query<User, void>({
      queryFn: async (_arg, _api, _extra, baseQuery) => {
        // if (import.meta.env.DEV) {
        //   return { data: DEV_USER };
        // }
        const result = await baseQuery("/session/");
        return result.data
          ? { data: result.data as User }
          : { error: result.error! };
      },

      providesTags: ["User"],
    }),
    // logout: builder.mutation({
    //   query: () => ({ url: "/de-session", method: "POST" }),
    //   invalidatesTags: ["User"],
    // }),
  }),
});

// export const { useGetMeQuery, useLogoutMutation } = authApi;
export const { useGetMeQuery } = authApi;

//