feat(admin-next): Email password invite flow in admin 2.0 (#6821)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { useMutation } from "@tanstack/react-query"
|
||||
import { adminAuthKeys, useAdminCustomQuery } from "medusa-react"
|
||||
import { medusa } from "../medusa"
|
||||
import { AcceptInviteInput, CreateAuthUserInput } from "./types/auth"
|
||||
|
||||
export const useV2Session = (options: any = {}) => {
|
||||
const { data, isLoading, isError, error } = useAdminCustomQuery(
|
||||
@@ -15,7 +16,7 @@ export const useV2Session = (options: any = {}) => {
|
||||
return { user, isLoading, isError, error }
|
||||
}
|
||||
|
||||
export const useV2LoginWithSession = () => {
|
||||
export const useV2LoginAndSetSession = () => {
|
||||
return useMutation(
|
||||
(payload: { email: string; password: string }) =>
|
||||
medusa.client.request("POST", "/auth/admin/emailpass", {
|
||||
@@ -41,3 +42,24 @@ export const useV2LoginWithSession = () => {
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
export const useV2CreateAuthUser = (provider = "emailpass") => {
|
||||
// TODO: Migrate type to work for other providers, e.g. Google
|
||||
return useMutation((args: CreateAuthUserInput) =>
|
||||
medusa.client.request("POST", `/auth/admin/${provider}`, args)
|
||||
)
|
||||
}
|
||||
|
||||
export const useV2AcceptInvite = (inviteToken: string) => {
|
||||
return useMutation((input: AcceptInviteInput) =>
|
||||
medusa.client.request(
|
||||
"POST",
|
||||
`/admin/invites/accept?token=${inviteToken}`,
|
||||
input.payload,
|
||||
{},
|
||||
{
|
||||
Authorization: `Bearer ${input.token}`,
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
export type AcceptInviteInput = {
|
||||
payload: {
|
||||
first_name: string
|
||||
last_name: string
|
||||
}
|
||||
// Token for the created auth user
|
||||
token: string
|
||||
}
|
||||
|
||||
export type CreateAuthUserInput = {
|
||||
email: string
|
||||
password: string
|
||||
}
|
||||
Reference in New Issue
Block a user