feat: Init. v2 implementation in admin (#6715)
This commit is contained in:
43
packages/admin-next/dashboard/src/lib/api-v2/auth.ts
Normal file
43
packages/admin-next/dashboard/src/lib/api-v2/auth.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { useMutation } from "@tanstack/react-query"
|
||||
import { adminAuthKeys, useAdminCustomQuery } from "medusa-react"
|
||||
import { medusa } from "../medusa"
|
||||
|
||||
export const useV2Session = (options: any = {}) => {
|
||||
const { data, isLoading, isError, error } = useAdminCustomQuery(
|
||||
"/admin/users/me",
|
||||
adminAuthKeys.details(),
|
||||
{},
|
||||
options
|
||||
)
|
||||
|
||||
const user = data?.user
|
||||
|
||||
return { user, isLoading, isError, error }
|
||||
}
|
||||
|
||||
export const useV2LoginWithSession = () => {
|
||||
return useMutation(
|
||||
(payload: { email: string; password: string }) =>
|
||||
medusa.client.request("POST", "/auth/admin/emailpass", {
|
||||
email: payload.email,
|
||||
password: payload.password,
|
||||
}),
|
||||
{
|
||||
onSuccess: async (args: { token: string }) => {
|
||||
const { token } = args
|
||||
|
||||
// Convert the JWT to a session cookie
|
||||
// TODO: Consider if the JWT is a good choice for session token
|
||||
await medusa.client.request(
|
||||
"POST",
|
||||
"/auth/session",
|
||||
{},
|
||||
{},
|
||||
{
|
||||
Authorization: `Bearer ${token}`,
|
||||
}
|
||||
)
|
||||
},
|
||||
}
|
||||
)
|
||||
}
|
||||
2
packages/admin-next/dashboard/src/lib/api-v2/index.ts
Normal file
2
packages/admin-next/dashboard/src/lib/api-v2/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from "./auth"
|
||||
export * from "./store"
|
||||
14
packages/admin-next/dashboard/src/lib/api-v2/store.ts
Normal file
14
packages/admin-next/dashboard/src/lib/api-v2/store.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { adminStoreKeys, useAdminCustomQuery } from "medusa-react"
|
||||
|
||||
export const useV2Store = ({ initialData }: { initialData?: any }) => {
|
||||
const { data, isLoading, isError, error } = useAdminCustomQuery(
|
||||
"/admin/stores",
|
||||
adminStoreKeys.details(),
|
||||
{},
|
||||
{ initialData }
|
||||
)
|
||||
|
||||
const store = data.stores[0]
|
||||
|
||||
return { store, isLoading, isError, error }
|
||||
}
|
||||
Reference in New Issue
Block a user