// Customer account operations (classic Storefront customer accounts). // https://shopify.dev/docs/api/storefront/latest/objects/Customer const CustomerFragment = ` fragment CustomerFragment on Customer { id email firstName lastName phone displayName acceptsMarketing createdAt defaultAddress { id firstName lastName address1 address2 city province zip country phone } } `; export const CUSTOMER_QUERY = ` ${CustomerFragment} query GetCustomer($customerAccessToken: String!, $orderCount: Int!) { customer(customerAccessToken: $customerAccessToken) { ...CustomerFragment orders(first: $orderCount, reverse: true) { edges { node { id orderNumber processedAt financialStatus fulfillmentStatus statusUrl currentTotalPrice { amount currencyCode } lineItems(first: 5) { edges { node { title quantity variant { image { url altText } } } } } } } } } } `; export const CUSTOMER_CREATE_MUTATION = ` mutation CustomerCreate($input: CustomerCreateInput!) { customerCreate(input: $input) { customer { id email } customerUserErrors { code field message } } } `; export const CUSTOMER_ACCESS_TOKEN_CREATE_MUTATION = ` mutation CustomerAccessTokenCreate($input: CustomerAccessTokenCreateInput!) { customerAccessTokenCreate(input: $input) { customerAccessToken { accessToken expiresAt } customerUserErrors { code field message } } } `; export const CUSTOMER_ACCESS_TOKEN_DELETE_MUTATION = ` mutation CustomerAccessTokenDelete($customerAccessToken: String!) { customerAccessTokenDelete(customerAccessToken: $customerAccessToken) { deletedAccessToken userErrors { field message } } } `; // Sends the "reset your password" email. export const CUSTOMER_RECOVER_MUTATION = ` mutation CustomerRecover($email: String!) { customerRecover(email: $email) { customerUserErrors { code field message } } } `; // Completes the reset using the id + token from the emailed link. export const CUSTOMER_RESET_MUTATION = ` mutation CustomerReset($id: ID!, $input: CustomerResetInput!) { customerReset(id: $id, input: $input) { customerAccessToken { accessToken expiresAt } customerUserErrors { code field message } } } `; // Activation link sent to customers created by the merchant. export const CUSTOMER_ACTIVATE_MUTATION = ` mutation CustomerActivate($id: ID!, $input: CustomerActivateInput!) { customerActivate(id: $id, input: $input) { customerAccessToken { accessToken expiresAt } customerUserErrors { code field message } } } `; export const CUSTOMER_UPDATE_MUTATION = ` ${CustomerFragment} mutation CustomerUpdate($customerAccessToken: String!, $customer: CustomerUpdateInput!) { customerUpdate(customerAccessToken: $customerAccessToken, customer: $customer) { customer { ...CustomerFragment } customerUserErrors { code field message } } } `;