cloudcommerce 0.14.1 → 0.15.1
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/.github/renovate.json +20 -3
- package/.github/workflows/{e2e-tests.yml → test-e2e.yml} +28 -19
- package/.vscode/settings.json +6 -0
- package/CHANGELOG.md +100 -0
- package/action.yml +74 -2
- package/ecomplus-stores/monocard/README.md +1 -1
- package/ecomplus-stores/monocard/README.pt-BR.md +1 -1
- package/ecomplus-stores/monocard/functions/ssr/tailwind.config.cjs +2 -3
- package/ecomplus-stores/monocard/functions/ssr/uno.config.cjs +3 -3
- package/ecomplus-stores/tia-sonia/README.md +1 -1
- package/ecomplus-stores/tia-sonia/README.pt-BR.md +1 -1
- package/ecomplus-stores/tia-sonia/functions/ssr/tailwind.config.cjs +2 -3
- package/ecomplus-stores/tia-sonia/functions/ssr/uno.config.cjs +3 -3
- package/package.json +14 -14
- package/packages/api/lib/api.d.ts +13 -12
- package/packages/api/lib/api.js +51 -29
- package/packages/api/lib/api.js.map +1 -1
- package/packages/api/package.json +3 -3
- package/packages/api/src/api.ts +52 -22
- package/packages/api/tests/index.test.ts +18 -3
- package/packages/api/{src/types → types}/brands.d.ts +1 -1
- package/packages/api/{lib/types → types}/carts.d.ts +6 -6
- package/packages/api/{src/types → types}/categories.d.ts +2 -2
- package/packages/api/{src/types → types}/collections.d.ts +2 -2
- package/packages/api/{src/types → types}/customers.d.ts +1 -1
- package/packages/api/{src/types → types}/grids.d.ts +1 -1
- package/packages/api/{lib/types → types}/orders.d.ts +13 -13
- package/packages/api/{lib/types → types}/products.d.ts +10 -10
- package/packages/api/{src/types.ts → types.d.ts} +254 -31
- package/packages/api/types.ts +1 -1
- package/packages/apps/affilate-program/CHANGELOG.md +1 -0
- package/packages/apps/affilate-program/README.md +1 -0
- package/packages/apps/affilate-program/lib/affilate-program.js +9 -0
- package/packages/apps/affilate-program/lib/affilate-program.js.map +1 -0
- package/packages/apps/affilate-program/lib/events-to-affilate-program.js +154 -0
- package/packages/apps/affilate-program/lib/events-to-affilate-program.js.map +1 -0
- package/packages/apps/affilate-program/lib/index.js +2 -0
- package/packages/apps/affilate-program/lib/index.js.map +1 -0
- package/packages/apps/affilate-program/package.json +30 -0
- package/packages/apps/affilate-program/src/affilate-program.ts +14 -0
- package/packages/apps/affilate-program/src/events-to-affilate-program.ts +184 -0
- package/packages/apps/affilate-program/src/index.ts +1 -0
- package/packages/apps/affilate-program/tsconfig.json +3 -0
- package/packages/apps/correios/package.json +2 -2
- package/packages/apps/custom-payment/lib/custom-payment-create-transaction.d.ts +4 -0
- package/packages/apps/custom-payment/lib/custom-payment.d.ts +4 -0
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/package.json +4 -4
- package/packages/apps/discounts/lib-mjs/apply-discount.mjs +27 -2
- package/packages/apps/discounts/lib-mjs/helpers.mjs +4 -2
- package/packages/apps/discounts/package.json +2 -2
- package/packages/apps/emails/lib/functios-lib/abandoned-carts.js +1 -1
- package/packages/apps/emails/lib/functios-lib/abandoned-carts.js.map +1 -1
- package/packages/apps/emails/lib/functios-lib/utils.js.map +1 -1
- package/packages/apps/emails/package.json +3 -3
- package/packages/apps/emails/src/functios-lib/abandoned-carts.ts +1 -1
- package/packages/apps/emails/src/functios-lib/utils.ts +2 -1
- package/packages/apps/fb-conversions/lib/fb-conversions-events.js +20 -6
- package/packages/apps/fb-conversions/lib/fb-conversions-events.js.map +1 -1
- package/packages/apps/fb-conversions/package.json +3 -3
- package/packages/apps/fb-conversions/src/fb-conversions-events.ts +21 -6
- package/packages/apps/flash-courier/CHANGELOG.md +1 -0
- package/packages/apps/flash-courier/README.md +1 -0
- package/packages/apps/flash-courier/events.js +1 -0
- package/packages/apps/flash-courier/lib/flash-courier-events.d.ts +5 -0
- package/packages/apps/flash-courier/lib/flash-courier-events.js +14 -0
- package/packages/apps/flash-courier/lib/flash-courier-events.js.map +1 -0
- package/packages/apps/flash-courier/lib/flash-courier.d.ts +2 -0
- package/packages/apps/flash-courier/lib/flash-courier.js +6 -0
- package/packages/apps/flash-courier/lib/flash-courier.js.map +1 -0
- package/packages/apps/flash-courier/lib/index.d.ts +1 -0
- package/packages/apps/flash-courier/lib/index.js +2 -0
- package/packages/apps/flash-courier/lib/index.js.map +1 -0
- package/packages/apps/flash-courier/lib-mjs/calculate-flash-courier.mjs +246 -0
- package/packages/apps/flash-courier/lib-mjs/update-tracking.mjs +176 -0
- package/packages/apps/flash-courier/package.json +34 -0
- package/packages/apps/flash-courier/src/flash-courier-events.ts +13 -0
- package/packages/apps/flash-courier/src/flash-courier.ts +7 -0
- package/packages/apps/flash-courier/src/index.ts +1 -0
- package/packages/apps/flash-courier/tsconfig.json +6 -0
- package/packages/apps/frenet/lib/functions-lib/database.d.ts +4 -3
- package/packages/apps/frenet/lib/functions-lib/database.js.map +1 -1
- package/packages/apps/frenet/lib/functions-lib/update-fulfillments.d.ts +3 -2
- package/packages/apps/frenet/lib/functions-lib/update-fulfillments.js.map +1 -1
- package/packages/apps/frenet/lib-mjs/calculate-frenet.mjs +13 -6
- package/packages/apps/frenet/package.json +3 -3
- package/packages/apps/frenet/src/functions-lib/database.ts +4 -3
- package/packages/apps/frenet/src/functions-lib/update-fulfillments.ts +2 -1
- package/packages/apps/galaxpay/lib/functions-lib/all-parses.js +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/all-parses.js.map +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.js +18 -2
- package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.js.map +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.d.ts +2 -2
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.d.ts +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.js.map +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.js +19 -2
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.js.map +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js +18 -2
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js.map +1 -1
- package/packages/apps/galaxpay/lib/functions-lib/utils.js +3 -3
- package/packages/apps/galaxpay/lib/functions-lib/utils.js.map +1 -1
- package/packages/apps/galaxpay/lib/galaxpay-create-transaction.d.ts +4 -0
- package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js +19 -3
- package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js.map +1 -1
- package/packages/apps/galaxpay/lib/galaxpay-list-payments.js +17 -1
- package/packages/apps/galaxpay/lib/galaxpay-list-payments.js.map +1 -1
- package/packages/apps/galaxpay/lib/galaxpay.d.ts +4 -0
- package/packages/apps/galaxpay/package.json +3 -3
- package/packages/apps/galaxpay/src/functions-lib/all-parses.ts +1 -1
- package/packages/apps/galaxpay/src/functions-lib/ecom/events-to-galaxpay.ts +21 -2
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/auth/create-access.ts +2 -2
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/handle-plans.ts +1 -2
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/update-subscription.ts +21 -2
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/webhook.ts +23 -5
- package/packages/apps/galaxpay/src/functions-lib/utils.ts +3 -3
- package/packages/apps/galaxpay/src/galaxpay-create-transaction.ts +19 -2
- package/packages/apps/galaxpay/src/galaxpay-list-payments.ts +19 -1
- package/packages/apps/google-analytics/lib/google-analytics-events.js +20 -4
- package/packages/apps/google-analytics/lib/google-analytics-events.js.map +1 -1
- package/packages/apps/google-analytics/package.json +3 -3
- package/packages/apps/google-analytics/src/google-analytics-events.ts +21 -4
- package/packages/apps/infinitepay/lib/functions-lib/add-installments.d.ts +1 -1
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.d.ts +2 -2
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.js +12 -8
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.js.map +1 -1
- package/packages/apps/infinitepay/lib/functions-lib/utils.js +3 -3
- package/packages/apps/infinitepay/lib/functions-lib/utils.js.map +1 -1
- package/packages/apps/infinitepay/lib/infinitepay.d.ts +4 -0
- package/packages/apps/infinitepay/lib/ip-create-transaction.d.ts +4 -0
- package/packages/apps/infinitepay/lib/ip-create-transaction.js +18 -2
- package/packages/apps/infinitepay/lib/ip-create-transaction.js.map +1 -1
- package/packages/apps/infinitepay/lib/ip-list-payments.js +19 -3
- package/packages/apps/infinitepay/lib/ip-list-payments.js.map +1 -1
- package/packages/apps/infinitepay/lib/ip-webhook.js.map +1 -1
- package/packages/apps/infinitepay/package.json +3 -3
- package/packages/apps/infinitepay/src/functions-lib/add-installments.ts +1 -1
- package/packages/apps/infinitepay/src/functions-lib/ip-auth/create-access.ts +14 -10
- package/packages/apps/infinitepay/src/functions-lib/utils.ts +3 -3
- package/packages/apps/infinitepay/src/ip-create-transaction.ts +20 -2
- package/packages/apps/infinitepay/src/ip-list-payments.ts +21 -3
- package/packages/apps/infinitepay/src/ip-webhook.ts +4 -5
- package/packages/apps/jadlog/lib-mjs/calculate-jadlog.mjs +19 -6
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/lib/functions-lib/handle-loyalty-points-event.js.map +1 -1
- package/packages/apps/loyalty-points/lib/loyalty-create-transaction.d.ts +4 -0
- package/packages/apps/loyalty-points/lib/loyalty-create-transaction.js.map +1 -1
- package/packages/apps/loyalty-points/lib/loyalty-points.d.ts +4 -0
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/loyalty-points/src/functions-lib/handle-loyalty-points-event.ts +2 -2
- package/packages/apps/loyalty-points/src/loyalty-create-transaction.ts +4 -3
- package/packages/apps/melhor-envio/lib/functions-lib/events-to-melhor-envio.js +18 -14
- package/packages/apps/melhor-envio/lib/functions-lib/events-to-melhor-envio.js.map +1 -1
- package/packages/apps/melhor-envio/lib-mjs/calculate-melhor-envio.mjs +21 -15
- package/packages/apps/melhor-envio/package.json +3 -3
- package/packages/apps/melhor-envio/src/functions-lib/events-to-melhor-envio.ts +34 -22
- package/packages/apps/mercadopago/lib/mercadopago.d.ts +4 -0
- package/packages/apps/mercadopago/lib/mp-create-transaction.d.ts +4 -0
- package/packages/apps/mercadopago/lib/mp-create-transaction.js +14 -1
- package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
- package/packages/apps/mercadopago/lib/mp-list-payments.js +16 -7
- package/packages/apps/mercadopago/lib/mp-list-payments.js.map +1 -1
- package/packages/apps/mercadopago/lib/mp-webhook.js +10 -3
- package/packages/apps/mercadopago/lib/mp-webhook.js.map +1 -1
- package/packages/apps/mercadopago/package.json +3 -3
- package/packages/apps/mercadopago/src/mp-create-transaction.ts +15 -1
- package/packages/apps/mercadopago/src/mp-list-payments.ts +17 -7
- package/packages/apps/mercadopago/src/mp-webhook.ts +11 -3
- package/packages/apps/pagarme/assets/onload-expression.js +22 -8
- package/packages/apps/pagarme/assets/onload-expression.min.js +1 -1
- package/packages/apps/pagarme/lib/functions-lib/add-installments.d.ts +3 -3
- package/packages/apps/pagarme/lib/functions-lib/add-installments.js +5 -1
- package/packages/apps/pagarme/lib/functions-lib/add-installments.js.map +1 -1
- package/packages/apps/pagarme/lib/pagarme-create-transaction.d.ts +4 -0
- package/packages/apps/pagarme/lib/pagarme-create-transaction.js +27 -2
- package/packages/apps/pagarme/lib/pagarme-create-transaction.js.map +1 -1
- package/packages/apps/pagarme/lib/pagarme-list-payments.js +28 -6
- package/packages/apps/pagarme/lib/pagarme-list-payments.js.map +1 -1
- package/packages/apps/pagarme/lib/pagarme-webhook.js +10 -2
- package/packages/apps/pagarme/lib/pagarme-webhook.js.map +1 -1
- package/packages/apps/pagarme/lib/pagarme.d.ts +4 -0
- package/packages/apps/pagarme/package.json +3 -3
- package/packages/apps/pagarme/src/functions-lib/add-installments.ts +8 -2
- package/packages/apps/pagarme/src/pagarme-create-transaction.ts +28 -2
- package/packages/apps/pagarme/src/pagarme-list-payments.ts +37 -6
- package/packages/apps/pagarme/src/pagarme-webhook.ts +11 -2
- package/packages/apps/paghiper/lib/functions-lib/handle-webhook.js +11 -3
- package/packages/apps/paghiper/lib/functions-lib/handle-webhook.js.map +1 -1
- package/packages/apps/paghiper/lib/paghiper-create-transaction.d.ts +4 -0
- package/packages/apps/paghiper/lib/paghiper-create-transaction.js +9 -1
- package/packages/apps/paghiper/lib/paghiper-create-transaction.js.map +1 -1
- package/packages/apps/paghiper/lib/paghiper-list-payments.js +11 -4
- package/packages/apps/paghiper/lib/paghiper-list-payments.js.map +1 -1
- package/packages/apps/paghiper/lib/paghiper.d.ts +4 -0
- package/packages/apps/paghiper/package.json +3 -3
- package/packages/apps/paghiper/src/functions-lib/handle-webhook.ts +13 -4
- package/packages/apps/paghiper/src/paghiper-create-transaction.ts +9 -1
- package/packages/apps/paghiper/src/paghiper-list-payments.ts +15 -8
- package/packages/apps/pix/lib/functions-lib/get-certificate.js +3 -3
- package/packages/apps/pix/lib/functions-lib/get-certificate.js.map +1 -1
- package/packages/apps/pix/lib/pix-create-transaction.d.ts +4 -0
- package/packages/apps/pix/lib/pix-create-transaction.js +23 -3
- package/packages/apps/pix/lib/pix-create-transaction.js.map +1 -1
- package/packages/apps/pix/lib/pix-list-payments.js +23 -1
- package/packages/apps/pix/lib/pix-list-payments.js.map +1 -1
- package/packages/apps/pix/lib/pix.d.ts +4 -0
- package/packages/apps/pix/package.json +3 -3
- package/packages/apps/pix/src/functions-lib/get-certificate.ts +3 -3
- package/packages/apps/pix/src/pix-create-transaction.ts +26 -3
- package/packages/apps/pix/src/pix-list-payments.ts +26 -1
- package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js +8 -7
- package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js +4 -2
- package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js.map +1 -1
- package/packages/apps/tiny-erp/package.json +4 -4
- package/packages/apps/tiny-erp/src/integration/import-order-from-tiny.ts +9 -9
- package/packages/apps/tiny-erp/src/integration/import-product-from-tiny.ts +4 -2
- package/packages/apps/tiny-erp/src/integration/parsers/product-from-tiny.ts +1 -1
- package/packages/apps/webhooks/lib/events-to-webhooks-app.js +12 -8
- package/packages/apps/webhooks/lib/events-to-webhooks-app.js.map +1 -1
- package/packages/apps/webhooks/package.json +3 -3
- package/packages/apps/webhooks/src/events-to-webhooks-app.ts +22 -12
- package/packages/cli/package.json +1 -1
- package/packages/config/lib/config.js +2 -4
- package/packages/config/lib/config.js.map +1 -1
- package/packages/config/lib/env.js +2 -4
- package/packages/config/lib/env.js.map +1 -1
- package/packages/config/package.json +1 -1
- package/packages/config/src/config.ts +4 -4
- package/packages/config/src/env.ts +4 -4
- package/packages/emails/package.json +3 -3
- package/packages/emails/tests/sendgrid.test.ts +2 -2
- package/packages/emails/tests/smtp.test.ts +2 -2
- package/packages/events/lib/firebase.js +4 -0
- package/packages/events/lib/firebase.js.map +1 -1
- package/packages/events/package.json +5 -3
- package/packages/events/src/firebase.ts +4 -0
- package/packages/feeds/package.json +2 -2
- package/packages/firebase/lib/config.d.ts +11 -1
- package/packages/firebase/lib/config.js +12 -0
- package/packages/firebase/lib/config.js.map +1 -1
- package/packages/firebase/lib/helpers/update-app-data.d.ts +1 -1
- package/packages/firebase/package.json +4 -4
- package/packages/firebase/src/config.ts +14 -1
- package/packages/i18n/package.json +1 -1
- package/packages/modules/lib/firebase/call-app-module.js +5 -0
- package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
- package/packages/modules/lib/firebase/checkout.js.map +1 -1
- package/packages/modules/lib/firebase/functions-checkout/fix-items.js.map +1 -1
- package/packages/modules/lib/firebase/functions-checkout/handle-order-transaction.js.map +1 -1
- package/packages/modules/lib/firebase/functions-checkout/new-order.js.map +1 -1
- package/packages/modules/lib/firebase/functions-checkout/request-to-module.js +1 -1
- package/packages/modules/lib/firebase/functions-checkout/request-to-module.js.map +1 -1
- package/packages/modules/lib/firebase/functions-checkout/utils.js +1 -1
- package/packages/modules/lib/firebase/functions-checkout/utils.js.map +1 -1
- package/packages/modules/package.json +6 -5
- package/packages/modules/schemas/@checkout.cjs +5 -0
- package/packages/modules/schemas/apply_discount.cjs +6 -0
- package/packages/modules/schemas/create_transaction.cjs +22 -0
- package/packages/modules/src/firebase/call-app-module.ts +5 -0
- package/packages/modules/src/firebase/checkout.ts +9 -9
- package/packages/modules/src/firebase/functions-checkout/fix-items.ts +3 -3
- package/packages/modules/src/firebase/functions-checkout/handle-order-transaction.ts +8 -8
- package/packages/modules/src/firebase/functions-checkout/new-order.ts +6 -7
- package/packages/modules/src/firebase/functions-checkout/request-to-module.ts +2 -4
- package/packages/modules/src/firebase/functions-checkout/utils.ts +23 -23
- package/packages/modules/src/types/index.d.ts +4 -8
- package/packages/modules/tests/modules.test.mjs +1 -1
- package/packages/passport/package.json +3 -3
- package/packages/ssr/lib/firebase/serve-storefront.js +2 -2
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/package.json +10 -10
- package/packages/ssr/src/firebase/serve-storefront.ts +2 -2
- package/packages/storefront/.base.eslintrc.cjs +4 -0
- package/packages/storefront/.eslintrc.cjs +4 -1
- package/packages/storefront/astro.config.mjs +6 -2
- package/packages/storefront/config/{storefront.cms.cjs → storefront.cms.js} +6 -5
- package/packages/storefront/{storefront.config.mjs → config/storefront.config.mjs} +5 -5
- package/packages/storefront/config/storefront.tailwind.cjs +266 -0
- package/packages/storefront/config/storefront.unocss.cjs +139 -0
- package/packages/storefront/dist/client/_astro/Carousel.93c2309b.js +1 -0
- package/packages/storefront/dist/client/_astro/HeroSlider.c5b673b3.js +1 -0
- package/packages/storefront/dist/client/_astro/{PitchBar.94f525f9.js → PitchBar.d0e3362e.js} +1 -1
- package/packages/storefront/dist/client/_astro/Prices.51598206.js +1 -0
- package/packages/storefront/dist/client/_astro/Prices.5186c09f.js +1 -0
- package/packages/storefront/dist/client/_astro/ProductShelf.d90bfc6e.js +1 -0
- package/packages/storefront/dist/client/_astro/ShopHeader.e88dedbc.js +4 -0
- package/packages/storefront/dist/client/_astro/_...slug_.ab554647.css +1 -0
- package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.8870d8dc.js +1 -0
- package/packages/storefront/dist/client/_astro/api.7f62c1ff.js +1 -0
- package/packages/storefront/dist/client/_astro/client.06720904.js +1 -0
- package/packages/storefront/dist/client/_astro/{firebase-app.d513d4b8.js → firebase-app.5325b6d5.js} +3 -3
- package/packages/storefront/dist/client/_astro/{format-money.1a95a3b5.js → format-money.3868f219.js} +1 -1
- package/packages/storefront/dist/client/_astro/{hoisted.be7b77c7.js → hoisted.6aebc438.js} +1 -1
- package/packages/storefront/dist/client/_astro/img.2ae78c70.js +1 -0
- package/packages/storefront/dist/client/_astro/index.3de006ba.js +1 -0
- package/packages/storefront/dist/client/_astro/{modules-info.bc2146d9.js → modules-info.c65d970c.js} +1 -1
- package/packages/storefront/dist/client/_astro/{runtime-dom.esm-bundler.e2053595.js → runtime-dom.esm-bundler.7a95af90.js} +1 -1
- package/packages/storefront/dist/client/_astro/{workbox-window.prod.es5.dc90f814.js → workbox-window.prod.es5.a7b12eab.js} +2 -2
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/client/{workbox-e0d788d4.js → workbox-5e0bf4e4.js} +1 -1
- package/packages/storefront/dist/server/_empty-middleware.mjs +3 -0
- package/packages/storefront/dist/server/chunks/_...51f243e0.mjs +35 -0
- package/packages/storefront/dist/server/chunks/account@_@astro.70d0a2b6.mjs +35 -0
- package/packages/storefront/dist/server/chunks/{astro.7ac24846.mjs → astro.c449fda8.mjs} +1479 -1217
- package/packages/storefront/dist/server/chunks/endpoint@_@js.58e19bda.mjs +35 -0
- package/packages/storefront/dist/server/chunks/fallback@_@astro.6c6e2bf9.mjs +35 -0
- package/packages/storefront/dist/server/chunks/index@_@astro.09a10813.mjs +35 -0
- package/packages/storefront/dist/server/chunks/index@_@astro.81422b02.mjs +35 -0
- package/packages/storefront/dist/server/chunks/pages/{all.a42f9fc6.mjs → _...slug_.astro.5667273a.mjs} +215 -1017
- package/packages/storefront/dist/server/chunks/pages/account.astro.72dc24f9.mjs +23 -0
- package/packages/storefront/dist/server/chunks/pages/endpoint.js.5d128d9d.mjs +119 -0
- package/packages/storefront/dist/server/chunks/pages/fallback.astro.72b8d520.mjs +64 -0
- package/packages/storefront/dist/server/chunks/pages/index.astro.e80eea52.mjs +1098 -0
- package/packages/storefront/dist/server/entry.mjs +57 -313
- package/packages/storefront/dist/server/renderers.mjs +333 -0
- package/packages/storefront/package.json +18 -21
- package/packages/storefront/scripts/prepare-monorepo.sh +0 -1
- package/packages/storefront/server.d.ts +8 -1
- package/packages/storefront/src/env.d.ts +0 -1
- package/packages/storefront/src/helpers/afetch.ts +2 -2
- package/packages/storefront/src/lib/assets/components.css +28 -0
- package/packages/storefront/src/lib/components/Carousel.vue +9 -23
- package/packages/storefront/src/lib/components/CarouselControl.vue +2 -2
- package/packages/storefront/src/lib/components/globals/AImg.vue +4 -7
- package/packages/storefront/src/lib/components/globals/ALink.vue +1 -1
- package/packages/storefront/src/lib/components/globals/Fade.vue +5 -30
- package/packages/storefront/src/lib/composables/use-hero-slider.ts +2 -0
- package/packages/storefront/src/lib/composables/use-prices.ts +4 -1
- package/packages/storefront/src/lib/composables/use-product-card.ts +104 -0
- package/packages/storefront/src/lib/composables/use-product-shelf.ts +91 -0
- package/packages/storefront/src/lib/composables/use-shop-header-submenu.ts +2 -0
- package/packages/storefront/src/lib/composables/use-sticky-header.ts +2 -0
- package/packages/storefront/src/lib/content.d.ts +3 -4
- package/packages/storefront/src/lib/layouts/Base.astro +5 -7
- package/packages/storefront/src/lib/layouts/BaseBody.astro +4 -8
- package/packages/storefront/src/lib/layouts/BaseHead.astro +1 -7
- package/packages/storefront/src/lib/layouts/BaseStateJson.astro +11 -18
- package/packages/storefront/src/lib/layouts/{sections/use-hero-section.ts → main/use-page-hero.ts} +7 -8
- package/packages/storefront/src/lib/layouts/main/use-page-sections.ts +98 -0
- package/packages/storefront/src/lib/layouts/use-page-layout.ts +4 -4
- package/packages/storefront/src/lib/ssr-context.ts +26 -19
- package/packages/storefront/src/lib/state/customer-session.ts +1 -1
- package/packages/storefront/tailwind.config.cjs +2 -225
- package/packages/storefront/uno.config.cjs +2 -141
- package/packages/types/index.ts +5 -1
- package/packages/types/modules/@checkout:params.d.ts +4 -0
- package/packages/types/modules/apply_discount:params.d.ts +4 -0
- package/packages/types/modules/create_transaction:response.d.ts +15 -0
- package/packages/types/package.json +1 -1
- package/packages/api/lib/types/brands.d.ts +0 -157
- package/packages/api/lib/types/categories.d.ts +0 -199
- package/packages/api/lib/types/collections.d.ts +0 -159
- package/packages/api/lib/types/customers.d.ts +0 -523
- package/packages/api/lib/types/grids.d.ts +0 -157
- package/packages/api/lib/types.d.ts +0 -132
- package/packages/api/lib/types.js +0 -2
- package/packages/api/lib/types.js.map +0 -1
- package/packages/api/src/types/applications.d.ts +0 -165
- package/packages/api/src/types/authentications.d.ts +0 -107
- package/packages/api/src/types/carts.d.ts +0 -360
- package/packages/api/src/types/orders.d.ts +0 -1720
- package/packages/api/src/types/products.d.ts +0 -1424
- package/packages/api/src/types/stores.d.ts +0 -123
- package/packages/storefront/.astro/types.d.ts +0 -117
- package/packages/storefront/config/storefront.cms.mjs +0 -72
- package/packages/storefront/dist/client/_astro/Carousel.e137cab2.js +0 -1
- package/packages/storefront/dist/client/_astro/HeroSlider.d677b64a.js +0 -1
- package/packages/storefront/dist/client/_astro/Prices.b8d4b8e4.js +0 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.f12e72f6.js +0 -4
- package/packages/storefront/dist/client/_astro/_...slug_.48ea2ee1.css +0 -1
- package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.116fec5b.js +0 -1
- package/packages/storefront/dist/client/_astro/client.c2102734.js +0 -1
- package/packages/storefront/dist/client/_astro/index.1190ddf5.js +0 -1
- package/packages/storefront/dist/client/_astro/index.1eaf97c3.css +0 -1
- package/packages/storefront/dist/client/_astro/index.e56fc6b3.css +0 -1
- package/packages/storefront/dist/client/_astro/server.1dabec03.css +0 -1
- package/packages/storefront/src/lib/layouts/use-home-main.ts +0 -16
- /package/packages/api/{lib/types → types}/applications.d.ts +0 -0
- /package/packages/api/{lib/types → types}/authentications.d.ts +0 -0
- /package/packages/api/{lib/types → types}/stores.d.ts +0 -0
- /package/packages/storefront/src/lib/assets/{preflight.css → reset.css} +0 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { Request, Response } from 'firebase-functions';
|
|
2
|
-
import type { CheckoutBody } from '@cloudcommerce/types';
|
|
2
|
+
import type { OrderSet, CheckoutBody } from '@cloudcommerce/types';
|
|
3
3
|
import type {
|
|
4
4
|
CheckoutBodyWithItems,
|
|
5
|
-
BodyOrder,
|
|
6
5
|
Amount,
|
|
7
|
-
Item,
|
|
8
6
|
Payment,
|
|
9
7
|
} from '../types/index';
|
|
10
8
|
import config from '@cloudcommerce/firebase/lib/config';
|
|
@@ -23,12 +21,14 @@ import {
|
|
|
23
21
|
} from './functions-checkout/utils';
|
|
24
22
|
import createOrder from './functions-checkout/new-order';
|
|
25
23
|
|
|
24
|
+
type Item = Exclude<OrderSet['items'], undefined>[number]
|
|
25
|
+
|
|
26
26
|
export default async (req: Request, res: Response) => {
|
|
27
27
|
const { httpsFunctionOptions } = config.get();
|
|
28
28
|
const modulesBaseURL = req.hostname !== 'localhost'
|
|
29
29
|
? `https://${req.hostname}${req.url.replace(/\/checkout[^/]*/i, '')}`
|
|
30
30
|
: `http://localhost:5001/${process.env.GCLOUD_PROJECT}`
|
|
31
|
-
|
|
31
|
+
+ `/${(process.env.FUNCTION_REGION || httpsFunctionOptions.region)}/modules`;
|
|
32
32
|
|
|
33
33
|
const validate = ajv.compile(checkoutSchema.params);
|
|
34
34
|
const checkoutBody = req.body as CheckoutBody;
|
|
@@ -41,7 +41,7 @@ export default async (req: Request, res: Response) => {
|
|
|
41
41
|
return sendRequestError(res, '@checkout', validate.errors);
|
|
42
42
|
}
|
|
43
43
|
const { items, ...newBody } = checkoutBody;
|
|
44
|
-
const newItems = await fixItems(items)
|
|
44
|
+
const newItems = await fixItems(items) as Exclude<OrderSet['items'], undefined>;
|
|
45
45
|
const amount: Amount = {
|
|
46
46
|
subtotal: 0,
|
|
47
47
|
discount: 0,
|
|
@@ -63,7 +63,7 @@ export default async (req: Request, res: Response) => {
|
|
|
63
63
|
// start mounting order body
|
|
64
64
|
// https://developers.e-com.plus/docs/api/#/store/orders/orders
|
|
65
65
|
const dateTime = new Date().toISOString();
|
|
66
|
-
const orderBody:
|
|
66
|
+
const orderBody: OrderSet = {
|
|
67
67
|
opened_at: dateTime,
|
|
68
68
|
buyers: [
|
|
69
69
|
// received customer info
|
|
@@ -94,7 +94,7 @@ export default async (req: Request, res: Response) => {
|
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
if (orderBody.domain) {
|
|
97
|
-
|
|
97
|
+
// consider default Storefront app routes
|
|
98
98
|
if (!orderBody.checkout_link) {
|
|
99
99
|
orderBody.checkout_link = `https://${orderBody.domain}/app/#/checkout/(_id)`;
|
|
100
100
|
}
|
|
@@ -106,7 +106,7 @@ export default async (req: Request, res: Response) => {
|
|
|
106
106
|
// count subtotal value
|
|
107
107
|
let subtotal = 0;
|
|
108
108
|
newItems.forEach(
|
|
109
|
-
(item:Item) => {
|
|
109
|
+
(item: Item) => {
|
|
110
110
|
subtotal += (item.final_price || item.price * item.quantity);
|
|
111
111
|
// pass each item to prevent object overwrite
|
|
112
112
|
if (orderBody.items) {
|
|
@@ -136,7 +136,7 @@ export default async (req: Request, res: Response) => {
|
|
|
136
136
|
listShipping = getValidResults(listShipping, 'shipping_services');
|
|
137
137
|
handleShippingServices(body, listShipping, amount, orderBody);
|
|
138
138
|
} else {
|
|
139
|
-
|
|
139
|
+
// problem with shipping response object
|
|
140
140
|
return sendError(
|
|
141
141
|
res,
|
|
142
142
|
msgErr?.status || 400,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Products, CheckoutBody } from '@cloudcommerce/types';
|
|
1
|
+
import type { ResourceId, Products, CheckoutBody } from '@cloudcommerce/types';
|
|
2
2
|
import type { Items, Item } from '../../types';
|
|
3
3
|
import api from '@cloudcommerce/api';
|
|
4
4
|
import logger from 'firebase-functions/logger';
|
|
@@ -248,7 +248,7 @@ export default async (
|
|
|
248
248
|
const kitProductId = item.kit_product._id;
|
|
249
249
|
try {
|
|
250
250
|
// eslint-disable-next-line no-await-in-loop
|
|
251
|
-
const kitProduct = (await api.get(`products/${kitProductId
|
|
251
|
+
const kitProduct = (await api.get(`products/${kitProductId}`, {
|
|
252
252
|
isNoAuth: true,
|
|
253
253
|
})).data;
|
|
254
254
|
|
|
@@ -266,7 +266,7 @@ export default async (
|
|
|
266
266
|
// GET public product object
|
|
267
267
|
try {
|
|
268
268
|
// eslint-disable-next-line no-await-in-loop
|
|
269
|
-
const product = (await api.get(`products/${item.product_id}`, {
|
|
269
|
+
const product = (await api.get(`products/${item.product_id as ResourceId}`, {
|
|
270
270
|
isNoAuth: true,
|
|
271
271
|
})).data;
|
|
272
272
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Response } from 'firebase-functions';
|
|
2
|
-
import type { Orders } from '@cloudcommerce/types';
|
|
2
|
+
import type { Orders, OrderSet } from '@cloudcommerce/types';
|
|
3
3
|
import type {
|
|
4
|
-
Amount,
|
|
4
|
+
Amount,
|
|
5
5
|
PaymentHistory,
|
|
6
6
|
OrderPaymentHistory,
|
|
7
7
|
TransactionOrder,
|
|
@@ -12,7 +12,7 @@ import { sendError } from './utils';
|
|
|
12
12
|
|
|
13
13
|
const checkoutRespond = async (
|
|
14
14
|
res: Response,
|
|
15
|
-
orderId:
|
|
15
|
+
orderId: Orders['_id'],
|
|
16
16
|
orderNumber: number | undefined,
|
|
17
17
|
usrMsg: { en_us: string, pt_br: string },
|
|
18
18
|
transaction?: TransactionOrder,
|
|
@@ -47,10 +47,10 @@ const checkoutRespond = async (
|
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
const newOrder = async (orderBody:
|
|
50
|
+
const newOrder = async (orderBody: OrderSet) => {
|
|
51
51
|
try {
|
|
52
52
|
const orderId = (await api.post('orders', orderBody)).data._id;
|
|
53
|
-
return new Promise<{ order: Orders | null, err?: any}
|
|
53
|
+
return new Promise<{ order: Orders | null, err?: any }>((resolve) => {
|
|
54
54
|
setTimeout(async () => {
|
|
55
55
|
try {
|
|
56
56
|
const order = (await api.get(`orders/${orderId}`)).data as Orders;
|
|
@@ -68,7 +68,7 @@ const newOrder = async (orderBody: BodyOrder) => {
|
|
|
68
68
|
|
|
69
69
|
const cancelOrder = async (
|
|
70
70
|
staffNotes: string,
|
|
71
|
-
orderId:
|
|
71
|
+
orderId: Orders['_id'],
|
|
72
72
|
isOrderCancelled: boolean,
|
|
73
73
|
res: Response,
|
|
74
74
|
usrMsg: { en_us: string, pt_br: string },
|
|
@@ -110,7 +110,7 @@ const cancelOrder = async (
|
|
|
110
110
|
};
|
|
111
111
|
|
|
112
112
|
const saveTransaction = (
|
|
113
|
-
orderId:
|
|
113
|
+
orderId: Orders['_id'],
|
|
114
114
|
transactionBody: any, // TODO: error type 'status' incompatible
|
|
115
115
|
) => {
|
|
116
116
|
return new Promise((resolve, reject) => {
|
|
@@ -128,7 +128,7 @@ const saveTransaction = (
|
|
|
128
128
|
};
|
|
129
129
|
|
|
130
130
|
const addPaymentHistory = async (
|
|
131
|
-
orderId:
|
|
131
|
+
orderId: Orders['_id'],
|
|
132
132
|
listPaymentsHistory: PaymentHistory[],
|
|
133
133
|
isFirstTransaction: boolean,
|
|
134
134
|
paymentEntry: PaymentHistory,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Response } from 'firebase-functions';
|
|
2
|
-
import type { CheckoutBody } from '@cloudcommerce/types';
|
|
2
|
+
import type { OrderSet, CheckoutBody } from '@cloudcommerce/types';
|
|
3
3
|
import type {
|
|
4
|
-
BodyOrder,
|
|
5
4
|
Amount,
|
|
6
5
|
CheckoutTransaction,
|
|
7
6
|
TransactionOrder,
|
|
@@ -30,7 +29,7 @@ const createOrder = async (
|
|
|
30
29
|
modulesBaseURL: string,
|
|
31
30
|
amount: Amount,
|
|
32
31
|
checkoutBody: CheckoutBody,
|
|
33
|
-
orderBody:
|
|
32
|
+
orderBody: OrderSet,
|
|
34
33
|
transactions: CheckoutTransaction[],
|
|
35
34
|
dateTime: string,
|
|
36
35
|
) => {
|
|
@@ -65,7 +64,7 @@ const createOrder = async (
|
|
|
65
64
|
newTransaction.amount_part = newTransaction.amount_part || 0;
|
|
66
65
|
if (transactionBody.amount && newTransaction.amount_part > 0
|
|
67
66
|
&& newTransaction.amount_part < 1) {
|
|
68
|
-
|
|
67
|
+
// fix amount for multiple transactions
|
|
69
68
|
const partialAmount = transactionBody.amount.total * newTransaction.amount_part;
|
|
70
69
|
transactionBody.amount.discount = transactionBody.amount.discount || 0;
|
|
71
70
|
transactionBody.amount.discount += transactionBody.amount.total - partialAmount;
|
|
@@ -91,7 +90,7 @@ const createOrder = async (
|
|
|
91
90
|
const { response } = result;
|
|
92
91
|
const transaction: TransactionOrder = response && response.transaction;
|
|
93
92
|
if (transaction) {
|
|
94
|
-
|
|
93
|
+
// complete transaction object with some request body fields
|
|
95
94
|
[
|
|
96
95
|
'type',
|
|
97
96
|
'payment_method',
|
|
@@ -125,7 +124,7 @@ const createOrder = async (
|
|
|
125
124
|
}
|
|
126
125
|
});
|
|
127
126
|
}
|
|
128
|
-
|
|
127
|
+
// logger.log(transaction.app)
|
|
129
128
|
}
|
|
130
129
|
|
|
131
130
|
// check for transaction status
|
|
@@ -208,7 +207,7 @@ const createOrder = async (
|
|
|
208
207
|
if (firstResult) {
|
|
209
208
|
const { response } = firstResult;
|
|
210
209
|
if (response) {
|
|
211
|
-
|
|
210
|
+
// send devMsg with app response
|
|
212
211
|
if (response.message) {
|
|
213
212
|
errorMessage = response.message;
|
|
214
213
|
if (response.error) {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// eslint-disable-next-line no-unused-vars
|
|
2
|
-
import type { AxiosError } from 'axios';
|
|
3
1
|
import logger from 'firebase-functions/logger';
|
|
4
2
|
import axios from 'axios';
|
|
5
3
|
|
|
@@ -65,9 +63,9 @@ export default async (
|
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
return resp.result;
|
|
68
|
-
} catch (err: any
|
|
69
|
-
msgErr.moreInfo = 'Unexpected error ';
|
|
66
|
+
} catch (err: any) {
|
|
70
67
|
logger.error(err);
|
|
68
|
+
msgErr.moreInfo = 'Unexpected error ';
|
|
71
69
|
if (axios.isAxiosError(err)) {
|
|
72
70
|
msgErr.moreInfo = err.message;
|
|
73
71
|
if (err.code) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Response } from 'firebase-functions';
|
|
2
|
+
import type { OrderSet } from '@cloudcommerce/types';
|
|
2
3
|
import type {
|
|
3
4
|
CheckoutBodyWithItems,
|
|
4
|
-
BodyOrder,
|
|
5
5
|
Payment,
|
|
6
6
|
PaymentGateways,
|
|
7
7
|
PaymentMethod,
|
|
@@ -12,15 +12,15 @@ import type {
|
|
|
12
12
|
} from '../../types/index';
|
|
13
13
|
import logger from 'firebase-functions/logger';
|
|
14
14
|
|
|
15
|
-
type BodyResouce = {[key:string]:any}
|
|
15
|
+
type BodyResouce = { [key: string]: any }
|
|
16
16
|
|
|
17
17
|
const sendError = (
|
|
18
|
-
res:Response,
|
|
18
|
+
res: Response,
|
|
19
19
|
status: number,
|
|
20
20
|
errorCode: string | number,
|
|
21
21
|
message: string,
|
|
22
|
-
userMessage?: {[key:string]:string},
|
|
23
|
-
moreInfo?:string,
|
|
22
|
+
userMessage?: { [key: string]: string },
|
|
23
|
+
moreInfo?: string,
|
|
24
24
|
) => {
|
|
25
25
|
return res.status(status)
|
|
26
26
|
.send({
|
|
@@ -35,7 +35,7 @@ const sendError = (
|
|
|
35
35
|
const fixAmount = (
|
|
36
36
|
amount: Amount,
|
|
37
37
|
body: CheckoutBodyWithItems,
|
|
38
|
-
orderBody:
|
|
38
|
+
orderBody: OrderSet,
|
|
39
39
|
) => {
|
|
40
40
|
Object.keys(amount).forEach((field) => {
|
|
41
41
|
if (amount[field] > 0 && field !== 'total') {
|
|
@@ -55,12 +55,12 @@ const fixAmount = (
|
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
const getValidResults = (
|
|
58
|
-
results: {[key:string]:any}
|
|
59
|
-
checkProp?:string,
|
|
58
|
+
results: { [key: string]: any }[],
|
|
59
|
+
checkProp?: string,
|
|
60
60
|
) => {
|
|
61
61
|
// results array returned from module
|
|
62
62
|
// see ./#applications.js
|
|
63
|
-
const validResults: {[key:string]:any}[] = [];
|
|
63
|
+
const validResults: { [key: string]: any }[] = [];
|
|
64
64
|
if (Array.isArray(results)) {
|
|
65
65
|
for (let i = 0; i < results.length; i++) {
|
|
66
66
|
const result = results[i];
|
|
@@ -86,20 +86,20 @@ const getValidResults = (
|
|
|
86
86
|
|
|
87
87
|
const handleListPayments = (
|
|
88
88
|
body: CheckoutBodyWithItems,
|
|
89
|
-
listPayment: {[key:string]:any},
|
|
89
|
+
listPayment: { [key: string]: any },
|
|
90
90
|
paymentsBody: Payment,
|
|
91
|
-
amount:Amount,
|
|
92
|
-
orderBody:
|
|
91
|
+
amount: Amount,
|
|
92
|
+
orderBody: OrderSet,
|
|
93
93
|
) => {
|
|
94
94
|
for (let i = 0; i < listPayment.length; i++) {
|
|
95
95
|
const result = listPayment[i];
|
|
96
96
|
// treat list payments response
|
|
97
97
|
const { response } = result;
|
|
98
98
|
if (response && response.payment_gateways) {
|
|
99
|
-
|
|
99
|
+
// check chosen payment method code and name
|
|
100
100
|
const paymentMethod: PaymentMethod = paymentsBody.transaction.payment_method;
|
|
101
101
|
let paymentMethodCode: PaymentMethod['code'];
|
|
102
|
-
let paymentMethodName:PaymentMethod['name'];
|
|
102
|
+
let paymentMethodName: PaymentMethod['name'];
|
|
103
103
|
if (paymentMethod) {
|
|
104
104
|
paymentMethodCode = paymentMethod.code;
|
|
105
105
|
paymentMethodName = paymentMethod.name;
|
|
@@ -110,12 +110,12 @@ const handleListPayments = (
|
|
|
110
110
|
(paymentGatewayFound: PaymentGateways[number]) => {
|
|
111
111
|
const paymentMethodFound = paymentGatewayFound.payment_method;
|
|
112
112
|
return !paymentMethodCode
|
|
113
|
-
|
|
113
|
+
|| (paymentMethodFound && paymentMethodFound.code === paymentMethodCode);
|
|
114
114
|
},
|
|
115
115
|
);
|
|
116
116
|
let paymentGateway: PaymentGateways[number] | undefined;
|
|
117
117
|
if (possibleGateways.length > 1 && paymentMethodName) {
|
|
118
|
-
|
|
118
|
+
// prefer respective method name
|
|
119
119
|
paymentGateway = possibleGateways.find(
|
|
120
120
|
(paymentGatewayFound: PaymentGateways[number]) => {
|
|
121
121
|
return paymentGatewayFound.payment_method.name === paymentMethodName;
|
|
@@ -150,7 +150,7 @@ const handleListPayments = (
|
|
|
150
150
|
// add to order body
|
|
151
151
|
orderBody.payment_method_label = paymentGateway.label || '';
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
// finally start creating new order
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
}
|
|
@@ -160,8 +160,8 @@ const handleListPayments = (
|
|
|
160
160
|
const handleShippingServices = (
|
|
161
161
|
body: CheckoutBodyWithItems,
|
|
162
162
|
listShipping: BodyResouce,
|
|
163
|
-
amount:Amount,
|
|
164
|
-
orderBody:
|
|
163
|
+
amount: Amount,
|
|
164
|
+
orderBody: OrderSet,
|
|
165
165
|
) => {
|
|
166
166
|
for (let i = 0; i < listShipping.length; i++) {
|
|
167
167
|
const result = listShipping[i];
|
|
@@ -199,7 +199,7 @@ const handleShippingServices = (
|
|
|
199
199
|
let maxProductionDays = 0;
|
|
200
200
|
if (orderBody.items) {
|
|
201
201
|
orderBody.items.forEach(
|
|
202
|
-
(item:Item) => {
|
|
202
|
+
(item: Item) => {
|
|
203
203
|
const productionTime = item.production_time;
|
|
204
204
|
if (productionTime) {
|
|
205
205
|
let productionDays = productionTime.days;
|
|
@@ -244,8 +244,8 @@ const handleShippingServices = (
|
|
|
244
244
|
const handleApplyDiscount = (
|
|
245
245
|
body: CheckoutBodyWithItems,
|
|
246
246
|
listDiscount: BodyResouce,
|
|
247
|
-
amount:Amount,
|
|
248
|
-
orderBody:
|
|
247
|
+
amount: Amount,
|
|
248
|
+
orderBody: OrderSet,
|
|
249
249
|
) => {
|
|
250
250
|
// simulate request to apply discount endpoint to get extra discount value
|
|
251
251
|
for (let i = 0; i < listDiscount.length; i++) {
|
|
@@ -273,7 +273,7 @@ const handleApplyDiscount = (
|
|
|
273
273
|
|
|
274
274
|
if (response.freebie_product_ids) {
|
|
275
275
|
// mark items provided for free
|
|
276
|
-
orderBody.items
|
|
276
|
+
orderBody.items?.forEach((item) => {
|
|
277
277
|
if (!item.flags) {
|
|
278
278
|
item.flags = [];
|
|
279
279
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
CheckoutBody,
|
|
3
|
-
Carts,
|
|
2
|
+
CheckoutBody,
|
|
3
|
+
Carts,
|
|
4
4
|
Orders,
|
|
5
5
|
CalculateShippingResponse,
|
|
6
6
|
ListPaymentsResponse,
|
|
@@ -20,9 +20,6 @@ type CheckoutBodyWithItems = Omit<CheckoutBody, 'items'> & {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
type CustomerCheckout = Exclude<CheckoutBody['customer'], undefined>
|
|
23
|
-
type BodyOrder = Omit<Orders, '_id' | 'created_at' | 'updated_at' | 'store_id' | 'items' > & {
|
|
24
|
-
items : Items
|
|
25
|
-
}
|
|
26
23
|
|
|
27
24
|
type TransactionOrder = Exclude<Orders['transactions'], undefined>[number]
|
|
28
25
|
type StatusTransactionOrder = Pick<TransactionOrder, 'status'>['status']
|
|
@@ -30,8 +27,8 @@ type BodyTransactionOrder = Omit<TransactionOrder, 'status'> & {
|
|
|
30
27
|
status: StatusTransactionOrder
|
|
31
28
|
}
|
|
32
29
|
|
|
33
|
-
type OrderPaymentHistory = Pick<Orders,'payments_history'| 'financial_status' | 'amount'>
|
|
34
|
-
type PaymentHistory = Exclude<Pick<Orders,'payments_history'>['payments_history'], undefined>[number]
|
|
30
|
+
type OrderPaymentHistory = Pick<Orders, 'payments_history' | 'financial_status' | 'amount'>
|
|
31
|
+
type PaymentHistory = Exclude<Pick<Orders, 'payments_history'>['payments_history'], undefined>[number]
|
|
35
32
|
|
|
36
33
|
type CheckoutTransaction = Exclude<CheckoutBody['transaction'], Transaction[]>
|
|
37
34
|
|
|
@@ -54,7 +51,6 @@ export {
|
|
|
54
51
|
Items,
|
|
55
52
|
Item,
|
|
56
53
|
CustomerCheckout,
|
|
57
|
-
BodyOrder,
|
|
58
54
|
PaymentMethod,
|
|
59
55
|
Amount,
|
|
60
56
|
ShippingSerive,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import assert from 'node:assert';
|
|
2
2
|
import test, { describe } from 'node:test';
|
|
3
3
|
|
|
4
|
-
const baseUrl = 'http://127.0.0.1:5001/ecom2-
|
|
4
|
+
const baseUrl = 'http://127.0.0.1:5001/ecom2-003/us-east4/modules';
|
|
5
5
|
|
|
6
6
|
describe('Test Schemas', async () => {
|
|
7
7
|
test('@checkout', async (/* t */) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/passport",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.15.1",
|
|
5
5
|
"description": "E-Com Plus Cloud Commerce customers authentication (passport) API",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@cloudcommerce/api": "workspace:*",
|
|
27
27
|
"@cloudcommerce/firebase": "workspace:*",
|
|
28
|
-
"firebase-admin": "^11.
|
|
29
|
-
"firebase-functions": "^4.4.
|
|
28
|
+
"firebase-admin": "^11.9.0",
|
|
29
|
+
"firebase-functions": "^4.4.1",
|
|
30
30
|
"source-map-support": "^0.5.21"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { join as joinPath } from 'path';
|
|
2
|
-
import { readFile } from 'fs/promises';
|
|
1
|
+
import { join as joinPath } from 'node:path';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import logger from 'firebase-functions/logger';
|
|
4
4
|
|
|
5
5
|
const { STOREFRONT_BASE_DIR } = process.env;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/ssr",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.15.1",
|
|
5
5
|
"description": "E-Com Plus Cloud Commerce storefront SSR",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -23,18 +23,18 @@
|
|
|
23
23
|
"build": "bash ../../scripts/build-lib.sh"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@astrojs/node": "5.
|
|
26
|
+
"@astrojs/node": "5.3.0",
|
|
27
27
|
"@cloudcommerce/api": "workspace:*",
|
|
28
28
|
"@cloudcommerce/firebase": "workspace:*",
|
|
29
29
|
"@cloudcommerce/i18n": "workspace:*",
|
|
30
|
-
"@ecomplus/utils": "1.5.0-rc.
|
|
31
|
-
"@headlessui/vue": "^1.7.
|
|
32
|
-
"@vueuse/core": "10.1
|
|
33
|
-
"astro": "2.
|
|
34
|
-
"firebase-admin": "^11.
|
|
35
|
-
"firebase-functions": "^4.4.
|
|
36
|
-
"semver": "^7.5.
|
|
37
|
-
"vue": "^3.3.
|
|
30
|
+
"@ecomplus/utils": "1.5.0-rc.5",
|
|
31
|
+
"@headlessui/vue": "^1.7.14",
|
|
32
|
+
"@vueuse/core": "10.2.1",
|
|
33
|
+
"astro": "2.7.3",
|
|
34
|
+
"firebase-admin": "^11.9.0",
|
|
35
|
+
"firebase-functions": "^4.4.1",
|
|
36
|
+
"semver": "^7.5.3",
|
|
37
|
+
"vue": "^3.3.4"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@cloudcommerce/types": "workspace:*",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Request, Response } from 'firebase-functions';
|
|
2
|
-
import { join as joinPath } from 'path';
|
|
3
|
-
import { readFile } from 'fs/promises';
|
|
2
|
+
import { join as joinPath } from 'node:path';
|
|
3
|
+
import { readFile } from 'node:fs/promises';
|
|
4
4
|
import logger from 'firebase-functions/logger';
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
@@ -42,6 +42,8 @@ module.exports = {
|
|
|
42
42
|
'firebase-admin/auth',
|
|
43
43
|
'@astrojs/[^/]+$',
|
|
44
44
|
'astro/config',
|
|
45
|
+
'astro/middleware',
|
|
46
|
+
'astro:content',
|
|
45
47
|
'unocss/astro',
|
|
46
48
|
'@@.*',
|
|
47
49
|
'content/.*',
|
|
@@ -54,6 +56,8 @@ module.exports = {
|
|
|
54
56
|
'no-nested-ternary': 'warn',
|
|
55
57
|
'no-await-in-loop': 'warn',
|
|
56
58
|
'no-shadow': 'warn',
|
|
59
|
+
'quote-props': 'warn',
|
|
60
|
+
'quotes': 'warn',
|
|
57
61
|
'prefer-template': 'off',
|
|
58
62
|
'no-param-reassign': 'off',
|
|
59
63
|
'no-underscore-dangle': 'off',
|
|
@@ -2,14 +2,17 @@ module.exports = {
|
|
|
2
2
|
extends: './.base.eslintrc.cjs',
|
|
3
3
|
rules: {
|
|
4
4
|
'no-console': 'off',
|
|
5
|
-
semi: 'warn',
|
|
5
|
+
'semi': 'warn',
|
|
6
6
|
'arrow-parens': 'warn',
|
|
7
7
|
'object-curly-newline': 'warn',
|
|
8
8
|
'comma-dangle': 'warn',
|
|
9
9
|
'consistent-return': 'warn',
|
|
10
10
|
'array-bracket-spacing': 'warn',
|
|
11
|
+
'quote-props': 'off',
|
|
12
|
+
'quotes': 'off',
|
|
11
13
|
'global-require': 'off',
|
|
12
14
|
'import/no-dynamic-require': 'off',
|
|
15
|
+
'import/prefer-default-export': 'warn',
|
|
13
16
|
'vue/multi-word-component-names': ['error', {
|
|
14
17
|
ignores: ['Fade', 'Carousel', 'Drawer', 'Prices'],
|
|
15
18
|
}],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { lstatSync, readFileSync } from 'node:fs';
|
|
2
|
-
import { join as joinPath } from 'path';
|
|
2
|
+
import { join as joinPath } from 'node:path';
|
|
3
3
|
import * as dotenv from 'dotenv';
|
|
4
4
|
import { defineConfig } from 'astro/config';
|
|
5
5
|
import node from '@astrojs/node';
|
|
@@ -8,7 +8,7 @@ import image from '@astrojs/image';
|
|
|
8
8
|
import UnoCSS from 'unocss/astro';
|
|
9
9
|
import AstroPWA from '@vite-pwa/astro';
|
|
10
10
|
import dictionaryDir from '@cloudcommerce/i18n/lib/dirname';
|
|
11
|
-
import getConfig from './storefront.config.mjs';
|
|
11
|
+
import getConfig from './config/storefront.config.mjs';
|
|
12
12
|
|
|
13
13
|
const __dirname = new URL('.', import.meta.url).pathname;
|
|
14
14
|
dotenv.config();
|
|
@@ -185,6 +185,10 @@ const genAstroConfig = ({
|
|
|
185
185
|
outDir,
|
|
186
186
|
integrations,
|
|
187
187
|
site,
|
|
188
|
+
compressHTML: isToServerless,
|
|
189
|
+
build: {
|
|
190
|
+
inlineStylesheets: 'never',
|
|
191
|
+
},
|
|
188
192
|
vite: {
|
|
189
193
|
plugins: [
|
|
190
194
|
{
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const { resolve: resolvePath } = require('path');
|
|
3
|
-
|
|
4
|
-
module.exports = () => {
|
|
1
|
+
global.__storefrontCMS = (fs, resolvePath) => {
|
|
5
2
|
const { STOREFRONT_BASE_DIR } = process.env;
|
|
6
3
|
let baseDir;
|
|
7
4
|
if (STOREFRONT_BASE_DIR) {
|
|
@@ -28,11 +25,15 @@ module.exports = () => {
|
|
|
28
25
|
resolve(slugs);
|
|
29
26
|
});
|
|
30
27
|
}
|
|
28
|
+
// @TODO: Also parse Markdown with front matter
|
|
31
29
|
const filepath = resolvePath(dirContent, `${filename}.json`);
|
|
32
30
|
content = fs.existsSync(filepath)
|
|
33
31
|
? JSON.parse(fs.readFileSync(filepath, 'utf8'))
|
|
34
32
|
: null;
|
|
35
|
-
|
|
33
|
+
if (!filename.includes('/')) {
|
|
34
|
+
// Caching root content only (not collections)
|
|
35
|
+
contentCache[filename] = content;
|
|
36
|
+
}
|
|
36
37
|
}
|
|
37
38
|
return filename === 'settings'
|
|
38
39
|
? content
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { join as joinPath } from 'node:path';
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { join as joinPath, resolve as resolvePath } from 'node:path';
|
|
3
3
|
import config from '@cloudcommerce/config';
|
|
4
|
-
import
|
|
4
|
+
import './storefront.cms.js';
|
|
5
5
|
|
|
6
6
|
export default () => {
|
|
7
7
|
const { VITE_ECOM_STORE_ID } = import.meta.env || process.env;
|
|
@@ -15,14 +15,14 @@ export default () => {
|
|
|
15
15
|
secondaryColor,
|
|
16
16
|
settings,
|
|
17
17
|
getContent,
|
|
18
|
-
} =
|
|
18
|
+
} = global.__storefrontCMS(fs, resolvePath);
|
|
19
19
|
config.set({ settingsContent: settings });
|
|
20
20
|
|
|
21
21
|
let { storeId } = config.get();
|
|
22
22
|
if (!storeId) {
|
|
23
23
|
const configFilepath = joinPath(process.cwd(), 'config.json');
|
|
24
24
|
try {
|
|
25
|
-
const mergeConfig = JSON.parse(readFileSync(configFilepath), 'utf8');
|
|
25
|
+
const mergeConfig = JSON.parse(fs.readFileSync(configFilepath), 'utf8');
|
|
26
26
|
if (mergeConfig.storeId) {
|
|
27
27
|
storeId = mergeConfig.storeId;
|
|
28
28
|
}
|