@unchainedshop/api 2.13.0 → 3.0.0-alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api-index.d.ts +13 -4
- package/lib/api-index.d.ts.map +1 -1
- package/lib/api-index.js +4 -5
- package/lib/api-index.js.map +1 -1
- package/lib/context.d.ts +14 -1
- package/lib/context.d.ts.map +1 -1
- package/lib/context.js +10 -9
- package/lib/context.js.map +1 -1
- package/lib/createGraphQLServer.d.ts +1 -2
- package/lib/createGraphQLServer.d.ts.map +1 -1
- package/lib/createGraphQLServer.js +22 -31
- package/lib/createGraphQLServer.js.map +1 -1
- package/lib/errors.d.ts +3 -6
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +6 -9
- package/lib/errors.js.map +1 -1
- package/lib/events.d.ts +5 -0
- package/lib/events.d.ts.map +1 -0
- package/lib/events.js +8 -0
- package/lib/events.js.map +1 -0
- package/lib/express/createBulkImportMiddleware.d.ts +6 -1
- package/lib/express/createBulkImportMiddleware.d.ts.map +1 -1
- package/lib/express/createBulkImportMiddleware.js +1 -3
- package/lib/express/createBulkImportMiddleware.js.map +1 -1
- package/lib/express/createERCMetadataMiddleware.d.ts +4 -1
- package/lib/express/createERCMetadataMiddleware.d.ts.map +1 -1
- package/lib/express/createERCMetadataMiddleware.js +1 -3
- package/lib/express/createERCMetadataMiddleware.js.map +1 -1
- package/lib/express/index.d.ts +7 -6
- package/lib/express/index.d.ts.map +1 -1
- package/lib/express/index.js +98 -13
- package/lib/express/index.js.map +1 -1
- package/lib/express/passport/access-token-strategy.d.ts +10 -0
- package/lib/express/passport/access-token-strategy.d.ts.map +1 -0
- package/lib/express/passport/access-token-strategy.js +33 -0
- package/lib/express/passport/access-token-strategy.js.map +1 -0
- package/lib/express/passport/setup.d.ts +4 -0
- package/lib/express/passport/setup.d.ts.map +1 -0
- package/lib/express/passport/setup.js +30 -0
- package/lib/express/passport/setup.js.map +1 -0
- package/lib/loaders/index.d.ts +1 -2
- package/lib/loaders/index.d.ts.map +1 -1
- package/lib/loaders/index.js +2 -2
- package/lib/loaders/index.js.map +1 -1
- package/lib/locale-context.d.ts +6 -4
- package/lib/locale-context.d.ts.map +1 -1
- package/lib/locale-context.js +4 -6
- package/lib/locale-context.js.map +1 -1
- package/lib/resolvers/index.d.ts.map +1 -1
- package/lib/resolvers/index.js +0 -2
- package/lib/resolvers/index.js.map +1 -1
- package/lib/resolvers/mutations/accounts/addEmail.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/addEmail.js +10 -2
- package/lib/resolvers/mutations/accounts/addEmail.js.map +1 -1
- package/lib/resolvers/mutations/accounts/addWebAuthnCredentials.js +1 -1
- package/lib/resolvers/mutations/accounts/addWebAuthnCredentials.js.map +1 -1
- package/lib/resolvers/mutations/accounts/changePassword.d.ts +2 -2
- package/lib/resolvers/mutations/accounts/changePassword.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/changePassword.js +13 -7
- package/lib/resolvers/mutations/accounts/changePassword.js.map +1 -1
- package/lib/resolvers/mutations/accounts/createUser.d.ts +2 -3
- package/lib/resolvers/mutations/accounts/createUser.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/createUser.js +21 -26
- package/lib/resolvers/mutations/accounts/createUser.js.map +1 -1
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.d.ts +1 -1
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.js +2 -2
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.js.map +1 -1
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.d.ts +1 -1
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.js +3 -3
- package/lib/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.js.map +1 -1
- package/lib/resolvers/mutations/accounts/enrollUser.d.ts +1 -1
- package/lib/resolvers/mutations/accounts/enrollUser.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/enrollUser.js +13 -16
- package/lib/resolvers/mutations/accounts/enrollUser.js.map +1 -1
- package/lib/resolvers/mutations/accounts/forgotPassword.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/forgotPassword.js +11 -8
- package/lib/resolvers/mutations/accounts/forgotPassword.js.map +1 -1
- package/lib/resolvers/mutations/accounts/loginAsGuest.d.ts +1 -2
- package/lib/resolvers/mutations/accounts/loginAsGuest.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/loginAsGuest.js +18 -3
- package/lib/resolvers/mutations/accounts/loginAsGuest.js.map +1 -1
- package/lib/resolvers/mutations/accounts/loginWithPassword.d.ts +2 -4
- package/lib/resolvers/mutations/accounts/loginWithPassword.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/loginWithPassword.js +23 -26
- package/lib/resolvers/mutations/accounts/loginWithPassword.js.map +1 -1
- package/lib/resolvers/mutations/accounts/loginWithWebAuthn.d.ts +1 -2
- package/lib/resolvers/mutations/accounts/loginWithWebAuthn.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/loginWithWebAuthn.js +13 -14
- package/lib/resolvers/mutations/accounts/loginWithWebAuthn.js.map +1 -1
- package/lib/resolvers/mutations/accounts/logout.d.ts +1 -3
- package/lib/resolvers/mutations/accounts/logout.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/logout.js +5 -18
- package/lib/resolvers/mutations/accounts/logout.js.map +1 -1
- package/lib/resolvers/mutations/accounts/removeEmail.js +1 -1
- package/lib/resolvers/mutations/accounts/removeEmail.js.map +1 -1
- package/lib/resolvers/mutations/accounts/resetPassword.d.ts +2 -3
- package/lib/resolvers/mutations/accounts/resetPassword.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/resetPassword.js +48 -43
- package/lib/resolvers/mutations/accounts/resetPassword.js.map +1 -1
- package/lib/resolvers/mutations/accounts/sendEnrollmentEmail.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/sendEnrollmentEmail.js +5 -1
- package/lib/resolvers/mutations/accounts/sendEnrollmentEmail.js.map +1 -1
- package/lib/resolvers/mutations/accounts/sendVerificationEmail.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/sendVerificationEmail.js +15 -4
- package/lib/resolvers/mutations/accounts/sendVerificationEmail.js.map +1 -1
- package/lib/resolvers/mutations/accounts/setPassword.d.ts +1 -1
- package/lib/resolvers/mutations/accounts/setPassword.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/setPassword.js +11 -3
- package/lib/resolvers/mutations/accounts/setPassword.js.map +1 -1
- package/lib/resolvers/mutations/accounts/setUsername.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/setUsername.js +10 -2
- package/lib/resolvers/mutations/accounts/setUsername.js.map +1 -1
- package/lib/resolvers/mutations/accounts/verifyEmail.d.ts +1 -2
- package/lib/resolvers/mutations/accounts/verifyEmail.d.ts.map +1 -1
- package/lib/resolvers/mutations/accounts/verifyEmail.js +14 -6
- package/lib/resolvers/mutations/accounts/verifyEmail.js.map +1 -1
- package/lib/resolvers/mutations/assortments/createAssortment.d.ts +5 -7
- package/lib/resolvers/mutations/assortments/createAssortment.d.ts.map +1 -1
- package/lib/resolvers/mutations/assortments/createAssortment.js +7 -5
- package/lib/resolvers/mutations/assortments/createAssortment.js.map +1 -1
- package/lib/resolvers/mutations/filters/createFilter.d.ts +4 -5
- package/lib/resolvers/mutations/filters/createFilter.d.ts.map +1 -1
- package/lib/resolvers/mutations/filters/createFilter.js +7 -2
- package/lib/resolvers/mutations/filters/createFilter.js.map +1 -1
- package/lib/resolvers/mutations/filters/createFilterOption.d.ts +3 -4
- package/lib/resolvers/mutations/filters/createFilterOption.d.ts.map +1 -1
- package/lib/resolvers/mutations/filters/createFilterOption.js +5 -2
- package/lib/resolvers/mutations/filters/createFilterOption.js.map +1 -1
- package/lib/resolvers/mutations/index.d.ts +0 -12
- package/lib/resolvers/mutations/index.d.ts.map +1 -1
- package/lib/resolvers/mutations/index.js +0 -24
- package/lib/resolvers/mutations/index.js.map +1 -1
- package/lib/resolvers/mutations/orders/addCartDiscount.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/addCartDiscount.js +3 -1
- package/lib/resolvers/mutations/orders/addCartDiscount.js.map +1 -1
- package/lib/resolvers/mutations/orders/addCartProduct.js +1 -0
- package/lib/resolvers/mutations/orders/addCartProduct.js.map +1 -1
- package/lib/resolvers/mutations/orders/addCartQuotation.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/addCartQuotation.js +3 -1
- package/lib/resolvers/mutations/orders/addCartQuotation.js.map +1 -1
- package/lib/resolvers/mutations/orders/addMultipleCartProducts.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/addMultipleCartProducts.js +3 -1
- package/lib/resolvers/mutations/orders/addMultipleCartProducts.js.map +1 -1
- package/lib/resolvers/mutations/orders/confirmOrder.d.ts +0 -1
- package/lib/resolvers/mutations/orders/confirmOrder.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/confirmOrder.js.map +1 -1
- package/lib/resolvers/mutations/orders/emptyCart.js +2 -2
- package/lib/resolvers/mutations/orders/emptyCart.js.map +1 -1
- package/lib/resolvers/mutations/orders/rejectOrder.d.ts +0 -1
- package/lib/resolvers/mutations/orders/rejectOrder.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/rejectOrder.js.map +1 -1
- package/lib/resolvers/mutations/orders/removeCartDiscount.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/removeCartDiscount.js +3 -1
- package/lib/resolvers/mutations/orders/removeCartDiscount.js.map +1 -1
- package/lib/resolvers/mutations/orders/removeCartItem.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/removeCartItem.js +3 -1
- package/lib/resolvers/mutations/orders/removeCartItem.js.map +1 -1
- package/lib/resolvers/mutations/orders/setOrderDeliveryProvider.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/setOrderDeliveryProvider.js +2 -2
- package/lib/resolvers/mutations/orders/setOrderDeliveryProvider.js.map +1 -1
- package/lib/resolvers/mutations/orders/setOrderPaymentProvider.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/setOrderPaymentProvider.js +2 -1
- package/lib/resolvers/mutations/orders/setOrderPaymentProvider.js.map +1 -1
- package/lib/resolvers/mutations/orders/updateCart.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/updateCart.js +5 -4
- package/lib/resolvers/mutations/orders/updateCart.js.map +1 -1
- package/lib/resolvers/mutations/orders/updateCartItem.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/updateCartItem.js +3 -1
- package/lib/resolvers/mutations/orders/updateCartItem.js.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderDeliveryPickUp.js +6 -2
- package/lib/resolvers/mutations/orders/updateOrderDeliveryPickUp.js.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderDeliveryShipping.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderDeliveryShipping.js +8 -1
- package/lib/resolvers/mutations/orders/updateOrderDeliveryShipping.js.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentCard.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentCard.js +3 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentCard.js.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentGeneric.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentGeneric.js +3 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentGeneric.js.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentInvoice.d.ts.map +1 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentInvoice.js +3 -1
- package/lib/resolvers/mutations/orders/updateOrderPaymentInvoice.js.map +1 -1
- package/lib/resolvers/mutations/products/createProduct.d.ts +5 -6
- package/lib/resolvers/mutations/products/createProduct.d.ts.map +1 -1
- package/lib/resolvers/mutations/products/createProduct.js +6 -5
- package/lib/resolvers/mutations/products/createProduct.js.map +1 -1
- package/lib/resolvers/mutations/products/createProductVariation.d.ts +3 -3
- package/lib/resolvers/mutations/products/createProductVariation.d.ts.map +1 -1
- package/lib/resolvers/mutations/products/createProductVariation.js +7 -4
- package/lib/resolvers/mutations/products/createProductVariation.js.map +1 -1
- package/lib/resolvers/mutations/products/createProductVariationOption.d.ts +4 -5
- package/lib/resolvers/mutations/products/createProductVariationOption.d.ts.map +1 -1
- package/lib/resolvers/mutations/products/createProductVariationOption.js +8 -5
- package/lib/resolvers/mutations/products/createProductVariationOption.js.map +1 -1
- package/lib/resolvers/mutations/warehousing/exportToken.d.ts.map +1 -1
- package/lib/resolvers/mutations/warehousing/exportToken.js +20 -20
- package/lib/resolvers/mutations/warehousing/exportToken.js.map +1 -1
- package/lib/resolvers/queries/events/events.js +1 -1
- package/lib/resolvers/queries/events/events.js.map +1 -1
- package/lib/resolvers/queries/index.d.ts +0 -2
- package/lib/resolvers/queries/index.d.ts.map +1 -1
- package/lib/resolvers/queries/index.js +0 -2
- package/lib/resolvers/queries/index.js.map +1 -1
- package/lib/resolvers/queries/shopInfo.d.ts +0 -2
- package/lib/resolvers/queries/shopInfo.d.ts.map +1 -1
- package/lib/resolvers/queries/shopInfo.js +0 -3
- package/lib/resolvers/queries/shopInfo.js.map +1 -1
- package/lib/resolvers/queries/users/validateResetPasswordToken.js +1 -1
- package/lib/resolvers/queries/users/validateResetPasswordToken.js.map +1 -1
- package/lib/resolvers/queries/users/validateVerifyEmailToken.js +1 -1
- package/lib/resolvers/queries/users/validateVerifyEmailToken.js.map +1 -1
- package/lib/resolvers/type/assortment/assortment-types.d.ts.map +1 -1
- package/lib/resolvers/type/assortment/assortment-types.js +1 -0
- package/lib/resolvers/type/assortment/assortment-types.js.map +1 -1
- package/lib/resolvers/type/event-types.d.ts +1 -1
- package/lib/resolvers/type/event-types.d.ts.map +1 -1
- package/lib/resolvers/type/index.d.ts +4 -36
- package/lib/resolvers/type/index.d.ts.map +1 -1
- package/lib/resolvers/type/index.js +2 -6
- package/lib/resolvers/type/index.js.map +1 -1
- package/lib/resolvers/type/login-method-response-types.d.ts +3 -27
- package/lib/resolvers/type/login-method-response-types.d.ts.map +1 -1
- package/lib/resolvers/type/login-method-response-types.js +1 -6
- package/lib/resolvers/type/login-method-response-types.js.map +1 -1
- package/lib/resolvers/type/product/product-bundle-types.d.ts.map +1 -1
- package/lib/resolvers/type/product/product-configurable-types.d.ts.map +1 -1
- package/lib/resolvers/type/product/product-plan-types.d.ts.map +1 -1
- package/lib/resolvers/type/product/product-simple-types.d.ts.map +1 -1
- package/lib/resolvers/type/product/product-tokenized-types.d.ts.map +1 -1
- package/lib/resolvers/type/product/product-types.d.ts.map +1 -1
- package/lib/resolvers/type/product/product-types.js +1 -0
- package/lib/resolvers/type/product/product-types.js.map +1 -1
- package/lib/resolvers/type/user-types.d.ts +1 -3
- package/lib/resolvers/type/user-types.d.ts.map +1 -1
- package/lib/resolvers/type/user-types.js +0 -14
- package/lib/resolvers/type/user-types.js.map +1 -1
- package/lib/resolvers/type/webauthn-credentials-types.js +1 -1
- package/lib/resolvers/type/webauthn-credentials-types.js.map +1 -1
- package/lib/roles/all.d.ts.map +1 -1
- package/lib/roles/all.js +1 -7
- package/lib/roles/all.js.map +1 -1
- package/lib/roles/index.d.ts.map +1 -1
- package/lib/roles/index.js +0 -6
- package/lib/roles/index.js.map +1 -1
- package/lib/roles/loggedIn.d.ts.map +1 -1
- package/lib/roles/loggedIn.js +0 -4
- package/lib/roles/loggedIn.js.map +1 -1
- package/lib/schema/directives.d.ts.map +1 -1
- package/lib/schema/directives.js +1 -5
- package/lib/schema/directives.js.map +1 -1
- package/lib/schema/inputTypes.d.ts.map +1 -1
- package/lib/schema/inputTypes.js +11 -25
- package/lib/schema/inputTypes.js.map +1 -1
- package/lib/schema/mutation.d.ts.map +1 -1
- package/lib/schema/mutation.js +26 -85
- package/lib/schema/mutation.js.map +1 -1
- package/lib/schema/query.d.ts.map +1 -1
- package/lib/schema/query.js +0 -4
- package/lib/schema/query.js.map +1 -1
- package/lib/schema/scalars.d.ts.map +1 -1
- package/lib/schema/scalars.js +0 -1
- package/lib/schema/scalars.js.map +1 -1
- package/lib/schema/types/product/product.js +1 -1
- package/lib/schema/types/product/tokenized-product.js +1 -1
- package/lib/schema/types/shop.d.ts.map +1 -1
- package/lib/schema/types/shop.js +0 -1
- package/lib/schema/types/shop.js.map +1 -1
- package/lib/schema/types/user.d.ts.map +1 -1
- package/lib/schema/types/user.js +2 -21
- package/lib/schema/types/user.js.map +1 -1
- package/package.json +18 -12
- package/src/api-index.ts +19 -14
- package/src/context.ts +23 -10
- package/src/createGraphQLServer.ts +25 -36
- package/src/errors.ts +15 -21
- package/src/events.ts +8 -0
- package/src/express/createBulkImportMiddleware.ts +8 -4
- package/src/express/createERCMetadataMiddleware.ts +6 -4
- package/src/express/index.ts +127 -21
- package/src/express/passport/access-token-strategy.ts +39 -0
- package/src/express/passport/setup.ts +44 -0
- package/src/loaders/index.ts +2 -8
- package/src/locale-context.ts +13 -9
- package/src/resolvers/index.ts +0 -2
- package/src/resolvers/mutations/accounts/addEmail.ts +7 -2
- package/src/resolvers/mutations/accounts/addWebAuthnCredentials.ts +1 -1
- package/src/resolvers/mutations/accounts/changePassword.ts +18 -8
- package/src/resolvers/mutations/accounts/createUser.ts +30 -37
- package/src/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.ts +3 -3
- package/src/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.ts +4 -4
- package/src/resolvers/mutations/accounts/enrollUser.ts +18 -17
- package/src/resolvers/mutations/accounts/forgotPassword.ts +11 -7
- package/src/resolvers/mutations/accounts/loginAsGuest.ts +23 -4
- package/src/resolvers/mutations/accounts/loginWithPassword.ts +33 -36
- package/src/resolvers/mutations/accounts/loginWithWebAuthn.ts +22 -15
- package/src/resolvers/mutations/accounts/logout.ts +5 -21
- package/src/resolvers/mutations/accounts/removeEmail.ts +1 -1
- package/src/resolvers/mutations/accounts/resetPassword.ts +50 -53
- package/src/resolvers/mutations/accounts/sendEnrollmentEmail.ts +5 -1
- package/src/resolvers/mutations/accounts/sendVerificationEmail.ts +13 -4
- package/src/resolvers/mutations/accounts/setPassword.ts +9 -4
- package/src/resolvers/mutations/accounts/setUsername.ts +8 -2
- package/src/resolvers/mutations/accounts/verifyEmail.ts +15 -6
- package/src/resolvers/mutations/assortments/createAssortment.ts +16 -7
- package/src/resolvers/mutations/filters/createFilter.ts +8 -3
- package/src/resolvers/mutations/filters/createFilterOption.ts +9 -7
- package/src/resolvers/mutations/index.ts +0 -24
- package/src/resolvers/mutations/orders/addCartDiscount.ts +3 -1
- package/src/resolvers/mutations/orders/addCartProduct.ts +1 -1
- package/src/resolvers/mutations/orders/addCartQuotation.ts +3 -1
- package/src/resolvers/mutations/orders/addMultipleCartProducts.ts +23 -19
- package/src/resolvers/mutations/orders/confirmOrder.ts +0 -1
- package/src/resolvers/mutations/orders/emptyCart.ts +2 -2
- package/src/resolvers/mutations/orders/rejectOrder.ts +0 -2
- package/src/resolvers/mutations/orders/removeCartDiscount.ts +3 -1
- package/src/resolvers/mutations/orders/removeCartItem.ts +3 -1
- package/src/resolvers/mutations/orders/setOrderDeliveryProvider.ts +2 -3
- package/src/resolvers/mutations/orders/setOrderPaymentProvider.ts +2 -1
- package/src/resolvers/mutations/orders/updateCart.ts +5 -4
- package/src/resolvers/mutations/orders/updateCartItem.ts +3 -1
- package/src/resolvers/mutations/orders/updateOrderDeliveryPickUp.ts +7 -7
- package/src/resolvers/mutations/orders/updateOrderDeliveryShipping.ts +8 -1
- package/src/resolvers/mutations/orders/updateOrderPaymentCard.ts +3 -1
- package/src/resolvers/mutations/orders/updateOrderPaymentGeneric.ts +3 -1
- package/src/resolvers/mutations/orders/updateOrderPaymentInvoice.ts +3 -1
- package/src/resolvers/mutations/products/createProduct.ts +9 -7
- package/src/resolvers/mutations/products/createProductVariation.ts +11 -6
- package/src/resolvers/mutations/products/createProductVariationOption.ts +13 -6
- package/src/resolvers/mutations/warehousing/exportToken.ts +19 -20
- package/src/resolvers/queries/events/events.ts +1 -1
- package/src/resolvers/queries/index.ts +0 -2
- package/src/resolvers/queries/shopInfo.ts +0 -5
- package/src/resolvers/queries/users/validateResetPasswordToken.ts +1 -1
- package/src/resolvers/queries/users/validateVerifyEmailToken.ts +1 -1
- package/src/resolvers/type/assortment/assortment-types.ts +1 -0
- package/src/resolvers/type/event-types.ts +1 -1
- package/src/resolvers/type/index.ts +2 -6
- package/src/resolvers/type/login-method-response-types.ts +1 -12
- package/src/resolvers/type/product/product-types.ts +1 -0
- package/src/resolvers/type/user-types.ts +1 -17
- package/src/resolvers/type/webauthn-credentials-types.ts +1 -1
- package/src/roles/all.ts +1 -7
- package/src/roles/index.ts +0 -6
- package/src/roles/loggedIn.ts +0 -4
- package/src/schema/directives.ts +1 -5
- package/src/schema/inputTypes.ts +11 -25
- package/src/schema/mutation.ts +26 -85
- package/src/schema/query.ts +0 -4
- package/src/schema/scalars.ts +0 -1
- package/src/schema/types/product/product.ts +1 -1
- package/src/schema/types/product/tokenized-product.ts +1 -1
- package/src/schema/types/shop.ts +0 -1
- package/src/schema/types/user.ts +2 -21
- package/lib/express/createApolloMiddleware.d.ts +0 -4
- package/lib/express/createApolloMiddleware.d.ts.map +0 -1
- package/lib/express/createApolloMiddleware.js +0 -36
- package/lib/express/createApolloMiddleware.js.map +0 -1
- package/lib/express/createSingleSignOnMiddleware.d.ts +0 -5
- package/lib/express/createSingleSignOnMiddleware.d.ts.map +0 -1
- package/lib/express/createSingleSignOnMiddleware.js +0 -73
- package/lib/express/createSingleSignOnMiddleware.js.map +0 -1
- package/lib/hashPassword.d.ts +0 -2
- package/lib/hashPassword.d.ts.map +0 -1
- package/lib/hashPassword.js +0 -5
- package/lib/hashPassword.js.map +0 -1
- package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts +0 -3
- package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js +0 -6
- package/lib/resolvers/mutations/accounts/buildSecretTOTPAuthURL.js.map +0 -1
- package/lib/resolvers/mutations/accounts/disableTOTP.d.ts +0 -6
- package/lib/resolvers/mutations/accounts/disableTOTP.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/disableTOTP.js +0 -27
- package/lib/resolvers/mutations/accounts/disableTOTP.js.map +0 -1
- package/lib/resolvers/mutations/accounts/enableTOTP.d.ts +0 -6
- package/lib/resolvers/mutations/accounts/enableTOTP.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/enableTOTP.js +0 -20
- package/lib/resolvers/mutations/accounts/enableTOTP.js.map +0 -1
- package/lib/resolvers/mutations/accounts/impersonate.d.ts +0 -10
- package/lib/resolvers/mutations/accounts/impersonate.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/impersonate.js +0 -15
- package/lib/resolvers/mutations/accounts/impersonate.js.map +0 -1
- package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts +0 -7
- package/lib/resolvers/mutations/accounts/linkOAuthAccount.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/linkOAuthAccount.js +0 -30
- package/lib/resolvers/mutations/accounts/linkOAuthAccount.js.map +0 -1
- package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts +0 -8
- package/lib/resolvers/mutations/accounts/loginWithOAuth.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/loginWithOAuth.js +0 -25
- package/lib/resolvers/mutations/accounts/loginWithOAuth.js.map +0 -1
- package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts +0 -5
- package/lib/resolvers/mutations/accounts/logoutAllSessions.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/logoutAllSessions.js +0 -20
- package/lib/resolvers/mutations/accounts/logoutAllSessions.js.map +0 -1
- package/lib/resolvers/mutations/accounts/stopImpersonation.d.ts +0 -7
- package/lib/resolvers/mutations/accounts/stopImpersonation.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/stopImpersonation.js +0 -21
- package/lib/resolvers/mutations/accounts/stopImpersonation.js.map +0 -1
- package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts +0 -6
- package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.d.ts.map +0 -1
- package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js +0 -13
- package/lib/resolvers/mutations/accounts/unlinkOAuthAccount.js.map +0 -1
- package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts +0 -6
- package/lib/resolvers/mutations/assortments/addAssortmentMedia.d.ts.map +0 -1
- package/lib/resolvers/mutations/assortments/addAssortmentMedia.js +0 -18
- package/lib/resolvers/mutations/assortments/addAssortmentMedia.js.map +0 -1
- package/lib/resolvers/mutations/products/addProductMedia.d.ts +0 -6
- package/lib/resolvers/mutations/products/addProductMedia.d.ts.map +0 -1
- package/lib/resolvers/mutations/products/addProductMedia.js +0 -18
- package/lib/resolvers/mutations/products/addProductMedia.js.map +0 -1
- package/lib/resolvers/mutations/users/updateUserAvatar.d.ts +0 -6
- package/lib/resolvers/mutations/users/updateUserAvatar.d.ts.map +0 -1
- package/lib/resolvers/mutations/users/updateUserAvatar.js +0 -22
- package/lib/resolvers/mutations/users/updateUserAvatar.js.map +0 -1
- package/lib/resolvers/queries/users/impersonator.d.ts +0 -3
- package/lib/resolvers/queries/users/impersonator.d.ts.map +0 -1
- package/lib/resolvers/queries/users/impersonator.js +0 -12
- package/lib/resolvers/queries/users/impersonator.js.map +0 -1
- package/lib/resolvers/type/oauth-account.d.ts +0 -6
- package/lib/resolvers/type/oauth-account.d.ts.map +0 -1
- package/lib/resolvers/type/oauth-account.js +0 -7
- package/lib/resolvers/type/oauth-account.js.map +0 -1
- package/lib/resolvers/type/oauth-provider.d.ts +0 -6
- package/lib/resolvers/type/oauth-provider.d.ts.map +0 -1
- package/lib/resolvers/type/oauth-provider.js +0 -6
- package/lib/resolvers/type/oauth-provider.js.map +0 -1
- package/lib/user-context.d.ts +0 -7
- package/lib/user-context.d.ts.map +0 -1
- package/lib/user-context.js +0 -64
- package/lib/user-context.js.map +0 -1
- package/src/express/createApolloMiddleware.ts +0 -40
- package/src/express/createSingleSignOnMiddleware.ts +0 -92
- package/src/hashPassword.ts +0 -5
- package/src/resolvers/mutations/accounts/buildSecretTOTPAuthURL.ts +0 -8
- package/src/resolvers/mutations/accounts/disableTOTP.ts +0 -36
- package/src/resolvers/mutations/accounts/enableTOTP.ts +0 -23
- package/src/resolvers/mutations/accounts/impersonate.ts +0 -21
- package/src/resolvers/mutations/accounts/linkOAuthAccount.ts +0 -51
- package/src/resolvers/mutations/accounts/loginWithOAuth.ts +0 -38
- package/src/resolvers/mutations/accounts/logoutAllSessions.ts +0 -27
- package/src/resolvers/mutations/accounts/stopImpersonation.ts +0 -31
- package/src/resolvers/mutations/accounts/unlinkOAuthAccount.ts +0 -24
- package/src/resolvers/mutations/assortments/addAssortmentMedia.ts +0 -26
- package/src/resolvers/mutations/products/addProductMedia.ts +0 -24
- package/src/resolvers/mutations/users/updateUserAvatar.ts +0 -39
- package/src/resolvers/queries/users/impersonator.ts +0 -19
- package/src/resolvers/type/oauth-account.ts +0 -8
- package/src/resolvers/type/oauth-provider.ts +0 -5
- package/src/user-context.ts +0 -87
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
3
|
-
import { UserNotFoundError, InvalidIdError } from '../../../errors.js';
|
|
3
|
+
import { UserNotFoundError, InvalidIdError, PasswordInvalidError } from '../../../errors.js';
|
|
4
4
|
|
|
5
5
|
export default async function setPassword(
|
|
6
6
|
root: Root,
|
|
7
|
-
params: {
|
|
7
|
+
params: { newPassword: string; userId: string },
|
|
8
8
|
{ modules, userId }: Context,
|
|
9
9
|
) {
|
|
10
10
|
const normalizedUserId = params.userId || userId;
|
|
@@ -12,13 +12,18 @@ export default async function setPassword(
|
|
|
12
12
|
log(`mutation setPassword ${normalizedUserId}`, { userId });
|
|
13
13
|
|
|
14
14
|
if (!normalizedUserId) throw new InvalidIdError({ userId: normalizedUserId });
|
|
15
|
-
if (!params.
|
|
15
|
+
if (!params.newPassword) {
|
|
16
16
|
throw new Error('Password is required');
|
|
17
17
|
}
|
|
18
18
|
if (!(await modules.users.userExists({ userId: normalizedUserId })))
|
|
19
19
|
throw new UserNotFoundError({ userId: normalizedUserId });
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
try {
|
|
22
|
+
await modules.users.setPassword(normalizedUserId, params.newPassword);
|
|
23
|
+
} catch (e) {
|
|
24
|
+
if (e.cause === 'PASSWORD_INVALID') throw new PasswordInvalidError({ userId: normalizedUserId });
|
|
25
|
+
else throw e;
|
|
26
|
+
}
|
|
22
27
|
|
|
23
28
|
return modules.users.findUserById(normalizedUserId);
|
|
24
29
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
3
|
-
import { UserNotFoundError, InvalidIdError } from '../../../errors.js';
|
|
3
|
+
import { UserNotFoundError, InvalidIdError, UsernameAlreadyExistsError } from '../../../errors.js';
|
|
4
4
|
|
|
5
5
|
export default async function setUsername(
|
|
6
6
|
root: Root,
|
|
@@ -15,7 +15,13 @@ export default async function setUsername(
|
|
|
15
15
|
if (!(await modules.users.userExists({ userId: normalizedUserId })))
|
|
16
16
|
throw new UserNotFoundError({ userId: normalizedUserId });
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
try {
|
|
19
|
+
await modules.users.setUsername(normalizedUserId, params.username);
|
|
20
|
+
} catch (e) {
|
|
21
|
+
if (e.cause === 'USERNAME_INVALID')
|
|
22
|
+
throw new UsernameAlreadyExistsError({ userId: normalizedUserId });
|
|
23
|
+
else throw e;
|
|
24
|
+
}
|
|
19
25
|
|
|
20
26
|
return modules.users.findUserById(normalizedUserId);
|
|
21
27
|
}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
3
|
+
import { InvalidEmailVerificationTokenError } from '../../../errors.js';
|
|
3
4
|
|
|
4
5
|
export default async function verifyEmail(root: Root, { token }: { token: any }, context: Context) {
|
|
5
6
|
const { modules, userId } = context;
|
|
6
7
|
|
|
7
8
|
log(`mutation verifyEmail ${userId}`, { userId });
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const unverifiedToken = await modules.users.findUnverifiedEmailToken(token);
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
if (!unverifiedToken) {
|
|
13
|
+
throw new InvalidEmailVerificationTokenError({ token });
|
|
14
|
+
}
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
await modules.users.verifyEmail(unverifiedToken.userId, unverifiedToken.address);
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
const user = await context.modules.users.updateHeartbeat(unverifiedToken.userId, {
|
|
19
|
+
remoteAddress: context.remoteAddress,
|
|
20
|
+
remotePort: context.remotePort,
|
|
21
|
+
userAgent: context.userAgent,
|
|
22
|
+
locale: context.localeContext.normalized,
|
|
23
|
+
countryCode: context.countryContext,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
return context.login(user);
|
|
18
27
|
}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
3
|
-
import { Assortment } from '@unchainedshop/types/assortments.js';
|
|
3
|
+
import { Assortment, AssortmentText } from '@unchainedshop/types/assortments.js';
|
|
4
4
|
|
|
5
5
|
export default async function createAssortment(
|
|
6
6
|
root: Root,
|
|
7
|
-
{
|
|
8
|
-
|
|
7
|
+
{
|
|
8
|
+
texts,
|
|
9
|
+
assortment: assortmentData,
|
|
10
|
+
}: {
|
|
11
|
+
assortment: Assortment;
|
|
12
|
+
texts?: AssortmentText[];
|
|
13
|
+
},
|
|
14
|
+
{ modules, userId }: Context,
|
|
9
15
|
) {
|
|
10
16
|
log('mutation createAssortment', { userId });
|
|
11
17
|
|
|
12
|
-
const
|
|
13
|
-
...
|
|
14
|
-
locale: localeContext.language,
|
|
18
|
+
const assortment = await modules.assortments.create({
|
|
19
|
+
...assortmentData,
|
|
15
20
|
});
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
if (texts) {
|
|
23
|
+
await modules.assortments.texts.updateTexts(assortment._id, texts);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return assortment;
|
|
18
27
|
}
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
2
|
import { Root, Context } from '@unchainedshop/types/api.js';
|
|
3
|
-
import { Filter } from '@unchainedshop/types/filters.js';
|
|
3
|
+
import { Filter, FilterInputText } from '@unchainedshop/types/filters.js';
|
|
4
4
|
|
|
5
5
|
export default async function createFilter(
|
|
6
6
|
root: Root,
|
|
7
|
-
{ filter }: { filter: Filter
|
|
7
|
+
{ filter, texts }: { filter: Filter; texts: FilterInputText[] },
|
|
8
8
|
context: Context,
|
|
9
9
|
) {
|
|
10
10
|
const { modules, localeContext, userId } = context;
|
|
11
11
|
log('mutation createFilter', { userId });
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
const newFilter = await modules.filters.create(
|
|
14
14
|
{
|
|
15
15
|
...filter,
|
|
16
|
+
title: '',
|
|
16
17
|
locale: localeContext.language,
|
|
17
18
|
},
|
|
18
19
|
context,
|
|
19
20
|
);
|
|
21
|
+
if (texts) {
|
|
22
|
+
await modules.filters.texts.updateTexts({ filterId: newFilter._id }, texts);
|
|
23
|
+
}
|
|
24
|
+
return newFilter;
|
|
20
25
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
2
2
|
import { log } from '@unchainedshop/logger';
|
|
3
|
+
import { FilterInputText } from '@unchainedshop/types/filters.js';
|
|
3
4
|
import { FilterNotFoundError, InvalidIdError } from '../../../errors.js';
|
|
4
5
|
|
|
5
6
|
export default async function createFilterOption(
|
|
6
7
|
root: Root,
|
|
7
|
-
params: { filterId: string; option:
|
|
8
|
+
params: { filterId: string; option: string; texts?: FilterInputText[] },
|
|
8
9
|
context: Context,
|
|
9
10
|
) {
|
|
10
11
|
const { modules, userId } = context;
|
|
11
|
-
const { filterId, option } = params;
|
|
12
|
+
const { filterId, option, texts } = params;
|
|
12
13
|
|
|
13
14
|
log(`mutation createFilterOption ${filterId}`, { userId });
|
|
14
15
|
|
|
@@ -16,10 +17,11 @@ export default async function createFilterOption(
|
|
|
16
17
|
|
|
17
18
|
if (!(await modules.filters.filterExists({ filterId }))) throw new FilterNotFoundError({ filterId });
|
|
18
19
|
|
|
19
|
-
const filter = await modules.filters.createFilterOption(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const filter = await modules.filters.createFilterOption(filterId, { value: option }, context);
|
|
21
|
+
|
|
22
|
+
if (texts) {
|
|
23
|
+
await modules.filters.texts.updateTexts({ filterId, filterOptionValue: option }, texts);
|
|
24
|
+
}
|
|
25
|
+
|
|
24
26
|
return filter;
|
|
25
27
|
}
|
|
@@ -2,20 +2,13 @@ import { actions } from '../../roles/index.js';
|
|
|
2
2
|
import { checkResolver as acl } from '../../acl.js';
|
|
3
3
|
import loginWithPassword from './accounts/loginWithPassword.js';
|
|
4
4
|
import loginWithWebAuthn from './accounts/loginWithWebAuthn.js';
|
|
5
|
-
import impersonate from './accounts/impersonate.js';
|
|
6
|
-
import stopImpersonation from './accounts/stopImpersonation.js';
|
|
7
5
|
import loginAsGuest from './accounts/loginAsGuest.js';
|
|
8
6
|
import logout from './accounts/logout.js';
|
|
9
|
-
import logoutAllSessions from './accounts/logoutAllSessions.js';
|
|
10
|
-
import buildSecretTOTPAuthURL from './accounts/buildSecretTOTPAuthURL.js';
|
|
11
|
-
import enableTOTP from './accounts/enableTOTP.js';
|
|
12
|
-
import disableTOTP from './accounts/disableTOTP.js';
|
|
13
7
|
import changePassword from './accounts/changePassword.js';
|
|
14
8
|
import createUser from './accounts/createUser.js';
|
|
15
9
|
import verifyEmail from './accounts/verifyEmail.js';
|
|
16
10
|
import sendVerificationEmail from './accounts/sendVerificationEmail.js';
|
|
17
11
|
import sendEnrollmentEmail from './accounts/sendEnrollmentEmail.js';
|
|
18
|
-
import addAssortmentMedia from './assortments/addAssortmentMedia.js';
|
|
19
12
|
import forgotPassword from './accounts/forgotPassword.js';
|
|
20
13
|
import resetPassword from './accounts/resetPassword.js';
|
|
21
14
|
import addEmail from './accounts/addEmail.js';
|
|
@@ -27,7 +20,6 @@ import removeWebAuthnCredentials from './accounts/removeWebAuthnCredentials.js';
|
|
|
27
20
|
import addWeb3Address from './accounts/addWeb3Address.js';
|
|
28
21
|
import removeWeb3Address from './accounts/removeWeb3Address.js';
|
|
29
22
|
import verifyWeb3Address from './accounts/verifyWeb3Address.js';
|
|
30
|
-
import updateUserAvatar from './users/updateUserAvatar.js';
|
|
31
23
|
import updateUserProfile from './users/updateUserProfile.js';
|
|
32
24
|
import removeUser from './users/removeUser.js';
|
|
33
25
|
import setUserTags from './users/setUserTags.js';
|
|
@@ -56,7 +48,6 @@ import removeProductVariation from './products/removeProductVariation.js';
|
|
|
56
48
|
import updateProductVariationTexts from './products/updateProductVariationTexts.js';
|
|
57
49
|
import removeProductVariationOption from './products/removeProductVariationOption.js';
|
|
58
50
|
import confirmMediaUpload from './files/confirmMediaUpload.js';
|
|
59
|
-
import addProductMedia from './products/addProductMedia.js';
|
|
60
51
|
import removeProductMedia from './products/removeProductMedia.js';
|
|
61
52
|
import reorderProductMedia from './products/reorderProductMedia.js';
|
|
62
53
|
import updateProductCommerce from './products/updateProductCommerce.js';
|
|
@@ -159,13 +150,9 @@ import prepareUserAvatarUpload from './users/prepareUserAvatarUpload.js';
|
|
|
159
150
|
import rejectOrder from './orders/rejectOrder.js';
|
|
160
151
|
import removePushSubscription from './users/removePushSubscription.js';
|
|
161
152
|
import addPushSubscription from './users/addPushSubscription.js';
|
|
162
|
-
import loginWithOAuth from './accounts/loginWithOAuth.js';
|
|
163
|
-
import linkOAuthAccount from './accounts/linkOAuthAccount.js';
|
|
164
|
-
import unlinkOAuthAccount from './accounts/unlinkOAuthAccount.js';
|
|
165
153
|
|
|
166
154
|
export default {
|
|
167
155
|
logout: acl(actions.logout)(logout),
|
|
168
|
-
logoutAllSessions: acl(actions.logoutAllSessions)(logoutAllSessions),
|
|
169
156
|
loginAsGuest: acl(actions.loginAsGuest)(loginAsGuest),
|
|
170
157
|
createWebAuthnCredentialCreationOptions: acl(actions.useWebAuthn)(
|
|
171
158
|
createWebAuthnCredentialCreationOptions,
|
|
@@ -180,17 +167,9 @@ export default {
|
|
|
180
167
|
addWeb3Address: acl(actions.updateUser)(addWeb3Address),
|
|
181
168
|
removeWeb3Address: acl(actions.updateUser)(removeWeb3Address),
|
|
182
169
|
verifyWeb3Address: acl(actions.updateUser)(verifyWeb3Address),
|
|
183
|
-
linkOAuthAccount: acl(actions.updateUser)(linkOAuthAccount),
|
|
184
|
-
unlinkOAuthAccount: acl(actions.updateUser)(unlinkOAuthAccount),
|
|
185
170
|
verifyEmail: acl(actions.verifyEmail)(verifyEmail),
|
|
186
171
|
loginWithPassword: acl(actions.loginWithPassword)(loginWithPassword),
|
|
187
172
|
loginWithWebAuthn: acl(actions.loginWithWebAuthn)(loginWithWebAuthn),
|
|
188
|
-
loginWithOAuth: acl(actions.loginWithOAuth)(loginWithOAuth),
|
|
189
|
-
impersonate: acl(actions.impersonate)(impersonate),
|
|
190
|
-
stopImpersonation: acl(actions.stopImpersonation)(stopImpersonation),
|
|
191
|
-
buildSecretTOTPAuthURL: acl(actions.authTwoFactor)(buildSecretTOTPAuthURL),
|
|
192
|
-
enableTOTP: acl(actions.authTwoFactor)(enableTOTP),
|
|
193
|
-
disableTOTP: acl(actions.manageTwoFactor)(disableTOTP),
|
|
194
173
|
pageView: acl(actions.pageView)(pageView),
|
|
195
174
|
createUser: acl(actions.createUser)(createUser),
|
|
196
175
|
forgotPassword: acl(actions.forgotPassword)(forgotPassword),
|
|
@@ -201,7 +180,6 @@ export default {
|
|
|
201
180
|
heartbeat: acl(actions.heartbeat)(heartbeat),
|
|
202
181
|
addEmail: acl(actions.updateUser)(addEmail),
|
|
203
182
|
removeEmail: acl(actions.updateUser)(removeEmail),
|
|
204
|
-
updateUserAvatar: acl(actions.updateUser)(updateUserAvatar),
|
|
205
183
|
prepareUserAvatarUpload: acl(actions.updateUser)(prepareUserAvatarUpload),
|
|
206
184
|
updateUserProfile: acl(actions.updateUser)(updateUserProfile),
|
|
207
185
|
removeUser: acl(actions.updateUser)(removeUser),
|
|
@@ -228,7 +206,6 @@ export default {
|
|
|
228
206
|
updateProduct: acl(actions.manageProducts)(updateProduct),
|
|
229
207
|
updateProductTexts: acl(actions.manageProducts)(updateProductTexts),
|
|
230
208
|
updateProductMediaTexts: acl(actions.manageProducts)(updateProductMediaTexts),
|
|
231
|
-
addProductMedia: acl(actions.manageProducts)(addProductMedia),
|
|
232
209
|
confirmMediaUpload: acl(actions.confirmMediaUpload)(confirmMediaUpload),
|
|
233
210
|
prepareProductMediaUpload: acl(actions.manageProducts)(prepareProductMediaUpload),
|
|
234
211
|
reorderProductMedia: acl(actions.manageProducts)(reorderProductMedia),
|
|
@@ -295,7 +272,6 @@ export default {
|
|
|
295
272
|
removeFilterOption: acl(actions.manageFilters)(removeFilterOption),
|
|
296
273
|
createFilterOption: acl(actions.manageFilters)(createFilterOption),
|
|
297
274
|
createAssortment: acl(actions.manageAssortments)(createAssortment),
|
|
298
|
-
addAssortmentMedia: acl(actions.manageAssortments)(addAssortmentMedia),
|
|
299
275
|
prepareAssortmentMediaUpload: acl(actions.manageAssortments)(prepareAssortmentMediaUpload),
|
|
300
276
|
updateAssortment: acl(actions.manageAssortments)(updateAssortment),
|
|
301
277
|
setBaseAssortment: acl(actions.manageAssortments)(setBaseAssortment),
|
|
@@ -16,5 +16,7 @@ export default async function addCartDiscount(
|
|
|
16
16
|
|
|
17
17
|
if (!modules.orders.isCart(order)) throw new OrderWrongStatusError({ status: order.status });
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
const discount = await modules.orders.discounts.createManualOrderDiscount({ order, code }, context);
|
|
20
|
+
await modules.orders.updateCalculation(order._id, context);
|
|
21
|
+
return discount;
|
|
20
22
|
}
|
|
@@ -58,7 +58,7 @@ export default async function addCartQuotation(
|
|
|
58
58
|
context,
|
|
59
59
|
);
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
const updatedOrderPosition = await modules.orders.positions.addProductItem(
|
|
62
62
|
{
|
|
63
63
|
quantity: quotationConfiguration.quantity,
|
|
64
64
|
configuration: quotationConfiguration.configuration,
|
|
@@ -67,4 +67,6 @@ export default async function addCartQuotation(
|
|
|
67
67
|
{ order, product },
|
|
68
68
|
context,
|
|
69
69
|
);
|
|
70
|
+
await modules.orders.updateCalculation(order._id, context);
|
|
71
|
+
return updatedOrderPosition;
|
|
70
72
|
}
|
|
@@ -45,25 +45,29 @@ export default async function addMultipleCartProducts(
|
|
|
45
45
|
if (!modules.orders.isCart(order)) throw new OrderWrongStatusError({ status: order.status });
|
|
46
46
|
|
|
47
47
|
// Reduce is used to wait for each product to be added before processing the next (sequential processing)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
const updatedOrderPositions = await itemsWithProducts.reduce(
|
|
49
|
+
async (positionsPromise, { product, quantity, configuration }) => {
|
|
50
|
+
const positions = await positionsPromise;
|
|
51
|
+
if (quantity < 1)
|
|
52
|
+
throw new OrderQuantityTooLowError({
|
|
53
|
+
quantity,
|
|
54
|
+
productId: product._id,
|
|
55
|
+
});
|
|
55
56
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
const position = await modules.orders.positions.addProductItem(
|
|
58
|
+
{
|
|
59
|
+
quantity,
|
|
60
|
+
configuration,
|
|
61
|
+
},
|
|
62
|
+
{ order, product },
|
|
63
|
+
context,
|
|
64
|
+
);
|
|
65
|
+
positions.push(position);
|
|
66
|
+
return positions;
|
|
67
|
+
},
|
|
68
|
+
Promise.resolve([]),
|
|
69
|
+
);
|
|
66
70
|
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
await modules.orders.updateCalculation(order._id, context);
|
|
72
|
+
return updatedOrderPositions;
|
|
69
73
|
}
|
|
@@ -17,6 +17,6 @@ export default async function emptyCart(
|
|
|
17
17
|
|
|
18
18
|
if (!order) return null;
|
|
19
19
|
|
|
20
|
-
await modules.orders.positions.removePositions({ orderId: order._id }
|
|
21
|
-
return modules.orders.
|
|
20
|
+
await modules.orders.positions.removePositions({ orderId: order._id });
|
|
21
|
+
return modules.orders.updateCalculation(order._id, context);
|
|
22
22
|
}
|
|
@@ -9,7 +9,6 @@ export default async function rejectOrder(
|
|
|
9
9
|
orderId: string;
|
|
10
10
|
paymentContext?: any;
|
|
11
11
|
deliveryContext?: any;
|
|
12
|
-
comment?: string;
|
|
13
12
|
},
|
|
14
13
|
context: Context,
|
|
15
14
|
) {
|
|
@@ -17,7 +16,6 @@ export default async function rejectOrder(
|
|
|
17
16
|
const { orderId, ...transactionContext } = params;
|
|
18
17
|
|
|
19
18
|
log('mutation rejectOrder', { orderId, userId });
|
|
20
|
-
|
|
21
19
|
if (!orderId) throw new InvalidIdError({ orderId });
|
|
22
20
|
|
|
23
21
|
const order = await modules.orders.findOrder({ orderId });
|
|
@@ -26,5 +26,7 @@ export default async function removeCartDiscount(
|
|
|
26
26
|
throw new OrderWrongStatusError({ status: order.status });
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
const deletedDiscount = await modules.orders.discounts.delete(discountId, context);
|
|
30
|
+
await modules.orders.updateCalculation(order._id, context);
|
|
31
|
+
return deletedDiscount;
|
|
30
32
|
}
|
|
@@ -24,5 +24,7 @@ export default async function removeCartItem(
|
|
|
24
24
|
throw new OrderWrongStatusError({ status: order.status });
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
const removedOrderPosition = await modules.orders.positions.delete(itemId);
|
|
28
|
+
await modules.orders.updateCalculation(order._id, context);
|
|
29
|
+
return removedOrderPosition;
|
|
28
30
|
}
|
|
@@ -20,7 +20,6 @@ export default async function setOrderDeliveryProvider(
|
|
|
20
20
|
|
|
21
21
|
if (!(await modules.orders.orderExists({ orderId }))) throw new OrderNotFoundError({ orderId });
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return order;
|
|
23
|
+
await modules.orders.setDeliveryProvider(orderId, deliveryProviderId, context);
|
|
24
|
+
return modules.orders.updateCalculation(orderId, context);
|
|
26
25
|
}
|
|
@@ -21,5 +21,6 @@ export default async function setOrderPaymentProvider(
|
|
|
21
21
|
const order = await modules.orders.findOrder({ orderId });
|
|
22
22
|
if (!order) throw new OrderNotFoundError({ orderId });
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
await modules.orders.setPaymentProvider(orderId, paymentProviderId, context);
|
|
25
|
+
return modules.orders.updateCalculation(orderId, context);
|
|
25
26
|
}
|
|
@@ -24,15 +24,15 @@ export default async function updateCart(root: Root, params: UpdateCartParams, c
|
|
|
24
24
|
if (!modules.orders.isCart(order)) throw new OrderWrongStatusError({ status: order.status });
|
|
25
25
|
|
|
26
26
|
if (meta) {
|
|
27
|
-
order = await modules.orders.updateContext(order._id, meta
|
|
27
|
+
order = await modules.orders.updateContext(order._id, meta);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
if (billingAddress) {
|
|
31
|
-
order = await modules.orders.updateBillingAddress(order._id, billingAddress
|
|
31
|
+
order = await modules.orders.updateBillingAddress(order._id, billingAddress);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
if (contact) {
|
|
35
|
-
order = await modules.orders.updateContact(order._id, contact
|
|
35
|
+
order = await modules.orders.updateContact(order._id, contact);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
if (paymentProviderId) {
|
|
@@ -43,5 +43,6 @@ export default async function updateCart(root: Root, params: UpdateCartParams, c
|
|
|
43
43
|
order = await modules.orders.setDeliveryProvider(order._id, deliveryProviderId, context);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
return
|
|
46
|
+
// Recalculate, then return
|
|
47
|
+
return modules.orders.updateCalculation(order._id, context);
|
|
47
48
|
}
|
|
@@ -41,7 +41,7 @@ export default async function updateCartItem(
|
|
|
41
41
|
|
|
42
42
|
if (quantity !== null && quantity < 1) throw new OrderQuantityTooLowError({ quantity });
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
const updatedOrderPosition = await modules.orders.positions.updateProductItem(
|
|
45
45
|
{ quantity, configuration },
|
|
46
46
|
{
|
|
47
47
|
order,
|
|
@@ -50,4 +50,6 @@ export default async function updateCartItem(
|
|
|
50
50
|
},
|
|
51
51
|
context,
|
|
52
52
|
);
|
|
53
|
+
await modules.orders.updateCalculation(order._id, context);
|
|
54
|
+
return updatedOrderPosition;
|
|
53
55
|
}
|
|
@@ -33,12 +33,12 @@ export default async function updateOrderDeliveryPickUp(
|
|
|
33
33
|
required: DeliveryProviderType.PICKUP,
|
|
34
34
|
});
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
await modules.orders.deliveries.updateContext(orderDeliveryId, {
|
|
37
|
+
orderPickUpLocationId,
|
|
38
|
+
meta,
|
|
39
|
+
});
|
|
40
|
+
await modules.orders.updateCalculation(orderDelivery.orderId, context);
|
|
41
|
+
return modules.orders.deliveries.findDelivery({
|
|
37
42
|
orderDeliveryId,
|
|
38
|
-
|
|
39
|
-
orderPickUpLocationId,
|
|
40
|
-
meta,
|
|
41
|
-
},
|
|
42
|
-
context,
|
|
43
|
-
);
|
|
43
|
+
});
|
|
44
44
|
}
|
|
@@ -32,5 +32,12 @@ export default async function updateOrderDeliveryShipping(
|
|
|
32
32
|
required: DeliveryProviderType.SHIPPING,
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
await modules.orders.deliveries.updateContext(orderDeliveryId, {
|
|
36
|
+
address,
|
|
37
|
+
meta,
|
|
38
|
+
});
|
|
39
|
+
await modules.orders.updateCalculation(orderDelivery.orderId, context);
|
|
40
|
+
return modules.orders.deliveries.findDelivery({
|
|
41
|
+
orderDeliveryId,
|
|
42
|
+
});
|
|
36
43
|
}
|
|
@@ -31,5 +31,7 @@ export default async function updateOrderPaymentCard(
|
|
|
31
31
|
required: PaymentProviderType.CARD,
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
await modules.orders.payments.updateContext(orderPayment._id, { meta });
|
|
35
|
+
await modules.orders.updateCalculation(orderPayment.orderId, context);
|
|
36
|
+
return modules.orders.payments.findOrderPayment({ orderPaymentId });
|
|
35
37
|
}
|
|
@@ -32,5 +32,7 @@ export default async function updateOrderPaymentGeneric(
|
|
|
32
32
|
required: PaymentProviderType.GENERIC,
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
await modules.orders.payments.updateContext(orderPayment._id, { meta });
|
|
36
|
+
await modules.orders.updateCalculation(orderPayment.orderId, context);
|
|
37
|
+
return modules.orders.payments.findOrderPayment({ orderPaymentId });
|
|
36
38
|
}
|
|
@@ -32,5 +32,7 @@ export default async function updateOrderPaymentInvoice(
|
|
|
32
32
|
required: PaymentProviderType.INVOICE,
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
await modules.orders.payments.updateContext(orderPayment._id, { meta });
|
|
36
|
+
await modules.orders.updateCalculation(orderPayment.orderId, context);
|
|
37
|
+
return modules.orders.payments.findOrderPayment({ orderPaymentId });
|
|
36
38
|
}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
2
|
-
import { Product } from '@unchainedshop/types/products.js';
|
|
2
|
+
import { Product, ProductText } from '@unchainedshop/types/products.js';
|
|
3
3
|
import { log } from '@unchainedshop/logger';
|
|
4
4
|
|
|
5
5
|
export default async function createProduct(
|
|
6
6
|
root: Root,
|
|
7
|
-
{ product }: { product: Product
|
|
8
|
-
{ modules, userId
|
|
7
|
+
{ product: productData, texts }: { product: Product; texts?: ProductText[] },
|
|
8
|
+
{ modules, userId }: Context,
|
|
9
9
|
) {
|
|
10
10
|
log('mutation createProduct', { userId });
|
|
11
|
+
const newProduct = await modules.products.create(productData);
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (texts) {
|
|
14
|
+
await modules.products.texts.updateTexts(newProduct._id, texts);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return newProduct;
|
|
16
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
2
|
-
import { ProductVariationType } from '@unchainedshop/types/products.variations.js';
|
|
2
|
+
import { ProductVariationType, VariationInputText } from '@unchainedshop/types/products.variations.js';
|
|
3
3
|
import { ProductTypes } from '@unchainedshop/core-products';
|
|
4
4
|
import { log } from '@unchainedshop/logger';
|
|
5
5
|
import { InvalidIdError, ProductNotFoundError, ProductWrongTypeError } from '../../../errors.js';
|
|
@@ -11,12 +11,12 @@ export default async function F(
|
|
|
11
11
|
variation: {
|
|
12
12
|
key: string;
|
|
13
13
|
type: ProductVariationType;
|
|
14
|
-
title: string;
|
|
15
14
|
};
|
|
15
|
+
texts?: VariationInputText[];
|
|
16
16
|
},
|
|
17
|
-
{ modules,
|
|
17
|
+
{ modules, userId }: Context,
|
|
18
18
|
) {
|
|
19
|
-
const { variation, productId } = params;
|
|
19
|
+
const { variation, productId, texts } = params;
|
|
20
20
|
|
|
21
21
|
log(`mutation createProductVariation ${productId}`, { userId });
|
|
22
22
|
|
|
@@ -32,10 +32,15 @@ export default async function F(
|
|
|
32
32
|
required: ProductTypes.ConfigurableProduct,
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
locale: localeContext.language,
|
|
35
|
+
const newVariation = await modules.products.variations.create({
|
|
37
36
|
options: [],
|
|
38
37
|
productId,
|
|
39
38
|
...variation,
|
|
40
39
|
});
|
|
40
|
+
|
|
41
|
+
if (texts) {
|
|
42
|
+
await modules.products.variations.texts.updateVariationTexts(newVariation._id, texts);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return newVariation;
|
|
41
46
|
}
|