cloudcommerce 0.14.0 → 0.15.0
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 +99 -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 +5 -5
- 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/utils.js.map +1 -1
- package/packages/apps/emails/package.json +3 -3
- 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/lib/firebase.js +3 -3
- package/packages/feeds/lib/firebase.js.map +1 -1
- package/packages/feeds/package.json +2 -2
- package/packages/feeds/src/firebase.ts +5 -3
- 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.06c4c46e.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.4381f424.js} +17 -4
- 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
|
@@ -280,7 +280,7 @@ export interface Products {
|
|
|
280
280
|
/**
|
|
281
281
|
* Brand ID (ObjectID)
|
|
282
282
|
*/
|
|
283
|
-
_id?: string;
|
|
283
|
+
_id?: string & { length: 24 };
|
|
284
284
|
/**
|
|
285
285
|
* Brand name
|
|
286
286
|
*/
|
|
@@ -333,7 +333,7 @@ export interface Products {
|
|
|
333
333
|
/**
|
|
334
334
|
* Category ID (ObjectID)
|
|
335
335
|
*/
|
|
336
|
-
_id?: string;
|
|
336
|
+
_id?: string & { length: 24 };
|
|
337
337
|
/**
|
|
338
338
|
* Category name
|
|
339
339
|
*/
|
|
@@ -366,7 +366,7 @@ export interface Products {
|
|
|
366
366
|
/**
|
|
367
367
|
* Parent category ID (ObjectID)
|
|
368
368
|
*/
|
|
369
|
-
_id?: string;
|
|
369
|
+
_id?: string & { length: 24 };
|
|
370
370
|
/**
|
|
371
371
|
* Parent category name
|
|
372
372
|
*/
|
|
@@ -423,7 +423,7 @@ export interface Products {
|
|
|
423
423
|
/**
|
|
424
424
|
* Grid ID (ObjectID)
|
|
425
425
|
*/
|
|
426
|
-
_id?: string;
|
|
426
|
+
_id?: string & { length: 24 };
|
|
427
427
|
/**
|
|
428
428
|
* Grid title
|
|
429
429
|
*/
|
|
@@ -806,7 +806,7 @@ export interface Products {
|
|
|
806
806
|
/**
|
|
807
807
|
* Picture ID (ObjectID) [auto]
|
|
808
808
|
*/
|
|
809
|
-
_id?: string;
|
|
809
|
+
_id?: string & { length: 24 };
|
|
810
810
|
/**
|
|
811
811
|
* Tag to identify object, use only lowercase letters, digits and underscore
|
|
812
812
|
*/
|
|
@@ -853,7 +853,7 @@ export interface Products {
|
|
|
853
853
|
/**
|
|
854
854
|
* Variation ID (ObjectID) [auto]
|
|
855
855
|
*/
|
|
856
|
-
_id?: string;
|
|
856
|
+
_id?: string & { length: 24 };
|
|
857
857
|
/**
|
|
858
858
|
* Item unique reference code
|
|
859
859
|
*/
|
|
@@ -1165,7 +1165,7 @@ export interface Products {
|
|
|
1165
1165
|
/**
|
|
1166
1166
|
* ID of one of the preferred product picture for this variation
|
|
1167
1167
|
*/
|
|
1168
|
-
picture_id?: string;
|
|
1168
|
+
picture_id?: string & { length: 24 };
|
|
1169
1169
|
/**
|
|
1170
1170
|
* Flags to associate additional info
|
|
1171
1171
|
*
|
|
@@ -1215,12 +1215,12 @@ export interface Products {
|
|
|
1215
1215
|
/**
|
|
1216
1216
|
* Optional variation ID (ObjectID) if `has_variations` is true
|
|
1217
1217
|
*/
|
|
1218
|
-
variation_id?: string;
|
|
1218
|
+
variation_id?: string & { length: 24 };
|
|
1219
1219
|
}[];
|
|
1220
1220
|
/**
|
|
1221
1221
|
* Parent product ID, if this product is contained or represented by another
|
|
1222
1222
|
*/
|
|
1223
|
-
parent_item_id?: string;
|
|
1223
|
+
parent_item_id?: string & { length: 24 };
|
|
1224
1224
|
/**
|
|
1225
1225
|
* Lists of related products
|
|
1226
1226
|
*
|
|
@@ -1240,7 +1240,7 @@ export interface Products {
|
|
|
1240
1240
|
*
|
|
1241
1241
|
* @maxItems 100
|
|
1242
1242
|
*/
|
|
1243
|
-
product_ids: string
|
|
1243
|
+
product_ids: Array<string & { length: 24 }>;
|
|
1244
1244
|
/**
|
|
1245
1245
|
* Tag to identify object, use only lowercase letters, digits and underscore
|
|
1246
1246
|
*/
|
|
@@ -23,20 +23,24 @@ type Resource = 'products'
|
|
|
23
23
|
| 'authentications';
|
|
24
24
|
|
|
25
25
|
type ResourceId = string & { length: 24 };
|
|
26
|
-
|
|
27
26
|
type ResourceAndId = `${Resource}/${ResourceId}`;
|
|
28
|
-
|
|
27
|
+
type ResourceAndFind = ResourceAndId | `${Resource}/${string}:${string}`;
|
|
29
28
|
type ResourceOpQuery = Resource | `${Resource}?${string}`;
|
|
30
29
|
|
|
30
|
+
type SearchOpQuery = 'search/v1'
|
|
31
|
+
| `search/v1?${string}`
|
|
32
|
+
| 'search/_els'
|
|
33
|
+
| `search/_els?${string}`;
|
|
34
|
+
|
|
31
35
|
type EventsEndpoint = `events/${Resource}`
|
|
32
36
|
| `events/${ResourceAndId}`
|
|
33
37
|
| 'events/me';
|
|
34
38
|
|
|
35
39
|
type Endpoint = ResourceOpQuery
|
|
36
|
-
|
|
|
37
|
-
| `${
|
|
40
|
+
| ResourceAndFind
|
|
41
|
+
| `${ResourceAndFind}/${string}`
|
|
38
42
|
| `slugs/${string}`
|
|
39
|
-
|
|
|
43
|
+
| SearchOpQuery
|
|
40
44
|
| EventsEndpoint
|
|
41
45
|
| 'login'
|
|
42
46
|
| 'authenticate'
|
|
@@ -57,6 +61,14 @@ type Config = {
|
|
|
57
61
|
lang?: string,
|
|
58
62
|
method?: Method,
|
|
59
63
|
endpoint: Endpoint,
|
|
64
|
+
fields?: readonly string[],
|
|
65
|
+
sort?: readonly string[],
|
|
66
|
+
limit?: number,
|
|
67
|
+
offset?: number,
|
|
68
|
+
count?: boolean,
|
|
69
|
+
buckets?: boolean,
|
|
70
|
+
verbose?: boolean,
|
|
71
|
+
concise?: boolean,
|
|
60
72
|
params?: Record<string, string | number | boolean | string[] | number[]> | string,
|
|
61
73
|
headers?: Headers | Record<string, string>,
|
|
62
74
|
timeout?: number,
|
|
@@ -72,33 +84,156 @@ type BaseListResultMeta = {
|
|
|
72
84
|
fields: Array<string>,
|
|
73
85
|
};
|
|
74
86
|
|
|
75
|
-
type
|
|
76
|
-
type
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
type
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
type DocField<T extends string> = T extends `${infer U}.${string}` ? U : T;
|
|
88
|
+
type ListResultDocs<
|
|
89
|
+
Document extends Record<string, any>,
|
|
90
|
+
Fields extends string[] | '*' = '*',
|
|
91
|
+
> = Array<Omit<(
|
|
92
|
+
Fields extends '*' ? Partial<Document> :
|
|
93
|
+
Pick<Document, Extract<keyof Document, DocField<Fields[number]>>>
|
|
94
|
+
), '_id'> & { _id: ResourceId }>;
|
|
95
|
+
|
|
96
|
+
type DefaultProductsFields = [
|
|
97
|
+
'sku',
|
|
98
|
+
'slug',
|
|
99
|
+
];
|
|
100
|
+
type ProductsList<Fields extends null | string[] | '*' = '*'> =
|
|
101
|
+
ListResultDocs<Products, Fields extends null ? DefaultProductsFields : Fields>;
|
|
102
|
+
|
|
103
|
+
type DefaultCategoriesFields = [
|
|
104
|
+
'name',
|
|
105
|
+
'slug',
|
|
106
|
+
'parent',
|
|
107
|
+
'icon',
|
|
108
|
+
'pictures.0',
|
|
109
|
+
];
|
|
110
|
+
type CategoriesList<Fields extends null | string[] | '*' = '*'> =
|
|
111
|
+
ListResultDocs<Categories, Fields extends null ? DefaultCategoriesFields : Fields>;
|
|
112
|
+
|
|
113
|
+
type DefaultBrandsFields = [
|
|
114
|
+
'name',
|
|
115
|
+
'slug',
|
|
116
|
+
'logo',
|
|
117
|
+
'pictures.0',
|
|
118
|
+
];
|
|
119
|
+
type BrandsList<Fields extends null | string[] | '*' = '*'> =
|
|
120
|
+
ListResultDocs<Brands, Fields extends null ? DefaultBrandsFields : Fields>;
|
|
121
|
+
|
|
122
|
+
type DefaultCollectionsFields = [
|
|
123
|
+
'name',
|
|
124
|
+
'slug',
|
|
125
|
+
'products',
|
|
126
|
+
'pictures.0',
|
|
127
|
+
];
|
|
128
|
+
type CollectionsList<Fields extends null | string[] | '*' = '*'> =
|
|
129
|
+
ListResultDocs<Collections, Fields extends null ? DefaultCollectionsFields : Fields>;
|
|
130
|
+
|
|
131
|
+
type DefaultGridsFields = [
|
|
132
|
+
'title',
|
|
133
|
+
'grid_id',
|
|
134
|
+
'options.text',
|
|
135
|
+
'options.colors',
|
|
136
|
+
];
|
|
137
|
+
type GridsList<Fields extends null | string[] | '*' = '*'> =
|
|
138
|
+
ListResultDocs<Grids, Fields extends null ? DefaultGridsFields : Fields>;
|
|
139
|
+
|
|
140
|
+
type DefaultCartsFields = [
|
|
141
|
+
'available',
|
|
142
|
+
'completed',
|
|
143
|
+
'permalink',
|
|
144
|
+
'status',
|
|
145
|
+
'customers',
|
|
146
|
+
'other_customers',
|
|
147
|
+
'items.product_id',
|
|
148
|
+
'items.sku',
|
|
149
|
+
'items.name',
|
|
150
|
+
'items.quantity',
|
|
151
|
+
'items.final_price',
|
|
152
|
+
'subtotal',
|
|
153
|
+
];
|
|
154
|
+
type CartsList<Fields extends null | string[] | '*' = '*'> =
|
|
155
|
+
ListResultDocs<Carts, Fields extends null ? DefaultCartsFields : Fields>;
|
|
156
|
+
|
|
157
|
+
type DefaultOrdersFields = [
|
|
158
|
+
'channel_id',
|
|
159
|
+
'number',
|
|
160
|
+
'code',
|
|
161
|
+
'status',
|
|
162
|
+
'financial_status.updated_at',
|
|
163
|
+
'financial_status.current',
|
|
164
|
+
'fulfillment_status.updated_at',
|
|
165
|
+
'fulfillment_status.current',
|
|
166
|
+
'amount',
|
|
167
|
+
'payment_method_label',
|
|
168
|
+
'shipping_method_label',
|
|
169
|
+
'buyers._id',
|
|
170
|
+
'buyers.main_email',
|
|
171
|
+
'buyers.display_name',
|
|
172
|
+
'items.product_id',
|
|
173
|
+
'items.sku',
|
|
174
|
+
'items.name',
|
|
175
|
+
'items.quantity',
|
|
176
|
+
];
|
|
177
|
+
type OrdersList<Fields extends null | string[] | '*' = '*'> =
|
|
178
|
+
ListResultDocs<Orders, Fields extends null ? DefaultOrdersFields : Fields>;
|
|
179
|
+
|
|
180
|
+
type DefaultCustomersFields = [
|
|
181
|
+
'state',
|
|
182
|
+
'enabled',
|
|
183
|
+
'login',
|
|
184
|
+
'status',
|
|
185
|
+
'main_email',
|
|
186
|
+
'accepts_marketing',
|
|
187
|
+
'display_name',
|
|
188
|
+
'orders_count',
|
|
189
|
+
'orders_total_value',
|
|
190
|
+
];
|
|
191
|
+
type CustomersList<Fields extends null | string[] | '*' = '*'> =
|
|
192
|
+
ListResultDocs<Customers, Fields extends null ? DefaultCustomersFields : Fields>;
|
|
193
|
+
|
|
194
|
+
type DefaultStoresFields = [
|
|
195
|
+
'store_id',
|
|
196
|
+
'name',
|
|
197
|
+
'domain',
|
|
198
|
+
];
|
|
199
|
+
type StoresList<Fields extends null | string[] | '*' = '*'> =
|
|
200
|
+
ListResultDocs<Stores, Fields extends null ? DefaultStoresFields : Fields>;
|
|
201
|
+
|
|
202
|
+
type DefaultApplicationsFields = [
|
|
203
|
+
'app_id',
|
|
204
|
+
'title',
|
|
205
|
+
'state',
|
|
206
|
+
'version',
|
|
207
|
+
'type',
|
|
208
|
+
];
|
|
209
|
+
type ApplicationsList<Fields extends null | string[] | '*' = '*'> =
|
|
210
|
+
ListResultDocs<Applications, Fields extends null ? DefaultApplicationsFields : Fields>;
|
|
211
|
+
|
|
212
|
+
type DefaultAuthenticationsFields = [
|
|
213
|
+
'username',
|
|
214
|
+
'email',
|
|
215
|
+
'app',
|
|
216
|
+
];
|
|
217
|
+
type AuthenticationsList<Fields extends null | string[] | '*' = '*'> =
|
|
218
|
+
ListResultDocs<Authentications, Fields extends null ? DefaultAuthenticationsFields : Fields>;
|
|
87
219
|
|
|
88
220
|
type ListEndpoint<TResource extends Resource> = TResource | `${TResource}?${string}`;
|
|
89
|
-
type ResourceListResult<
|
|
221
|
+
type ResourceListResult<
|
|
222
|
+
TEndpoint extends ResourceOpQuery,
|
|
223
|
+
Fields extends string[] | null = TEndpoint extends Resource ? null : '*',
|
|
224
|
+
> = {
|
|
90
225
|
result:
|
|
91
|
-
TEndpoint extends ListEndpoint<'products'> ? ProductsList :
|
|
92
|
-
TEndpoint extends ListEndpoint<'categories'> ? CategoriesList :
|
|
93
|
-
TEndpoint extends ListEndpoint<'brands'> ? BrandsList :
|
|
94
|
-
TEndpoint extends ListEndpoint<'collections'> ? CollectionsList :
|
|
95
|
-
TEndpoint extends ListEndpoint<'grids'> ? GridsList :
|
|
96
|
-
TEndpoint extends ListEndpoint<'carts'> ? CartsList :
|
|
97
|
-
TEndpoint extends ListEndpoint<'orders'> ? OrdersList :
|
|
98
|
-
TEndpoint extends ListEndpoint<'customers'> ? CustomersList :
|
|
99
|
-
TEndpoint extends ListEndpoint<'stores'> ? StoresList :
|
|
100
|
-
TEndpoint extends ListEndpoint<'applications'> ? ApplicationsList :
|
|
101
|
-
TEndpoint extends ListEndpoint<'authentications'> ? AuthenticationsList :
|
|
226
|
+
TEndpoint extends ListEndpoint<'products'> ? ProductsList<Fields> :
|
|
227
|
+
TEndpoint extends ListEndpoint<'categories'> ? CategoriesList<Fields> :
|
|
228
|
+
TEndpoint extends ListEndpoint<'brands'> ? BrandsList<Fields> :
|
|
229
|
+
TEndpoint extends ListEndpoint<'collections'> ? CollectionsList<Fields> :
|
|
230
|
+
TEndpoint extends ListEndpoint<'grids'> ? GridsList<Fields> :
|
|
231
|
+
TEndpoint extends ListEndpoint<'carts'> ? CartsList<Fields> :
|
|
232
|
+
TEndpoint extends ListEndpoint<'orders'> ? OrdersList<Fields> :
|
|
233
|
+
TEndpoint extends ListEndpoint<'customers'> ? CustomersList<Fields> :
|
|
234
|
+
TEndpoint extends ListEndpoint<'stores'> ? StoresList<Fields> :
|
|
235
|
+
TEndpoint extends ListEndpoint<'applications'> ? ApplicationsList<Fields> :
|
|
236
|
+
TEndpoint extends ListEndpoint<'authentications'> ? AuthenticationsList<Fields> :
|
|
102
237
|
never,
|
|
103
238
|
meta: BaseListResultMeta & {
|
|
104
239
|
count?: number,
|
|
@@ -110,6 +245,83 @@ type ResourceListResult<TEndpoint extends ResourceOpQuery> = {
|
|
|
110
245
|
},
|
|
111
246
|
};
|
|
112
247
|
|
|
248
|
+
interface SearchProducts extends Products {
|
|
249
|
+
has_variations: boolean;
|
|
250
|
+
_score: number;
|
|
251
|
+
}
|
|
252
|
+
type DefaultSearchFields = [
|
|
253
|
+
'sku',
|
|
254
|
+
'name',
|
|
255
|
+
'slug',
|
|
256
|
+
'available',
|
|
257
|
+
'visible',
|
|
258
|
+
'price',
|
|
259
|
+
'base_price',
|
|
260
|
+
'quantity',
|
|
261
|
+
'min_quantity',
|
|
262
|
+
'inventory',
|
|
263
|
+
'measurement',
|
|
264
|
+
'condition',
|
|
265
|
+
'warranty',
|
|
266
|
+
'pictures.normal',
|
|
267
|
+
'has_variations',
|
|
268
|
+
];
|
|
269
|
+
|
|
270
|
+
type SearchItem<Fields extends null | string[] | '*' = '*'> = Omit<(
|
|
271
|
+
Fields extends '*' ? Partial<SearchProducts> :
|
|
272
|
+
Pick<
|
|
273
|
+
SearchProducts,
|
|
274
|
+
Extract<keyof SearchProducts,
|
|
275
|
+
DocField<Fields extends null ? DefaultSearchFields[number] : Fields[number]>>
|
|
276
|
+
>
|
|
277
|
+
), '_id' | '_score'> & {
|
|
278
|
+
_id: ResourceId,
|
|
279
|
+
_score: number,
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
type SearchResult<
|
|
283
|
+
TEndpoint extends SearchOpQuery | 'v1' | 'els',
|
|
284
|
+
Fields extends string[] | null = TEndpoint extends 'search/v1' | 'v1' ? null : '*',
|
|
285
|
+
> =
|
|
286
|
+
TEndpoint extends 'search/v1' | `search/v1?${string}` | 'v1' ? {
|
|
287
|
+
result: SearchItem<Fields>[],
|
|
288
|
+
meta: BaseListResultMeta & {
|
|
289
|
+
count?: number,
|
|
290
|
+
sort: Array<{
|
|
291
|
+
field: string,
|
|
292
|
+
order: 1 | -1,
|
|
293
|
+
}>,
|
|
294
|
+
query: { [key: string]: any },
|
|
295
|
+
buckets?: {
|
|
296
|
+
prices?: Array<{
|
|
297
|
+
min: null | number,
|
|
298
|
+
max: null | number,
|
|
299
|
+
avg: null | number,
|
|
300
|
+
count: number,
|
|
301
|
+
}>,
|
|
302
|
+
'brands/name'?: {
|
|
303
|
+
[key: string]: number,
|
|
304
|
+
},
|
|
305
|
+
'categories/name'?: {
|
|
306
|
+
[key: string]: number,
|
|
307
|
+
},
|
|
308
|
+
specs?: {
|
|
309
|
+
[key: string]: number,
|
|
310
|
+
},
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
} :
|
|
314
|
+
TEndpoint extends 'search/_els' | `search/_els?${string}` | 'els' ? {
|
|
315
|
+
hits: {
|
|
316
|
+
hits: SearchItem<'*'>[],
|
|
317
|
+
total: number,
|
|
318
|
+
max_score: null,
|
|
319
|
+
},
|
|
320
|
+
aggregations: Record<string, any>,
|
|
321
|
+
took: number,
|
|
322
|
+
} :
|
|
323
|
+
never;
|
|
324
|
+
|
|
113
325
|
type EventFieldsByEndpoint<TEndpoint extends EventsEndpoint> =
|
|
114
326
|
TEndpoint extends `events/${Resource}` ? {
|
|
115
327
|
resource_id: ResourceId,
|
|
@@ -141,7 +353,14 @@ type EventsResult<TEndpoint extends EventsEndpoint> = {
|
|
|
141
353
|
meta: BaseListResultMeta,
|
|
142
354
|
};
|
|
143
355
|
|
|
144
|
-
type ResponseBody<
|
|
356
|
+
type ResponseBody<
|
|
357
|
+
TConfig extends Config,
|
|
358
|
+
ListFields extends string[] | null = TConfig['endpoint'] extends Resource
|
|
359
|
+
? TConfig['params']['fields'] extends string ? '*'
|
|
360
|
+
: TConfig['fields'] extends readonly string[] ? TConfig['fields']
|
|
361
|
+
: null
|
|
362
|
+
: '*',
|
|
363
|
+
> =
|
|
145
364
|
TConfig['method'] extends 'post' ?
|
|
146
365
|
TConfig['endpoint'] extends 'login' ? { _id: ResourceId, store_ids: number[], api_key: string } :
|
|
147
366
|
TConfig['endpoint'] extends 'authenticate' ? { my_id: string, access_token: string, expires: string } :
|
|
@@ -160,7 +379,8 @@ type ResponseBody<TConfig extends Config> =
|
|
|
160
379
|
TConfig['endpoint'] extends `stores/${ResourceId}` ? Stores :
|
|
161
380
|
TConfig['endpoint'] extends `applications/${ResourceId}` ? Applications :
|
|
162
381
|
TConfig['endpoint'] extends `authentications/${ResourceId}` ? Authentications :
|
|
163
|
-
TConfig['endpoint'] extends ResourceOpQuery ? ResourceListResult<TConfig['endpoint']> :
|
|
382
|
+
TConfig['endpoint'] extends ResourceOpQuery ? ResourceListResult<TConfig['endpoint'], ListFields> :
|
|
383
|
+
TConfig['endpoint'] extends SearchOpQuery ? SearchResult<TConfig['endpoint'], ListFields> :
|
|
164
384
|
TConfig['endpoint'] extends EventsEndpoint ? EventsResult<TConfig['endpoint']> :
|
|
165
385
|
any;
|
|
166
386
|
|
|
@@ -245,11 +465,14 @@ export type {
|
|
|
245
465
|
Resource,
|
|
246
466
|
ResourceId,
|
|
247
467
|
ResourceAndId,
|
|
468
|
+
ResourceAndFind,
|
|
248
469
|
ResourceOpQuery,
|
|
249
470
|
Endpoint,
|
|
250
471
|
Method,
|
|
251
472
|
Config,
|
|
252
473
|
ResourceListResult,
|
|
474
|
+
SearchItem,
|
|
475
|
+
SearchResult,
|
|
253
476
|
EventsResult,
|
|
254
477
|
ResponseBody,
|
|
255
478
|
RequestBody,
|
package/packages/api/types.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './types.d';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Please refer to GitHub [repository releases](https://github.com/ecomplus/cloud-commerce/releases) or monorepo unified [CHANGELOG.md](https://github.com/ecomplus/cloud-commerce/blob/main/CHANGELOG.md).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# `@cloudcommerce/app-affilate-program`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* eslint-disable import/prefer-default-export */
|
|
2
|
+
import '@cloudcommerce/firebase/lib/init';
|
|
3
|
+
import { createAppEventsFunction } from '@cloudcommerce/firebase/lib/helpers/pubsub';
|
|
4
|
+
import handleApiEvent from './events-to-affilate-program.js';
|
|
5
|
+
|
|
6
|
+
export const affilateapp = {
|
|
7
|
+
onStoreEvent: createAppEventsFunction('affilateProgram', handleApiEvent),
|
|
8
|
+
};
|
|
9
|
+
// # sourceMappingURL=affilate-program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"affilate-program.js","sourceRoot":"","sources":["../src/affilate-program.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EACL,uBAAuB,GAExB,MAAM,4CAA4C,CAAC;AACpD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,uBAAuB,CACnC,iBAAiB,EACjB,cAAiC,CAClC;CACF,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { getFirestore, Timestamp } from 'firebase-admin/firestore';
|
|
2
|
+
import { logger } from 'firebase-functions/v1';
|
|
3
|
+
import api from '@cloudcommerce/api';
|
|
4
|
+
|
|
5
|
+
const handleApiEvent = async ({
|
|
6
|
+
evName, apiEvent, apiDoc, app,
|
|
7
|
+
}) => {
|
|
8
|
+
const appData = { ...app.data, ...app.hidden_data };
|
|
9
|
+
const resourceId = apiEvent.resource_id;
|
|
10
|
+
const key = `${evName}_${resourceId}`;
|
|
11
|
+
const isOrder = evName.startsWith('orders-');
|
|
12
|
+
const isCustomer = evName.startsWith('customers-');
|
|
13
|
+
const firestoreColl = getFirestore().collection('affilateProgramOrders');
|
|
14
|
+
if ((Array.isArray(appData.ignore_events)
|
|
15
|
+
&& appData.ignore_events.includes(evName))
|
|
16
|
+
|| (!isCustomer && !isOrder)) {
|
|
17
|
+
logger.info('>> ', key, ' - Ignored event');
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
let newCustomerId;
|
|
21
|
+
let newCustomerEmail;
|
|
22
|
+
let referralId;
|
|
23
|
+
if (isCustomer) {
|
|
24
|
+
const customer = apiDoc;
|
|
25
|
+
newCustomerId = customer._id;
|
|
26
|
+
referralId = customer.affiliate_code;
|
|
27
|
+
newCustomerEmail = customer.main_email;
|
|
28
|
+
if (!newCustomerId || !newCustomerEmail || !referralId) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
if (!/^[a-f0-9]{24}$/.test(referralId)) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
let orderId;
|
|
36
|
+
let buyerId;
|
|
37
|
+
let orderSubtotal = 0;
|
|
38
|
+
let isPaid = false;
|
|
39
|
+
let isCancelled = false;
|
|
40
|
+
if (isOrder) {
|
|
41
|
+
const order = apiDoc;
|
|
42
|
+
orderId = order._id;
|
|
43
|
+
orderSubtotal = order.amount?.subtotal || 0;
|
|
44
|
+
const orderStatus = order.financial_status?.current;
|
|
45
|
+
buyerId = order.buyers?.[0]?._id;
|
|
46
|
+
if (!orderId || !orderSubtotal || !orderStatus || !buyerId) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
switch (orderStatus) {
|
|
50
|
+
case 'paid':
|
|
51
|
+
isPaid = true;
|
|
52
|
+
break;
|
|
53
|
+
case 'unauthorized':
|
|
54
|
+
case 'partially_refunded':
|
|
55
|
+
case 'refunded':
|
|
56
|
+
case 'voided':
|
|
57
|
+
isCancelled = true;
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
if (!isPaid && !isCancelled) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
logger.info(`${isOrder ? 'Orders' : 'Customers'}`);
|
|
67
|
+
try {
|
|
68
|
+
if (isCustomer && appData.points_on_signup) {
|
|
69
|
+
const referralCustomer = (await api.get(`customers/${referralId}`)).data;
|
|
70
|
+
if (!referralCustomer?.enabled) {
|
|
71
|
+
logger.warn('Inactive customer');
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
if (referralCustomer.main_email === newCustomerEmail) {
|
|
75
|
+
logger.warn('new customer is the affiliate, same email');
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
// save new customer points
|
|
79
|
+
// TODO: set type for partial body in post method
|
|
80
|
+
const pointsEndpoint = `customers/${newCustomerId}/loyalty_points_entries`;
|
|
81
|
+
const d = new Date();
|
|
82
|
+
d.setDate(d.getDate() + 120);
|
|
83
|
+
const validThru = d.toISOString();
|
|
84
|
+
await api.post(pointsEndpoint, {
|
|
85
|
+
name: 'Convite',
|
|
86
|
+
program_id: 'referreds0',
|
|
87
|
+
earned_points: appData.points_on_signup,
|
|
88
|
+
active_points: appData.points_on_signup,
|
|
89
|
+
ratio: 1,
|
|
90
|
+
valid_thru: validThru,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (isOrder && isPaid && appData.points_on_referral && orderId) {
|
|
94
|
+
if (appData.min_subtotal_to_earn > orderSubtotal) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
const buyerCustomer = (await api.get(`customers/${buyerId}`)).data;
|
|
98
|
+
if (!buyerCustomer?.enabled) {
|
|
99
|
+
logger.warn('Inactive customer');
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
if (!buyerCustomer.affiliate_code) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
const referralCustomer = (await api.get(`customers/${buyerCustomer.affiliate_code}`)).data;
|
|
106
|
+
if (referralCustomer.doc_number === buyerCustomer.doc_number) {
|
|
107
|
+
logger.warn('Order placed by affiliate');
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
logger.info(`Order ${orderId} paid by ${buyerId} validated`);
|
|
111
|
+
const docRef = firestoreColl.doc(`${orderId}`);
|
|
112
|
+
if (!appData.on_all_orders) {
|
|
113
|
+
// check if points not already paid for this order
|
|
114
|
+
const docSnapshot = await docRef.get();
|
|
115
|
+
if (docSnapshot.exists) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
let earnedPoints;
|
|
120
|
+
if (typeof appData.points_on_referral === 'number') {
|
|
121
|
+
earnedPoints = appData.points_on_referral;
|
|
122
|
+
} else if (appData.points_on_referral.type === 'percentage') {
|
|
123
|
+
earnedPoints = (orderSubtotal * appData.points_on_referral.value) / 100;
|
|
124
|
+
} else {
|
|
125
|
+
earnedPoints = appData.points_on_referral.value;
|
|
126
|
+
}
|
|
127
|
+
if (!(earnedPoints > 0)) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
// TODO: set type for partial body in post method
|
|
131
|
+
const pointsEndpoint = `/customers/${buyerCustomer.affiliate_code}/loyalty_points_entries`;
|
|
132
|
+
await api.post(pointsEndpoint, {
|
|
133
|
+
name: 'Afiliado',
|
|
134
|
+
program_id: 'affiliates0',
|
|
135
|
+
earned_points: earnedPoints,
|
|
136
|
+
active_points: earnedPoints,
|
|
137
|
+
ratio: 1,
|
|
138
|
+
});
|
|
139
|
+
await docRef.set({
|
|
140
|
+
buyerId,
|
|
141
|
+
referralId: buyerCustomer.affiliate_code,
|
|
142
|
+
earnedPoints,
|
|
143
|
+
t: Timestamp.fromDate(new Date()),
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return null;
|
|
147
|
+
} catch (err) {
|
|
148
|
+
logger.error(err);
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
export default handleApiEvent;
|
|
154
|
+
// # sourceMappingURL=events-to-affilate-program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events-to-affilate-program.js","sourceRoot":"","sources":["../src/events-to-affilate-program.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cloudcommerce/app-affilate-program",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.15.0",
|
|
5
|
+
"description": "E-Com Plus Cloud Commerce app for simple affiliate program",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/ecomplus/cloud-commerce.git",
|
|
10
|
+
"directory": "packages/apps/app-affilate-program"
|
|
11
|
+
},
|
|
12
|
+
"author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
|
|
13
|
+
"license": "Apache 2.0 with Commons Clause",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/ecomplus/cloud-commerce/issues"
|
|
16
|
+
},
|
|
17
|
+
"homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/apps/app-affilate-program#readme",
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "bash ../../../scripts/build-lib.sh"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@cloudcommerce/api": "workspace:*",
|
|
23
|
+
"@cloudcommerce/firebase": "workspace:*",
|
|
24
|
+
"firebase-admin": "^11.9.0",
|
|
25
|
+
"firebase-functions": "^4.4.1"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@cloudcommerce/types": "workspace:*"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable import/prefer-default-export */
|
|
2
|
+
import '@cloudcommerce/firebase/lib/init';
|
|
3
|
+
import {
|
|
4
|
+
createAppEventsFunction,
|
|
5
|
+
ApiEventHandler,
|
|
6
|
+
} from '@cloudcommerce/firebase/lib/helpers/pubsub';
|
|
7
|
+
import handleApiEvent from './events-to-affilate-program';
|
|
8
|
+
|
|
9
|
+
export const affilateapp = {
|
|
10
|
+
onStoreEvent: createAppEventsFunction(
|
|
11
|
+
'affilateProgram',
|
|
12
|
+
handleApiEvent as ApiEventHandler,
|
|
13
|
+
),
|
|
14
|
+
};
|