UNPKG

create-sellflow

Version:

Pre-built cross-platform Shopify app template

261 lines (241 loc) 5.42 kB
export const CartLineAdd = () => `#graphql mutation CartLineAdd( $cartId: ID! $lines: [CartLineInput!]! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartLinesAdd(cartId: $cartId, lines: $lines) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartCreate = (): string => `#graphql mutation CartCreate( $input: CartInput! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartCreate(input: $input) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartLineRemove = (): string => `#graphql mutation CartLineRemove( $cartId: ID! $lines: [ID!]! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartLinesRemove(cartId: $cartId, lineIds: $lines) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartLineUpdate = (): string => `#graphql mutation CartLineUpdate( $cartId: ID! $lines: [CartLineUpdateInput!]! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartLinesUpdate(cartId: $cartId, lines: $lines) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartNoteUpdate = (): string => `#graphql mutation CartNoteUpdate( $cartId: ID! $note: String! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartNoteUpdate(cartId: $cartId, note: $note) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartBuyerIdentityUpdate = () => `graphql mutation CartBuyerIdentityUpdate( $cartId: ID! $buyerIdentity: CartBuyerIdentityInput! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartAttributesUpdate = () => `#graphql mutation CartAttributesUpdate( $attributes: [AttributeInput!]! $cartId: ID! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartAttributesUpdate(attributes: $attributes, cartId: $cartId) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartDiscountCodesUpdate = (): string => ` mutation CartDiscountCodesUpdate( $cartId: ID! $discountCodes: [String!] $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) { cart { ...CartFragment } } } ${defaultCartFragment} `; export const CartQuery = (): string => ` query CartQuery( $id: ID! $numCartLines: Int = 250 $country: CountryCode = ZZ $language: LanguageCode ) @inContext(country: $country, language: $language) { cart(id: $id) { ...CartFragment } } ${defaultCartFragment} `; export const defaultCartFragment = ` fragment CartFragment on Cart { id checkoutUrl totalQuantity buyerIdentity { countryCode customer { id email firstName lastName displayName } email phone } lines(first: $numCartLines) { edges { node { id quantity attributes { key value } cost { totalAmount { amount currencyCode } compareAtAmountPerQuantity { amount currencyCode } } merchandise { ... on ProductVariant { id availableForSale compareAtPrice { ...MoneyFragment } price { ...MoneyFragment } requiresShipping title image { ...ImageFragment } product { handle title id } selectedOptions { name value } } } } } } cost { subtotalAmount { ...MoneyFragment } totalAmount { ...MoneyFragment } totalDutyAmount { ...MoneyFragment } totalTaxAmount { ...MoneyFragment } } note attributes { key value } discountCodes { code applicable } } fragment MoneyFragment on MoneyV2 { currencyCode amount } fragment ImageFragment on Image { id url altText width height } `;