saleor-dashboard/src/auth/mutations.ts
2020-07-27 12:23:47 +02:00

84 lines
1.9 KiB
TypeScript

import { fragmentUser } from "@saleor/fragments/auth";
import { accountErrorFragment } from "@saleor/fragments/errors";
import gql from "graphql-tag";
import { TypedMutation } from "../mutations";
import {
RequestPasswordReset,
RequestPasswordResetVariables
} from "./types/RequestPasswordReset";
import { SetPassword, SetPasswordVariables } from "./types/SetPassword";
export const tokenAuthMutation = gql`
${fragmentUser}
mutation TokenAuth($email: String!, $password: String!) {
tokenCreate(email: $email, password: $password) {
errors: accountErrors {
field
message
}
csrfToken
token
user {
...User
}
}
}
`;
export const tokenVerifyMutation = gql`
${fragmentUser}
mutation VerifyToken($token: String!) {
tokenVerify(token: $token) {
payload
user {
...User
}
}
}
`;
export const tokenRefreshMutation = gql`
mutation RefreshToken($token: String!) {
tokenRefresh(csrfToken: $token) {
token
}
}
`;
export const requestPasswordReset = gql`
${accountErrorFragment}
mutation RequestPasswordReset($email: String!, $redirectUrl: String!) {
requestPasswordReset(email: $email, redirectUrl: $redirectUrl) {
errors: accountErrors {
...AccountErrorFragment
}
}
}
`;
export const RequestPasswordResetMutation = TypedMutation<
RequestPasswordReset,
RequestPasswordResetVariables
>(requestPasswordReset);
export const setPassword = gql`
${accountErrorFragment}
${fragmentUser}
mutation SetPassword($email: String!, $password: String!, $token: String!) {
setPassword(email: $email, password: $password, token: $token) {
errors: accountErrors {
...AccountErrorFragment
}
csrfToken
refreshToken
token
user {
...User
}
}
}
`;
export const SetPasswordMutation = TypedMutation<
SetPassword,
SetPasswordVariables
>(setPassword);