@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,43 +1,38 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import {
|
|
3
|
-
import { AuthOperationFailedError, EmailAlreadyExistsError, UsernameAlreadyExistsError, UsernameOrEmailRequiredError, } from '../../../errors.js';
|
|
2
|
+
import { AuthOperationFailedError, EmailAlreadyExistsError, UsernameAlreadyExistsError, UsernameOrEmailRequiredError, PasswordOrWebAuthnPublicKeyRequiredError, PasswordInvalidError, } from '../../../errors.js';
|
|
4
3
|
export default async function createUser(root, params, context) {
|
|
5
4
|
const { modules, userId } = context;
|
|
6
5
|
log('mutation createUser', { email: params.email, username: params.username, userId });
|
|
7
|
-
if (!params.
|
|
8
|
-
throw new
|
|
6
|
+
if (!params.username && !params.email) {
|
|
7
|
+
throw new UsernameOrEmailRequiredError({ username: params?.username });
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
mappedUser.password = hashPassword(mappedUser.plainPassword);
|
|
9
|
+
if (!params.password && !params.webAuthnPublicKeyCredentials) {
|
|
10
|
+
throw new PasswordOrWebAuthnPublicKeyRequiredError({ username: params?.username });
|
|
13
11
|
}
|
|
14
|
-
delete mappedUser.plainPassword;
|
|
15
|
-
delete mappedUser.webAuthnPublicKeyCredentials;
|
|
16
|
-
const webAuthnService = params.webAuthnPublicKeyCredentials &&
|
|
17
|
-
(await modules.accounts.webAuthn.verifyCredentialCreation(params.username, params.webAuthnPublicKeyCredentials));
|
|
18
|
-
let newUserId;
|
|
19
12
|
try {
|
|
20
|
-
newUserId = await modules.
|
|
21
|
-
|
|
13
|
+
const newUserId = await modules.users.createUser({
|
|
14
|
+
...params,
|
|
15
|
+
initialPassword: false,
|
|
16
|
+
}, {});
|
|
17
|
+
let user = await modules.users.findUserById(newUserId);
|
|
18
|
+
user = await context.modules.users.updateHeartbeat(user._id, {
|
|
19
|
+
remoteAddress: context.remoteAddress,
|
|
20
|
+
remotePort: context.remotePort,
|
|
21
|
+
userAgent: context.userAgent,
|
|
22
|
+
locale: context.localeContext.normalized,
|
|
23
|
+
countryCode: context.countryContext,
|
|
22
24
|
});
|
|
25
|
+
return context.login(user);
|
|
23
26
|
}
|
|
24
27
|
catch (e) {
|
|
25
|
-
if (e.
|
|
28
|
+
if (e.cause === 'EMAIL_INVALID')
|
|
26
29
|
throw new EmailAlreadyExistsError({ email: params?.email });
|
|
27
|
-
else if (e.
|
|
30
|
+
else if (e.cause === 'USERNAME_INVALID')
|
|
28
31
|
throw new UsernameAlreadyExistsError({ username: params?.username });
|
|
29
|
-
else if (e.
|
|
30
|
-
throw new
|
|
32
|
+
else if (e.cause === 'PASSWORD_INVALID')
|
|
33
|
+
throw new PasswordInvalidError({ username: params?.username });
|
|
31
34
|
else
|
|
32
35
|
throw new AuthOperationFailedError({ username: params?.username, email: params.email });
|
|
33
36
|
}
|
|
34
|
-
if (newUserId && webAuthnService) {
|
|
35
|
-
await modules.users.updateUser({ _id: newUserId }, {
|
|
36
|
-
$push: {
|
|
37
|
-
'services.webAuthn': webAuthnService,
|
|
38
|
-
},
|
|
39
|
-
}, {});
|
|
40
|
-
}
|
|
41
|
-
return modules.accounts.createLoginToken(newUserId, context);
|
|
42
37
|
}
|
|
43
38
|
//# sourceMappingURL=createUser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createUser.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"createUser.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,wCAAwC,EACxC,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,IAAU,EAAE,MAAgB,EAAE,OAAgB;IACrF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEpC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,4BAA4B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC;QAC7D,MAAM,IAAI,wCAAwC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAC9C;YACE,GAAG,MAAM;YACT,eAAe,EAAE,KAAK;SACvB,EACD,EAAE,CACH,CAAC;QAEF,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU;YACxC,WAAW,EAAE,OAAO,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;YAAE,MAAM,IAAI,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aACxF,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB;YACrC,MAAM,IAAI,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;aAClE,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB;YACrC,MAAM,IAAI,oBAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;;YAC5D,MAAM,IAAI,wBAAwB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC"}
|
|
@@ -2,5 +2,5 @@ import { Context, Root } from '@unchainedshop/types/api.js';
|
|
|
2
2
|
export default function createWebAuthnCredentialCreationOptions(root: Root, { extensionOptions, username }: {
|
|
3
3
|
username: string;
|
|
4
4
|
extensionOptions: any;
|
|
5
|
-
}, { modules, userId,
|
|
5
|
+
}, { modules, userId, getHeader }: Context): Promise<any>;
|
|
6
6
|
//# sourceMappingURL=createWebAuthnCredentialCreationOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWebAuthnCredentialCreationOptions.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wBAA8B,uCAAuC,CACnE,IAAI,EAAE,IAAI,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,GAAG,CAAA;CAAE,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"createWebAuthnCredentialCreationOptions.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wBAA8B,uCAAuC,CACnE,IAAI,EAAE,IAAI,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,GAAG,CAAA;CAAE,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,gBAaxC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
export default async function createWebAuthnCredentialCreationOptions(root, { extensionOptions, username }, { modules, userId,
|
|
2
|
+
export default async function createWebAuthnCredentialCreationOptions(root, { extensionOptions, username }, { modules, userId, getHeader }) {
|
|
3
3
|
log(`mutation createWebAuthnCredentialCreationOptions ${username}`, {
|
|
4
4
|
userId,
|
|
5
5
|
});
|
|
6
|
-
const options = await modules.
|
|
6
|
+
const options = await modules.users.webAuthn.createCredentialCreationOptions(getHeader('origin'), username, extensionOptions);
|
|
7
7
|
return options;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=createWebAuthnCredentialCreationOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWebAuthnCredentialCreationOptions.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,uCAAuC,CACnE,IAAU,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAA+C,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"createWebAuthnCredentialCreationOptions.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialCreationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,uCAAuC,CACnE,IAAU,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAA+C,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW;IAEvC,GAAG,CAAC,oDAAoD,QAAQ,EAAE,EAAE;QAClE,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,+BAA+B,CAC1E,SAAS,CAAC,QAAQ,CAAW,EAC7B,QAAQ,EACR,gBAAgB,CACjB,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -2,5 +2,5 @@ import { Context, Root } from '@unchainedshop/types/api.js';
|
|
|
2
2
|
export default function createWebAuthnCredentialRequestOptions(root: Root, { extensionOptions, username }: {
|
|
3
3
|
username: string;
|
|
4
4
|
extensionOptions: any;
|
|
5
|
-
}, { modules, userId,
|
|
5
|
+
}, { modules, userId, getHeader }: Context): Promise<any>;
|
|
6
6
|
//# sourceMappingURL=createWebAuthnCredentialRequestOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWebAuthnCredentialRequestOptions.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wBAA8B,sCAAsC,CAClE,IAAI,EAAE,IAAI,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,GAAG,CAAA;CAAE,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"createWebAuthnCredentialRequestOptions.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wBAA8B,sCAAsC,CAClE,IAAI,EAAE,IAAI,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,GAAG,CAAA;CAAE,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,gBAqBxC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
export default async function createWebAuthnCredentialRequestOptions(root, { extensionOptions, username }, { modules, userId,
|
|
2
|
+
export default async function createWebAuthnCredentialRequestOptions(root, { extensionOptions, username }, { modules, userId, getHeader }) {
|
|
3
3
|
log(`mutation createWebAuthnCredentialRequestOptions ${username}`, {
|
|
4
4
|
userId,
|
|
5
5
|
});
|
|
6
|
-
const options = await modules.
|
|
6
|
+
const options = await modules.users.webAuthn.createCredentialRequestOptions(getHeader('origin'), username, extensionOptions);
|
|
7
7
|
if (username) {
|
|
8
|
-
const user = await modules.users.
|
|
8
|
+
const user = await modules.users.findUserByUsername(username);
|
|
9
9
|
options.allowCredentials = user?.services?.webAuthn?.map(({ id, type }) => ({
|
|
10
10
|
id,
|
|
11
11
|
type: type || options.type || 'public-key',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWebAuthnCredentialRequestOptions.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,sCAAsC,CAClE,IAAU,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAA+C,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"createWebAuthnCredentialRequestOptions.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/createWebAuthnCredentialRequestOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,sCAAsC,CAClE,IAAU,EACV,EAAE,gBAAgB,EAAE,QAAQ,EAA+C,EAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW;IAEvC,GAAG,CAAC,mDAAmD,QAAQ,EAAE,EAAE;QACjE,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CACzE,SAAS,CAAC,QAAQ,CAAW,EAC7B,QAAQ,EACR,gBAAgB,CACjB,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,CAAC,gBAAgB,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1E,EAAE;YACF,IAAI,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,YAAY;SAC3C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
2
|
-
import { UserData } from '@unchainedshop/types/
|
|
2
|
+
import { UserData } from '@unchainedshop/types/user.js';
|
|
3
3
|
export default function enrollUser(root: Root, params: UserData, context: Context): Promise<import("@unchainedshop/types/user.js").User>;
|
|
4
4
|
//# sourceMappingURL=enrollUser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrollUser.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/enrollUser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"enrollUser.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/enrollUser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AASxD,wBAA8B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,wDA6BtF"}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import {
|
|
3
|
-
import { AuthOperationFailedError, EmailAlreadyExistsError, UsernameAlreadyExistsError, UsernameOrEmailRequiredError, } from '../../../errors.js';
|
|
2
|
+
import { AuthOperationFailedError, EmailAlreadyExistsError, PasswordInvalidError, UsernameAlreadyExistsError, UsernameOrEmailRequiredError, } from '../../../errors.js';
|
|
4
3
|
export default async function enrollUser(root, params, context) {
|
|
5
4
|
const { modules } = context;
|
|
6
5
|
log('mutation enrollUser', { email: params.email, userId: context.userId });
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (mappedUserData.plainPassword) {
|
|
10
|
-
mappedUserData.password = hashPassword(mappedUserData.plainPassword);
|
|
6
|
+
if (!params.username && !params.email) {
|
|
7
|
+
throw new UsernameOrEmailRequiredError({});
|
|
11
8
|
}
|
|
12
|
-
delete mappedUserData.plainPassword;
|
|
13
|
-
// Skip Messaging when password is set so we
|
|
14
|
-
// don't send a verification e-mail after enrollment
|
|
15
9
|
try {
|
|
16
|
-
const userId = await modules.
|
|
17
|
-
|
|
10
|
+
const userId = await modules.users.createUser({
|
|
11
|
+
...params,
|
|
12
|
+
initialPassword: true,
|
|
13
|
+
}, {
|
|
14
|
+
skipMessaging: !!params.password,
|
|
18
15
|
});
|
|
19
16
|
return modules.users.findUserById(userId);
|
|
20
17
|
}
|
|
21
18
|
catch (e) {
|
|
22
|
-
if (e.
|
|
19
|
+
if (e.cause === 'EMAIL_INVALID')
|
|
23
20
|
throw new EmailAlreadyExistsError({ email: params?.email });
|
|
24
|
-
else if (e.
|
|
25
|
-
throw new UsernameAlreadyExistsError({ username: params?.username
|
|
26
|
-
else if (e.
|
|
27
|
-
throw new
|
|
21
|
+
else if (e.cause === 'USERNAME_INVALID')
|
|
22
|
+
throw new UsernameAlreadyExistsError({ username: params?.username });
|
|
23
|
+
else if (e.cause === 'PASSWORD_INVALID')
|
|
24
|
+
throw new PasswordInvalidError({ username: params?.username });
|
|
28
25
|
else
|
|
29
26
|
throw new AuthOperationFailedError({ username: params?.username, email: params.email });
|
|
30
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrollUser.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/enrollUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,
|
|
1
|
+
{"version":3,"file":"enrollUser.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/enrollUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,IAAU,EAAE,MAAgB,EAAE,OAAgB;IACrF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5E,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAC3C;YACE,GAAG,MAAM;YACT,eAAe,EAAE,IAAI;SACtB,EACD;YACE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;SACjC,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;YAAE,MAAM,IAAI,uBAAuB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aACxF,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB;YACrC,MAAM,IAAI,0BAA0B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;aAClE,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB;YACrC,MAAM,IAAI,oBAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;;YAC5D,MAAM,IAAI,wBAAwB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,cAAc,CAC1C,IAAI,EAAE,IAAI,EACV,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO;;
|
|
1
|
+
{"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,cAAc,CAC1C,IAAI,EAAE,IAAI,EACV,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO;;GAiB7B"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import {
|
|
2
|
+
import { UserNotFoundError } from '../../../errors.js';
|
|
3
3
|
export default async function forgotPassword(root, { email }, { modules, userId }) {
|
|
4
4
|
log('mutation forgotPassword', { email, userId });
|
|
5
|
-
|
|
5
|
+
const user = await modules.users.findUserByEmail(email);
|
|
6
|
+
if (!user)
|
|
7
|
+
throw new UserNotFoundError({ email });
|
|
6
8
|
try {
|
|
7
|
-
|
|
9
|
+
await modules.users.sendResetPasswordEmail(user._id, email);
|
|
10
|
+
return {
|
|
11
|
+
success: true,
|
|
12
|
+
};
|
|
8
13
|
}
|
|
9
14
|
catch (e) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
throw new AuthOperationFailedError({ email });
|
|
15
|
+
return {
|
|
16
|
+
success: false,
|
|
17
|
+
};
|
|
14
18
|
}
|
|
15
|
-
return { success };
|
|
16
19
|
}
|
|
17
20
|
//# sourceMappingURL=forgotPassword.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAC1C,IAAU,EACV,EAAE,KAAK,EAAqB,EAC5B,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,GAAG,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
2
2
|
export default function loginAsGuest(root: Root, _: any, context: Context): Promise<{
|
|
3
|
-
|
|
4
|
-
token: string;
|
|
3
|
+
_id: string;
|
|
5
4
|
tokenExpires: Date;
|
|
6
5
|
}>;
|
|
7
6
|
//# sourceMappingURL=loginAsGuest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginAsGuest.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginAsGuest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"loginAsGuest.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginAsGuest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAK5D,wBAA8B,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO;;;GAyB9E"}
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
+
import moniker from 'moniker';
|
|
3
|
+
import { randomValueHex } from '@unchainedshop/utils';
|
|
2
4
|
export default async function loginAsGuest(root, _, context) {
|
|
3
|
-
const { modules } = context;
|
|
4
5
|
log('mutation loginAsGuest');
|
|
5
|
-
const
|
|
6
|
-
|
|
6
|
+
const guestname = `${moniker.choose()}-${randomValueHex(5)}`;
|
|
7
|
+
const guestUserId = await context.modules.users.createUser({
|
|
8
|
+
email: `${guestname}@unchained.local`,
|
|
9
|
+
guest: true,
|
|
10
|
+
password: null,
|
|
11
|
+
initialPassword: true,
|
|
12
|
+
}, { skipMessaging: true });
|
|
13
|
+
let user = await context.modules.users.findUserById(guestUserId);
|
|
14
|
+
user = await context.modules.users.updateHeartbeat(user._id, {
|
|
15
|
+
remoteAddress: context.remoteAddress,
|
|
16
|
+
remotePort: context.remotePort,
|
|
17
|
+
userAgent: context.userAgent,
|
|
18
|
+
locale: context.localeContext.normalized,
|
|
19
|
+
countryCode: context.countryContext,
|
|
20
|
+
});
|
|
21
|
+
return context.login(user);
|
|
7
22
|
}
|
|
8
23
|
//# sourceMappingURL=loginAsGuest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginAsGuest.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginAsGuest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"loginAsGuest.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginAsGuest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CAAC,IAAU,EAAE,CAAM,EAAE,OAAgB;IAC7E,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CACxD;QACE,KAAK,EAAE,GAAG,SAAS,kBAAkB;QACrC,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACtB,EACD,EAAE,aAAa,EAAE,IAAI,EAAE,CACxB,CAAC;IAEF,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAEjE,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU;QACxC,WAAW,EAAE,OAAO,CAAC,cAAc;KACpC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -2,11 +2,9 @@ import { Context, Root } from '@unchainedshop/types/api.js';
|
|
|
2
2
|
export default function loginWithPassword(root: Root, params: {
|
|
3
3
|
username?: string;
|
|
4
4
|
email?: string;
|
|
5
|
-
|
|
6
|
-
totpCode?: string;
|
|
5
|
+
password?: string;
|
|
7
6
|
}, context: Context): Promise<{
|
|
8
|
-
|
|
9
|
-
token: string;
|
|
7
|
+
_id: string;
|
|
10
8
|
tokenExpires: Date;
|
|
11
9
|
}>;
|
|
12
10
|
//# sourceMappingURL=loginWithPassword.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loginWithPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,iBAAiB,CAC7C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,EACD,OAAO,EAAE,OAAO;;;GAsCjB"}
|
|
@@ -1,35 +1,32 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import {
|
|
3
|
-
import { hashPassword } from '../../../hashPassword.js';
|
|
2
|
+
import { InvalidCredentialsError } from '../../../errors.js';
|
|
4
3
|
export default async function loginWithPassword(root, params, context) {
|
|
5
|
-
const {
|
|
6
|
-
const { username, email, plainPassword, totpCode } = params;
|
|
4
|
+
const { username, email, password } = params;
|
|
7
5
|
log('mutation loginWithPassword', { username, email });
|
|
8
|
-
if (!
|
|
6
|
+
if (!password) {
|
|
9
7
|
throw new Error('Password is required');
|
|
10
8
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
let user = username
|
|
10
|
+
? await context.modules.users.findUserByUsername(username)
|
|
11
|
+
: await context.modules.users.findUserByEmail(email);
|
|
12
|
+
const verified = user.services?.password &&
|
|
13
|
+
(await context.modules.users.verifyPassword(user.services.password, password));
|
|
14
|
+
if (!verified)
|
|
15
|
+
throw new InvalidCredentialsError({ username, email });
|
|
16
|
+
if (user.guest) {
|
|
17
|
+
await context.modules.users.updateGuest(user, false);
|
|
19
18
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
else if (e?.message?.includes("2FA code didn't match"))
|
|
30
|
-
throw new TwoFactorCodeDidNotMatchError({ submittedCode: params.totpCode, username, email });
|
|
31
|
-
else
|
|
32
|
-
throw new AuthOperationFailedError({ submittedCode: params.totpCode, username, email });
|
|
19
|
+
user = await context.modules.users.updateHeartbeat(user._id, {
|
|
20
|
+
remoteAddress: context.remoteAddress,
|
|
21
|
+
remotePort: context.remotePort,
|
|
22
|
+
userAgent: context.userAgent,
|
|
23
|
+
locale: context.localeContext.normalized,
|
|
24
|
+
countryCode: context.countryContext,
|
|
25
|
+
});
|
|
26
|
+
if (context.userId) {
|
|
27
|
+
await context.services.users.migrateUserData(context.userId, user._id, context);
|
|
33
28
|
}
|
|
29
|
+
await context.services.orders.nextUserCart({ user, countryCode: context.countryContext }, context);
|
|
30
|
+
return context.login(user);
|
|
34
31
|
}
|
|
35
32
|
//# sourceMappingURL=loginWithPassword.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithPassword.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"loginWithPassword.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithPassword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,IAAU,EACV,MAIC,EACD,OAAgB;IAEhB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC7C,GAAG,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,GAAG,QAAQ;QACjB,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAC1D,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,EAAE,QAAQ;QACvB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEjF,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,uBAAuB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU;QACxC,WAAW,EAAE,OAAO,CAAC,cAAc;KACpC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,CAAC;IAEnG,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -2,8 +2,7 @@ import { Context, Root } from '@unchainedshop/types/api.js';
|
|
|
2
2
|
export default function loginWithWebAuthn(root: Root, params: {
|
|
3
3
|
webAuthnPublicKeyCredentials?: any;
|
|
4
4
|
}, context: Context): Promise<{
|
|
5
|
-
|
|
6
|
-
token: string;
|
|
5
|
+
_id: string;
|
|
7
6
|
tokenExpires: Date;
|
|
8
7
|
}>;
|
|
9
8
|
//# sourceMappingURL=loginWithWebAuthn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithWebAuthn.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithWebAuthn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"loginWithWebAuthn.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithWebAuthn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wBAA8B,iBAAiB,CAC7C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE;IACN,4BAA4B,CAAC,EAAE,GAAG,CAAC;CACpC,EACD,OAAO,EAAE,OAAO;;;GAyBjB"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { log } from '@unchainedshop/logger';
|
|
2
|
-
import { AuthenticationFailedError, AuthOperationFailedError, UserDeactivatedError, } from '../../../errors.js';
|
|
3
2
|
export default async function loginWithWebAuthn(root, params, context) {
|
|
4
|
-
const { modules } = context;
|
|
5
3
|
log('mutation loginWithWebAuthn');
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
4
|
+
const username = Buffer.from(params.webAuthnPublicKeyCredentials?.response?.userHandle, 'base64').toString() || '';
|
|
5
|
+
let user = await context.modules.users.findUserByUsername(username);
|
|
6
|
+
if (!user)
|
|
7
|
+
throw new Error('User not found');
|
|
8
|
+
await context.modules.users.webAuthn.verifyCredentialRequest(user.services?.webAuthn, user.username, params.webAuthnPublicKeyCredentials);
|
|
9
|
+
user = await context.modules.users.updateHeartbeat(user._id, {
|
|
10
|
+
remoteAddress: context.remoteAddress,
|
|
11
|
+
remotePort: context.remotePort,
|
|
12
|
+
userAgent: context.userAgent,
|
|
13
|
+
locale: context.localeContext.normalized,
|
|
14
|
+
countryCode: context.countryContext,
|
|
15
|
+
});
|
|
16
|
+
return context.login(user);
|
|
18
17
|
}
|
|
19
18
|
//# sourceMappingURL=loginWithWebAuthn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loginWithWebAuthn.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithWebAuthn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"loginWithWebAuthn.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/loginWithWebAuthn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC7C,IAAU,EACV,MAEC,EACD,OAAgB;IAEhB,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAElC,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEpG,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE7C,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAC1D,IAAI,CAAC,QAAQ,EAAE,QAAQ,EACvB,IAAI,CAAC,QAAQ,EACb,MAAM,CAAC,4BAA4B,CACpC,CAAC;IAEF,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3D,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU;QACxC,WAAW,EAAE,OAAO,CAAC,cAAc;KACpC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
2
|
-
export default function logout(root: Root,
|
|
3
|
-
token: string;
|
|
4
|
-
}, context: Context): Promise<{
|
|
2
|
+
export default function logout(root: Root, _: never, context: Context): Promise<{
|
|
5
3
|
success: boolean;
|
|
6
4
|
}>;
|
|
7
5
|
//# sourceMappingURL=logout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;;GAQ1E"}
|
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
import { log
|
|
2
|
-
export default async function logout(root,
|
|
3
|
-
const {
|
|
1
|
+
import { log } from '@unchainedshop/logger';
|
|
2
|
+
export default async function logout(root, _, context) {
|
|
3
|
+
const { userId } = context;
|
|
4
4
|
log('mutation logout', { userId });
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
loginToken: context.loginToken,
|
|
8
|
-
userId: context.userId,
|
|
9
|
-
}, context);
|
|
10
|
-
if (loggedOut.error) {
|
|
11
|
-
log('Error while logging out', {
|
|
12
|
-
logLevel: LogLevel.Error,
|
|
13
|
-
...loggedOut.error,
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
setLoginToken(null);
|
|
18
|
-
}
|
|
19
|
-
return { success: loggedOut.success };
|
|
5
|
+
const success = await context.logout();
|
|
6
|
+
return { success };
|
|
20
7
|
}
|
|
21
8
|
//# sourceMappingURL=logout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/logout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/logout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAAC,IAAU,EAAE,CAAQ,EAAE,OAAgB;IACzE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,GAAG,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;IAEvC,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
|
|
@@ -5,7 +5,7 @@ export default async function removeEmail(root, params, { modules, userId }) {
|
|
|
5
5
|
log(`mutation removeEmail ${params.email} ${normalizedUserId}`, { userId });
|
|
6
6
|
if (!(await modules.users.userExists({ userId: normalizedUserId })))
|
|
7
7
|
throw new UserNotFoundError({ userId: normalizedUserId });
|
|
8
|
-
await modules.
|
|
8
|
+
await modules.users.removeEmail(normalizedUserId, params.email);
|
|
9
9
|
return modules.users.findUserById(normalizedUserId);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=removeEmail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeEmail.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/removeEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,IAAU,EACV,MAA0C,EAC1C,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IAEjD,GAAG,CAAC,wBAAwB,MAAM,CAAC,KAAK,IAAI,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5E,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5D,MAAM,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"removeEmail.js","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/removeEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CACvC,IAAU,EACV,MAA0C,EAC1C,EAAE,OAAO,EAAE,MAAM,EAAW;IAE5B,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;IAEjD,GAAG,CAAC,wBAAwB,MAAM,CAAC,KAAK,IAAI,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5E,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE5D,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhE,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Context, Root } from '@unchainedshop/types/api.js';
|
|
2
2
|
export default function resetPassword(root: Root, params: {
|
|
3
|
-
|
|
3
|
+
newPassword?: string;
|
|
4
4
|
token: string;
|
|
5
5
|
}, context: Context): Promise<{
|
|
6
|
-
|
|
7
|
-
token: string;
|
|
6
|
+
_id: string;
|
|
8
7
|
tokenExpires: Date;
|
|
9
8
|
}>;
|
|
10
9
|
//# sourceMappingURL=resetPassword.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/resetPassword.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/mutations/accounts/resetPassword.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAG5D,wBAA8B,aAAa,CACzC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC/C,OAAO,EAAE,OAAO;;;GA4DjB"}
|