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;
//
|