Updated Saleor Provider (#356)

* Initial work, copied from the Shopify provider

* Added basis setup and type generation for the products queries

* refactor: adjust the types

* task: relax the Node.js constraint

* fix: page/product properties

* disable unknown fields

* mention Saleor in the README

* setup debugging for Next.js

* Check nextjs-commerce bug if no images are added for a product

* fix: client/server pecularities for env visibility

Must prefix with `NEXT_PUBLIC_` so that the API URL is
visible on the client

* re: make search work with Saleor API (WIP)

* task: update deps

* task: move to Webpack 5.x

* saleor: initial cart integration

* update deps

* saleor: shall the cart appear!

* task: remove deprecated packages

* saleor: adding/removing from the cart

* saleor: preliminary signup process

* saleor: fix the prices in the cart

* update deps

* update deps

* Added the options for a variant to the product page

* Mapped options to variants

* Mapped options to variants

* saleor: refine the auth process

* saleor: remove unused code

* saleor: handle customer find via refresh

temporary solution

* saleor: update deps

* saleor: fix the session handling

* saleor: fix the variants

* saleor: simplify the naming for GraphQL statements

* saleor: fix the type for collection

* saleor: arrange the error codes

* saleor: integrate collections

* saleor: fix product sorting

* saleor: set cookie location

* saleor: update the schema

* saleor: attach checkout to customer

* saleor: fix the checkout flow

* saleor: unify GraphQL naming approach

* task: update deps

* Add the env variables for saleor to the template

* task: prettier

* saleor: stub API for build/typescript compilation

thanks @cond0r

* task: temporarily disable for the `build`

* saleor: refactor GraphQL queries

* saleor: adjust the config

* task: update dependencies

* revert: Next.js to `10.0.9`

* saleor: fix the checkout fetch query

* task: update dependencies

* saleor: adapt for displaying featured products

* saleor: update the provider structure

* saleor: make the home page representable

* feature/cart: display the variant name (cond)

Co-authored-by: Patryk Zawadzki <patrys@room-303.com>
Co-authored-by: royderks <10717410+royderks@users.noreply.github.com>
This commit is contained in:
Jakub Neander
2021-06-10 08:46:28 +02:00
committed by GitHub
parent 685fb932db
commit 3b2bf654fe
115 changed files with 34182 additions and 1671 deletions

View File

@@ -0,0 +1,15 @@
export const AccountCreate = /* GraphQL */ `
mutation AccountCreate($input: AccountRegisterInput!) {
accountRegister(input: $input) {
errors {
code
field
message
}
user {
email
isActive
}
}
}
`

View File

@@ -0,0 +1,12 @@
export const CheckoutAttach = /* GraphQl */ `
mutation CheckoutAttach($checkoutId: ID!) {
checkoutCustomerAttach(checkoutId: $checkoutId) {
errors {
message
}
checkout {
id
}
}
}
`

View File

@@ -0,0 +1,17 @@
import * as fragment from '../fragments'
export const CheckoutCreate = /* GraphQL */ `
mutation CheckoutCreate {
checkoutCreate(input: { email: "customer@example.com", lines: [], channel: "default-channel" }) {
errors {
code
field
message
}
checkout {
...CheckoutDetails
}
}
}
${fragment.CheckoutDetails}
`

View File

@@ -0,0 +1,17 @@
import * as fragment from '../fragments'
export const CheckoutLineAdd = /* GraphQL */ `
mutation CheckoutLineAdd($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {
checkoutLinesAdd(checkoutId: $checkoutId, lines: $lineItems) {
errors {
code
field
message
}
checkout {
...CheckoutDetails
}
}
}
${fragment.CheckoutDetails}
`

View File

@@ -0,0 +1,17 @@
import * as fragment from '../fragments'
export const CheckoutLineDelete = /* GraphQL */ `
mutation CheckoutLineDelete($checkoutId: ID!, $lineId: ID!) {
checkoutLineDelete(checkoutId: $checkoutId, lineId: $lineId) {
errors {
code
field
message
}
checkout {
...CheckoutDetails
}
}
}
${fragment.CheckoutDetails}
`

View File

@@ -0,0 +1,17 @@
import * as fragment from '../fragments'
export const CheckoutLineUpdate = /* GraphQL */ `
mutation CheckoutLineUpdate($checkoutId: ID!, $lineItems: [CheckoutLineInput!]!) {
checkoutLinesUpdate(checkoutId: $checkoutId, lines: $lineItems) {
errors {
code
field
message
}
checkout {
...CheckoutDetails
}
}
}
${fragment.CheckoutDetails}
`

View File

@@ -0,0 +1,8 @@
export { AccountCreate } from './account-create'
export { CheckoutCreate } from './checkout-create'
export { CheckoutLineAdd } from './checkout-line-add'
export { CheckoutLineUpdate } from './checkout-line-update'
export { CheckoutLineDelete } from './checkout-line-remove'
export { SessionCreate } from './session-create'
export { SessionDestroy } from './session-destroy'
export { CheckoutAttach } from './checkout-attach'

View File

@@ -0,0 +1,14 @@
export const SessionCreate = /* GraphQL */ `
mutation SessionCreate($email: String!, $password: String!) {
tokenCreate(email: $email, password: $password) {
token
refreshToken
csrfToken
errors {
code
field
message
}
}
}
`

View File

@@ -0,0 +1,10 @@
export const SessionDestroy = /* GraphQL */ `
mutation SessionDestroy {
tokensDeactivateAll {
errors {
field
message
}
}
}
`