@taon-dev/e-commerce 21.0.8 → 21.0.9
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/browser/fesm2022/e-commerce-browser.mjs +1 -1
- package/browser/fesm2022/e-commerce-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser/types/e-commerce-browser.d.ts +1 -1
- package/browser-prod/fesm2022/e-commerce-browser-prod.mjs +1 -1
- package/browser-prod/fesm2022/e-commerce-browser-prod.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/browser-prod/types/e-commerce-browser-prod.d.ts +1 -1
- package/cli.d.ts +2 -1
- package/full-dts/build-info._auto-generated_.d.ts +2 -1
- package/full-dts/i18n/lib.translation.d.ts +1 -0
- package/full-dts/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/index._auto-generated_.d.ts +1 -0
- package/full-dts/index.d.ts +1 -0
- package/full-dts/migrations/1791132517216_initial.d.ts +1 -0
- package/full-dts/migrations/index.d.ts +1 -0
- package/full-dts/migrations/migrations_index._auto-generated_.d.ts +1 -0
- package/full-dts/my-organization-proj.d.ts +1 -0
- package/full-dts/start-cli.d.ts +1 -0
- package/full-dts/taon-cart/index.d.ts +1 -0
- package/full-dts/taon-cart/taon-cart.component.d.ts +1 -0
- package/full-dts/taon-cart/taon-cart.models.d.ts +1 -0
- package/full-dts/taon-cart-button/index.d.ts +1 -0
- package/full-dts/taon-cart-button/taon-cart-button.component.d.ts +1 -0
- package/full-dts/taon-cart-button/taon-cart-button.models.d.ts +1 -0
- package/full-dts/taon-cart-button/taon-cart-button.routes.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice/taon-e-commerce-backoffice.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes.d.ts +1 -0
- package/full-dts/taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/i18n/taon-e-commerce-cart.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/i18n/taon-e-commerce-cart.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart/taon-e-commerce-cart.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer/taon-e-commerce-customer.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer/taon-e-commerce-customer.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer/taon-e-commerce-customer.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/i18n/taon-e-commerce-order.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/i18n/taon-e-commerce-order.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/i18n/taon-e-commerce-order.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-order.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/i18n/taon-e-commerce-product.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/i18n/taon-e-commerce-product.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/i18n/taon-e-commerce-product.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-product.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.constants.ts.en-US.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/index.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.models.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils.d.ts +1 -0
- package/full-dts/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.d.ts +1 -0
- package/full-dts/taon-e-commerce.abstract.context.d.ts +1 -0
- package/i18n/app.ts.en-US.i18n.data.d.ts +1 -0
- package/i18n/app.ts.pl-PL.i18n.data.d.ts +1 -0
- package/i18n/src.translation.d.ts +1 -0
- package/index.d.ts +2 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/package.json +1 -1
- package/lib/taon-e-commerce-backoffice/index.d.ts +1 -1
- package/lib/taon-e-commerce-backoffice/index.js +2 -2
- package/lib/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -1
- package/lib/taon-e-commerce-backoffice-dashboard/index.js +2 -2
- package/lib/taon-e-commerce-backoffice-settings/index.d.ts +1 -1
- package/lib/taon-e-commerce-backoffice-settings/index.js +2 -2
- package/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -1
- package/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.js +2 -2
- package/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -1
- package/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.js +2 -2
- package/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -1
- package/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.js +2 -2
- package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib-esm/lib/build-info._auto-generated_.js +1 -1
- package/lib-esm/lib/taon-e-commerce-backoffice/index.d.ts +1 -1
- package/lib-esm/lib/taon-e-commerce-backoffice/index.js +1 -1
- package/lib-esm/lib/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -1
- package/lib-esm/lib/taon-e-commerce-backoffice-dashboard/index.js +1 -1
- package/lib-esm/lib/taon-e-commerce-backoffice-settings/index.d.ts +1 -1
- package/lib-esm/lib/taon-e-commerce-backoffice-settings/index.js +1 -1
- package/lib-esm/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -1
- package/lib-esm/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.js +1 -1
- package/lib-esm/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -1
- package/lib-esm/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.js +1 -1
- package/lib-esm/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -1
- package/lib-esm/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.js +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +1 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/taon-e-commerce-backoffice/index.d.ts +1 -1
- package/lib-prod/taon-e-commerce-backoffice/index.js +1 -1
- package/lib-prod/taon-e-commerce-backoffice-dashboard/index.d.ts +1 -1
- package/lib-prod/taon-e-commerce-backoffice-dashboard/index.js +1 -1
- package/lib-prod/taon-e-commerce-backoffice-settings/index.d.ts +1 -1
- package/lib-prod/taon-e-commerce-backoffice-settings/index.js +1 -1
- package/lib-prod/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.d.ts +1 -1
- package/lib-prod/taon-e-commerce-order/taon-e-commerce-orders-backoffice/index.js +1 -1
- package/lib-prod/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.d.ts +1 -1
- package/lib-prod/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/index.js +1 -1
- package/lib-prod/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.d.ts +1 -1
- package/lib-prod/taon-e-commerce-product/taon-e-commerce-products-backoffice/index.js +1 -1
- package/package.json +1 -1
- package/websql/fesm2022/e-commerce-websql.mjs +1 -1
- package/websql/fesm2022/e-commerce-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql/types/e-commerce-websql.d.ts +1 -1
- package/websql-prod/fesm2022/e-commerce-websql-prod.mjs +1 -1
- package/websql-prod/fesm2022/e-commerce-websql-prod.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
- package/websql-prod/types/e-commerce-websql-prod.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-commerce-browser.mjs","sources":["../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/1791132517216_initial.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/my-organization-proj.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/start-cli.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/i18n/taon-e-commerce-order.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/i18n/taon-e-commerce-product.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/e-commerce-browser.ts"],"sourcesContent":["import {\n MyAppAuthorization,\n MyAppGroup,\n MyAppPermission,\n MyAppRole,\n} from '@taon-dev/cms/browser';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser';\nimport { Taon, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner } from 'taon-typeorm/browser';\n\n//#region Migration class for context \"ECommerceContext\"\n@TaonMigration({\n className: 'ECommerceContext_1791132517216_initial',\n})\nexport class ECommerceContext_1791132517216_initial extends TaonBaseMigration {\n private taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository<MyAppAuthorization>,\n );\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.persistTree({\n enums: {\n groups: MyAppGroup,\n roles: MyAppRole,\n permissions: MyAppPermission,\n },\n tree: {\n groupAndRoles: {\n [MyAppGroup.Administrator]: '*',\n [MyAppGroup.Customers]: [MyAppRole.BlogReader],\n },\n rolesAndPermissions: {\n [MyAppRole.Customer]: [\n MyAppPermission.AccessCourseP2,\n MyAppPermission.AccessCourseP2,\n ],\n [MyAppRole.CustomerPremium]: '*',\n },\n },\n });\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.clearRolesGroupPermissions();\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n}\n//#endregion\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { ECommerceContext_1791132517216_initial } from './1791132517216_initial';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_ECommerceContext = {\n /* 04-10-2026 18:48:37 */ ECommerceContext_1791132517216_initial,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\n","// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.e-commerce';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/e-commerce';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.8';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Translation } from \"@taon-dev/i18n/browser\";\nimport { Taon } from \"taon/browser\";\n\nconst t = Translation.for('src/lib/my-organization-proj.ts', {\"src/lib/my-organization-proj.ts\":{\"en-US\":async () => (await import('./i18n/my-organization-proj.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/my-organization-proj.ts.pl-PL.i18n.data')).default}} as any);\n\nexport function myOrgProj() {\n t.gettext('My Translated Company Name!')\n}\n","//#region tnp-helpers cli template\nimport { UtilsJson } from 'tnp-core/browser';\nimport { Helpers, BaseCommandLineFeature } from 'tnp-helpers/browser';\n/* */ \n//#endregion\n\n//#region CLI / global scope\n/**\n * This class is for handling global arguments. *\n * Cli engine will parse: hello:world:from:global:arg to helloWorldFromGlobalArg\n * (lower case, camel case) .. so you don't need to worry about misspelling\n * arguments\n */\nclass $Global extends BaseCommandLineFeature<{}> {\n /**\n * When you execute cli without arguments:`$ cli`\n */\n public _() {\n console.log(`Hello world from cli`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli hello:world:from:global:arg`\n * (or `$ cli helloWorldFromGlobalArg`)\n */\n helloWorldFromGlobalArg() {\n console.log('hello world from global argument!');\n this._exit(0);\n }\n}\n//#endregion\n\n//#region CLI / Version Scope\n/**\n *\n */\nclass $Version extends BaseCommandLineFeature<{\n anyCLIparamsHere: string;\n}> {\n /**\n * When you execute: `$ cli version`\n */\n public _() {\n console.log(`Hello world from version argument`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli version:getFromPackageJson`\n */\n public getFromPackageJson() {\n const ver = UtilsJson.getValue(\n this.project.pathFor('package.json'),\n 'version',\n {\n defaultValue: '<not defined>',\n },\n );\n console.log(`Version from packageJson ${ver}`);\n this._exit(0);\n }\n}\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\n\n@Index(['provider', 'providerTransactionId'], { unique: true })\n@TaonEntity<TaonECommercePaymentTransactionEntity>({\n className: 'TaonECommercePaymentTransactionEntity',\n createTable: true,\n})\nexport class TaonECommercePaymentTransactionEntity extends TaonBaseAbstractEntity<TaonECommercePaymentTransactionEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'varchar' })\n provider!: string;\n\n @Column({ type: 'varchar' })\n providerTransactionId!: string;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'succeeded' | 'failed' | 'cancelled';\n\n @Column({ type: 'float' })\n amount!: number;\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.transactions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@TaonEntity<TaonECommerceOrderEntity>({\n className: 'TaonECommerceOrderEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderEntity extends TaonBaseAbstractEntity<TaonECommerceOrderEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'paid' | 'cancelled' | 'failed';\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @Column({ type: 'float' })\n subtotal!: number;\n\n @Column({ type: 'float' })\n total!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.order)\n items!: TaonECommerceOrderItemEntity[];\n\n @OneToMany(\n () => TaonECommercePaymentTransactionEntity,\n transaction => transaction.order,\n )\n transactions!: TaonECommercePaymentTransactionEntity[];\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonEntity<TaonECommerceOrderItemEntity>({\n className: 'TaonECommerceOrderItemEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderItemEntity extends TaonBaseAbstractEntity<TaonECommerceOrderItemEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'varchar' })\n productName!: string;\n\n @Column({ type: 'float' })\n unitPrice!: number;\n\n @Column({ type: 'int' })\n quantity!: number;\n\n @Column({ type: 'float' })\n totalPrice!: number;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.orderItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['productId', 'permissionId'], { unique: true })\n@TaonEntity<TaonECommerceProductPermissionEntity>({\n className: 'TaonECommerceProductPermissionEntity',\n createTable: true,\n})\nexport class TaonECommerceProductPermissionEntity extends TaonBaseAbstractEntity<TaonECommerceProductPermissionEntity> {\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int' })\n permissionId!: number;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.permissions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @ManyToOne(() => TaonPermissionEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'permissionId' })\n permission!: TaonPermissionEntity;\n}\n","import {\n BooleanColumn,\n Column,\n CreateDateColumn,\n OneToMany,\n String500Column,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\n\n@TaonEntity<TaonECommerceProductEntity>({\n className: 'TaonECommerceProductEntity',\n createTable: true,\n})\nexport class TaonECommerceProductEntity extends TaonBaseAbstractEntity<TaonECommerceProductEntity> {\n @String500Column()\n name!: string;\n\n @Column({ type: 'text', nullable: true })\n description!: string | null;\n\n @BooleanColumn(true)\n active!: boolean;\n\n @Column({ type: 'varchar' })\n type!: 'digital' | 'physical' | 'service';\n\n @Column({ type: 'float' })\n price!: number;\n\n @Column({ type: 'varchar', length: 3, default: 'USD' })\n currency!: string;\n\n @Column({ type: 'varchar', nullable: true })\n stripeProductId!: string | null;\n\n @Column({ type: 'varchar', nullable: true })\n stripePriceId!: string | null;\n\n @Column({ type: 'datetime', nullable: true })\n stripeLastSyncedAt!: Date | null;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceProductPermissionEntity, link => link.product)\n permissions!: TaonECommerceProductPermissionEntity[];\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.product)\n cartItems!: TaonECommerceCartItemEntity[];\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.product)\n orderItems!: TaonECommerceOrderItemEntity[];\n}\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['cartId', 'productId'], { unique: true })\n@TaonEntity({\n className: 'TaonECommerceCartItemEntity',\n createTable: true,\n})\nexport class TaonECommerceCartItemEntity extends TaonBaseAbstractEntity<TaonECommerceCartItemEntity> {\n @Column({ type: 'int' })\n cartId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int', default: 1 })\n quantity!: number;\n\n @ManyToOne(() => TaonECommerceCartEntity, cart => cart.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'cartId' })\n cart!: TaonECommerceCartEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.cartItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\n\n@TaonEntity({\n className: 'TaonECommerceCartEntity',\n createTable: true,\n})\nexport class TaonECommerceCartEntity extends TaonBaseAbstractEntity<TaonECommerceCartEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.cart)\n items!: TaonECommerceCartItemEntity[];\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartRepository',\n})\nexport class TaonECommerceCartRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartController>({\n className: 'TaonECommerceCartController',\n allowedMethods: []\n})\nexport class TaonECommerceCartController extends TaonBaseCrudController<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n taonECommerceCartRepository = this.injectCustomRepo(TaonECommerceCartRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartProvider',\n})\nexport class TaonECommerceCartProvider extends TaonBaseProvider {\n enabledTaonECommerceCartOption: boolean = true;\n}","import { TaonBaseRepository, TaonRepository } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonRepository({\n className: 'TaonECommerceCustomerRepository',\n})\nexport class TaonECommerceCustomerRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () =>\n TaonECommerceCartEntity;\n\n async getCart(userId: number): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async addProduct(\n userId: number,\n productId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async setItemQuantity(\n userId: number,\n itemId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(\n userId: number,\n itemId: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getOrders(userId: number): Promise<TaonECommerceOrderEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getTransactions(\n userId: number,\n ): Promise<TaonECommercePaymentTransactionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { TaonSessionRepository } from '@taon-dev/session/browser';\nimport {\n Body,\n GET,\n Models,\n POST,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerRepository } from './taon-e-commerce-customer.repository';\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\nexport interface TaonECommerceSubscriptionStatus {\n id: string;\n productName: string;\n status: 'active' | 'cancelled';\n validUntil: string | null;\n}\n\n@TaonController<TaonECommerceCustomerController>({\n className: 'TaonECommerceCustomerController',\n})\nexport class TaonECommerceCustomerController extends TaonBaseController<\n {},\n TaonECommerceCustomerController\n> {\n private readonly sessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly customerRepository = this.injectCustomRepo(\n TaonECommerceCustomerRepository,\n );\n\n private readonly unsubscribedUsers = new Set<number>();\n\n protected async beforeEachRequest({\n req,\n res,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonECommerceCustomerController>): Promise<void> {\n await this.sessionRepository.throwIfNotAuthenticated({ req, res });\n }\n\n @GET()\n getMyCart(): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getCart(userId);\n };\n }\n\n @POST()\n addToMyCart(\n @Body('productId') productId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.addProduct(userId, productId, quantity);\n };\n }\n\n @POST()\n updateMyCartItem(\n @Body('itemId') itemId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.setItemQuantity(userId, itemId, quantity);\n };\n }\n\n @POST()\n removeFromMyCart(\n @Body('itemId') itemId: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.removeItem(userId, itemId);\n };\n }\n\n @GET()\n getMyOrders(): Taon.Response<TaonECommerceOrderEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getOrders(userId);\n };\n }\n\n @GET()\n getMyTransactions(): Taon.Response<TaonECommercePaymentTransactionEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getTransactions(userId);\n };\n }\n\n @GET()\n getMySubscriptionStatuses(): Taon.Response<\n TaonECommerceSubscriptionStatus[]\n > {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return [\n {\n id: `example-subscription-${userId}`,\n productName: 'Example subscription',\n status: this.unsubscribedUsers.has(userId) ? 'cancelled' : 'active',\n validUntil: null,\n },\n ];\n };\n }\n\n @POST()\n unsubscribeFromExampleSubscription(): Taon.Response<void> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n this.unsubscribedUsers.add(userId);\n };\n }\n}\n","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n// import { TaonECommerceCartKvRepository } from './taon-e-commerce-cart.kv.repository';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\nimport { TaonECommerceCustomerController } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport { TaonECommerceCustomerRepository } from '../taon-e-commerce-customer/taon-e-commerce-customer.repository';\n// import { TaonECommerceCartMiddleware } from './taon-e-commerce-cart.middleware';\n// import { TaonECommerceCartSubscriber } from './taon-e-commerce-cart.subscriber';\n//#endregion\n\nexport const TaonECommerceCartAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartEntity },\n repositories: {\n // TaonECommerceCartKvRepository\n TaonECommerceCartRepository,\n TaonECommerceCustomerRepository,\n },\n controllers: { TaonECommerceCartController, TaonECommerceCustomerController },\n providers: { TaonECommerceCartProvider },\n // middlewares: { TaonECommerceCartMiddleware },\n // subscribers: { TaonECommerceCartSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemRepository',\n})\nexport class TaonECommerceCartItemRepository extends TaonBaseRepository<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () => TaonECommerceCartItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartItemController>({\n className: 'TaonECommerceCartItemController',\n allowedMethods: [],\n})\nexport class TaonECommerceCartItemController extends TaonBaseCrudController<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () =>\n TaonECommerceCartItemEntity;\n\n taonECommerceCartItemRepository = this.injectCustomRepo(\n TaonECommerceCartItemRepository,\n );\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartItemProvider',\n})\nexport class TaonECommerceCartItemProvider extends TaonBaseProvider {\n enabledTaonECommerceCartItemOption: boolean = true;\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n// import { TaonECommerceCartItemKvRepository } from './taon-e-commerce-cart-item.kv.repository';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n// import { TaonECommerceCartItemMiddleware } from './taon-e-commerce-cart-item.middleware';\n// import { TaonECommerceCartItemSubscriber } from './taon-e-commerce-cart-item.subscriber';\n//#endregion\n\nexport const TaonECommerceCartItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartItemEntity },\n controllers: { TaonECommerceCartItemController },\n repositories: {\n // TaonECommerceCartItemKvRepository\n TaonECommerceCartItemRepository,\n },\n providers: { TaonECommerceCartItemProvider },\n // middlewares: { TaonECommerceCartItemMiddleware },\n // subscribers: { TaonECommerceCartItemSubscriber },\n}));","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\n@TaonEntity<TaonECommerceCustomerAddressEntity>({\n className: 'TaonECommerceCustomerAddressEntity',\n createTable: true,\n})\nexport class TaonECommerceCustomerAddressEntity extends TaonBaseAbstractEntity<TaonECommerceCustomerAddressEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n type!: 'billing' | 'shipping';\n\n @Column({ type: 'varchar' })\n firstName!: string;\n\n @Column({ type: 'varchar' })\n lastName!: string;\n\n @Column({ type: 'varchar', nullable: true })\n company!: string | null;\n\n @Column({ type: 'varchar' })\n addressLine1!: string;\n\n @Column({ type: 'varchar', nullable: true })\n addressLine2!: string | null;\n\n @Column({ type: 'varchar' })\n city!: string;\n\n @Column({ type: 'varchar' })\n postalCode!: string;\n\n @Column({ type: 'varchar' })\n country!: string;\n\n @Column({ type: 'varchar', nullable: true })\n phone!: string | null;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressRepository',\n})\nexport class TaonECommerceCustomerAddressRepository extends TaonBaseRepository<TaonECommerceCustomerAddressEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n//#endregion\n\n@TaonController<TaonECommerceCustomerAddressController>({\n className: 'TaonECommerceCustomerAddressController',\n // allowedMethods: []\n})\nexport class TaonECommerceCustomerAddressController extends TaonBaseCrudController<\n TaonECommerceCustomerAddressEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceCustomerAddressController\n> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n private readonly taonECommerceCustomerAddressRepository = this.injectCustomRepo(TaonECommerceCustomerAddressRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceCustomerAddressConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceCustomerAddressProvider',\n})\nexport class TaonECommerceCustomerAddressProvider extends TaonBaseProvider {\n enabledTaonECommerceCustomerAddressOption: boolean = true;\n config = new TaonTaonECommerceCustomerAddressConfig();\n clone() {\n return {\n enabledTaonECommerceCustomerAddressOption: this.enabledTaonECommerceCustomerAddressOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n// import { TaonECommerceCustomerAddressKvRepository } from './taon-e-commerce-customer-address.kv.repository';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n// import { TaonECommerceCustomerAddressMiddleware } from './taon-e-commerce-customer-address.middleware';\n// import { TaonECommerceCustomerAddressSubscriber } from './taon-e-commerce-customer-address.subscriber';\n//#endregion\n\nexport const TaonECommerceCustomerAddressAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCustomerAddressAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCustomerAddressEntity },\n controllers: { TaonECommerceCustomerAddressController },\n repositories: {\n // TaonECommerceCustomerAddressKvRepository\n TaonECommerceCustomerAddressRepository,\n },\n providers: { TaonECommerceCustomerAddressProvider },\n // middlewares: { TaonECommerceCustomerAddressMiddleware },\n // subscribers: { TaonECommerceCustomerAddressSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderRepository',\n})\nexport class TaonECommerceOrderRepository extends TaonBaseRepository<TaonECommerceOrderEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderController>({\n className: 'TaonECommerceOrderController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderController extends TaonBaseCrudController<\n TaonECommerceOrderEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n private readonly taonECommerceOrderRepository = this.injectCustomRepo(TaonECommerceOrderRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderProvider',\n})\nexport class TaonECommerceOrderProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderOption: boolean = true;\n config = new TaonTaonECommerceOrderConfig();\n clone() {\n return {\n enabledTaonECommerceOrderOption: this.enabledTaonECommerceOrderOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n// import { TaonECommerceOrderKvRepository } from './taon-e-commerce-order.kv.repository';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n// import { TaonECommerceOrderMiddleware } from './taon-e-commerce-order.middleware';\n// import { TaonECommerceOrderSubscriber } from './taon-e-commerce-order.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderEntity },\n controllers: { TaonECommerceOrderController },\n repositories: {\n // TaonECommerceOrderKvRepository\n TaonECommerceOrderRepository,\n },\n providers: { TaonECommerceOrderProvider },\n // middlewares: { TaonECommerceOrderMiddleware },\n // subscribers: { TaonECommerceOrderSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemRepository',\n})\nexport class TaonECommerceOrderItemRepository extends TaonBaseRepository<TaonECommerceOrderItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderItemController>({\n className: 'TaonECommerceOrderItemController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderItemController extends TaonBaseCrudController<\n TaonECommerceOrderItemEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderItemController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n private readonly taonECommerceOrderItemRepository = this.injectCustomRepo(TaonECommerceOrderItemRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderItemConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderItemProvider',\n})\nexport class TaonECommerceOrderItemProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderItemOption: boolean = true;\n config = new TaonTaonECommerceOrderItemConfig();\n clone() {\n return {\n enabledTaonECommerceOrderItemOption: this.enabledTaonECommerceOrderItemOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n// import { TaonECommerceOrderItemKvRepository } from './taon-e-commerce-order-item.kv.repository';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n// import { TaonECommerceOrderItemMiddleware } from './taon-e-commerce-order-item.middleware';\n// import { TaonECommerceOrderItemSubscriber } from './taon-e-commerce-order-item.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderItemEntity },\n controllers: { TaonECommerceOrderItemController },\n repositories: {\n // TaonECommerceOrderItemKvRepository\n TaonECommerceOrderItemRepository,\n },\n providers: { TaonECommerceOrderItemProvider },\n // middlewares: { TaonECommerceOrderItemMiddleware },\n // subscribers: { TaonECommerceOrderItemSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionRepository',\n})\nexport class TaonECommercePaymentTransactionRepository extends TaonBaseRepository<TaonECommercePaymentTransactionEntity> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n//#endregion\n\n@TaonController<TaonECommercePaymentTransactionController>({\n className: 'TaonECommercePaymentTransactionController',\n // allowedMethods: []\n})\nexport class TaonECommercePaymentTransactionController extends TaonBaseCrudController<\n TaonECommercePaymentTransactionEntity,\n {\n /* file upload query params type */\n },\n TaonECommercePaymentTransactionController\n> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n private readonly taonECommercePaymentTransactionRepository = this.injectCustomRepo(TaonECommercePaymentTransactionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommercePaymentTransactionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommercePaymentTransactionProvider',\n})\nexport class TaonECommercePaymentTransactionProvider extends TaonBaseProvider {\n enabledTaonECommercePaymentTransactionOption: boolean = true;\n config = new TaonTaonECommercePaymentTransactionConfig();\n clone() {\n return {\n enabledTaonECommercePaymentTransactionOption: this.enabledTaonECommercePaymentTransactionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n// import { TaonECommercePaymentTransactionKvRepository } from './taon-e-commerce-payment-transaction.kv.repository';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n// import { TaonECommercePaymentTransactionMiddleware } from './taon-e-commerce-payment-transaction.middleware';\n// import { TaonECommercePaymentTransactionSubscriber } from './taon-e-commerce-payment-transaction.subscriber';\n//#endregion\n\nexport const TaonECommercePaymentTransactionAbstractContext = createContext(() => ({\n contextName: 'TaonECommercePaymentTransactionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommercePaymentTransactionEntity },\n controllers: { TaonECommercePaymentTransactionController },\n repositories: {\n // TaonECommercePaymentTransactionKvRepository\n TaonECommercePaymentTransactionRepository,\n },\n providers: { TaonECommercePaymentTransactionProvider },\n // middlewares: { TaonECommercePaymentTransactionMiddleware },\n // subscribers: { TaonECommercePaymentTransactionSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductRepository',\n})\nexport class TaonECommerceProductRepository extends TaonBaseRepository<TaonECommerceProductEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () => TaonECommerceProductEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductController>({\n className: 'TaonECommerceProductController',\n allowedMethods: ['getAll', 'paginationQuery', 'save', 'updateById'],\n})\nexport class TaonECommerceProductController extends TaonBaseCrudController<\n TaonECommerceProductEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () =>\n TaonECommerceProductEntity;\n\n private readonly taonECommerceProductRepository = this.injectCustomRepo(\n TaonECommerceProductRepository,\n );\n\n @POST()\n syncWithStripe(): Taon.Response<void> {\n return async () => {\n throw new Error(\n 'Stripe synchronization is not configured for this project.',\n );\n };\n }\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductProvider',\n})\nexport class TaonECommerceProductProvider extends TaonBaseProvider {\n enabledTaonECommerceProductOption: boolean = true;\n config = new TaonTaonECommerceProductConfig();\n clone() {\n return {\n enabledTaonECommerceProductOption: this.enabledTaonECommerceProductOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n// import { TaonECommerceProductKvRepository } from './taon-e-commerce-product.kv.repository';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n// import { TaonECommerceProductMiddleware } from './taon-e-commerce-product.middleware';\n// import { TaonECommerceProductSubscriber } from './taon-e-commerce-product.subscriber';\n//#endregion\n\nexport const TaonECommerceProductAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductEntity },\n controllers: { TaonECommerceProductController },\n repositories: {\n // TaonECommerceProductKvRepository\n TaonECommerceProductRepository,\n },\n providers: { TaonECommerceProductProvider },\n // middlewares: { TaonECommerceProductMiddleware },\n // subscribers: { TaonECommerceProductSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionRepository',\n})\nexport class TaonECommerceProductPermissionRepository extends TaonBaseRepository<TaonECommerceProductPermissionEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductPermissionController>({\n className: 'TaonECommerceProductPermissionController',\n // allowedMethods: []\n})\nexport class TaonECommerceProductPermissionController extends TaonBaseCrudController<\n TaonECommerceProductPermissionEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductPermissionController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n private readonly taonECommerceProductPermissionRepository = this.injectCustomRepo(TaonECommerceProductPermissionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductPermissionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductPermissionProvider',\n})\nexport class TaonECommerceProductPermissionProvider extends TaonBaseProvider {\n enabledTaonECommerceProductPermissionOption: boolean = true;\n config = new TaonTaonECommerceProductPermissionConfig();\n clone() {\n return {\n enabledTaonECommerceProductPermissionOption: this.enabledTaonECommerceProductPermissionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n// import { TaonECommerceProductPermissionKvRepository } from './taon-e-commerce-product-permission.kv.repository';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n// import { TaonECommerceProductPermissionMiddleware } from './taon-e-commerce-product-permission.middleware';\n// import { TaonECommerceProductPermissionSubscriber } from './taon-e-commerce-product-permission.subscriber';\n//#endregion\n\nexport const TaonECommerceProductPermissionAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductPermissionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductPermissionEntity },\n controllers: { TaonECommerceProductPermissionController },\n repositories: {\n // TaonECommerceProductPermissionKvRepository\n TaonECommerceProductPermissionRepository,\n },\n providers: { TaonECommerceProductPermissionProvider },\n // middlewares: { TaonECommerceProductPermissionMiddleware },\n // subscribers: { TaonECommerceProductPermissionSubscriber },\n}));","import { TaonBaseKvRepository, TaonRepository } from 'taon/browser';\n\n@TaonRepository({\n className: 'TaonECommerceSettingsKvRepository',\n})\nexport class TaonECommerceSettingsKvRepository extends TaonBaseKvRepository<\n Record<string, boolean>\n> {}\n","import {\n Body,\n GET,\n PUT,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\n@TaonController({\n className: 'TaonECommerceBackofficeSettingsController',\n})\nexport class TaonECommerceBackofficeSettingsController extends TaonBaseController {\n private readonly settings = this.injectCustomRepo(\n TaonECommerceSettingsKvRepository,\n );\n\n @GET()\n getSellingEnabled(): Taon.Response<boolean> {\n return async () => {\n return (await this.settings.get('sellingEnabled')) ?? true;\n };\n }\n\n @PUT()\n setSellingEnabled(@Body('enabled') enabled: boolean): Taon.Response<boolean> {\n return async () => {\n if (typeof enabled !== 'boolean') {\n throw new Error('Selling enabled must be a boolean.');\n }\n\n await this.settings.set('sellingEnabled', enabled);\n return enabled;\n };\n }\n}\n","import { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\nexport const TaonECommerceBackofficeSettingsContext = createContext(() => ({\n contextName: 'TaonECommerceBackofficeSettingsContext',\n abstract: true,\n contexts: { TaonBaseContext },\n controllers: { TaonECommerceBackofficeSettingsController },\n repositories: { TaonECommerceSettingsKvRepository },\n}));\n","import { TaonCmsAbstractContext } from '@taon-dev/cms/browser';\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartAbstractContext } from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context';\nimport { TaonECommerceCartItemAbstractContext } from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context';\nimport { TaonECommerceCustomerAddressAbstractContext } from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context';\nimport { TaonECommerceOrderAbstractContext } from './taon-e-commerce-order/taon-e-commerce-order.abstract.context';\nimport { TaonECommerceOrderItemAbstractContext } from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context';\nimport { TaonECommercePaymentTransactionAbstractContext } from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context';\nimport { TaonECommerceProductAbstractContext } from './taon-e-commerce-product/taon-e-commerce-product.abstract.context';\nimport { TaonECommerceProductPermissionAbstractContext } from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context';\nimport { TaonECommerceBackofficeSettingsContext } from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context';\n\nexport const TaonECommerceAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceAbstractContext',\n abstract: true,\n contexts: {\n TaonCmsAbstractContext,\n TaonECommerceCartAbstractContext,\n TaonECommerceCartItemAbstractContext,\n TaonECommerceCustomerAddressAbstractContext,\n TaonECommerceOrderAbstractContext,\n TaonECommerceOrderItemAbstractContext,\n TaonECommercePaymentTransactionAbstractContext,\n TaonECommerceProductAbstractContext,\n TaonECommerceProductPermissionAbstractContext,\n TaonECommerceBackofficeSettingsContext,\n },\n}));\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibMyOrganizationProjTs \n| PlPlTraslationOverrideSrcLibMyOrganizationProjTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerController } from './taon-e-commerce-customer.controller';\n\n@Injectable()\nexport class TaonECommerceCustomerApiService extends TaonBaseAngularService {\n readonly controller = this.injectController(TaonECommerceCustomerController);\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport type { TaonECommerceSubscriptionStatus } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport type { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\nimport type { TaonCartConfig } from './taon-cart.models';\n\n@Component({\n selector: 'taon-cart',\n templateUrl: './taon-cart.component.html',\n styleUrls: ['./taon-cart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CurrencyPipe,\n DatePipe,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n TaonDatatableComponent,\n ],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly api = inject(TaonECommerceCustomerApiService);\n private readonly dialogRef = inject(MatDialogRef, { optional: true });\n\n readonly cart = signal<TaonECommerceCartEntity | null>(null);\n readonly orders = signal<TaonECommerceOrderEntity[]>([]);\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n readonly subscriptions = signal<TaonECommerceSubscriptionStatus[]>([]);\n readonly loadingCart = signal(false);\n readonly loadingOrders = signal(false);\n readonly loadingTransactions = signal(false);\n readonly loadingSubscriptions = signal(false);\n readonly error = signal('');\n\n readonly orderColumns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n readonly transactionColumns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n constructor() {\n void this.loadCart();\n }\n\n close(): void {\n this.dialogRef?.close();\n }\n\n onMainTabChange(index: number): void {\n if (index === (this.hasSuggestedProducts ? 2 : 1)) {\n void this.loadSubscriptions();\n }\n }\n\n onSettingsTabChange(index: number): void {\n if (index === 0) {\n void this.loadSubscriptions();\n } else if (index === 1) {\n void this.loadOrders();\n } else if (index === 2) {\n void this.loadTransactions();\n }\n }\n\n get suggestedProducts(): TaonECommerceProductEntity[] {\n return this.config?.suggestedProducts ?? [];\n }\n\n get hasSuggestedProducts(): boolean {\n return this.suggestedProducts.length > 0;\n }\n\n async loadCart(): Promise<void> {\n this.loadingCart.set(true);\n this.error.set('');\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.getMyCart().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your cart.', error);\n } finally {\n this.loadingCart.set(false);\n }\n }\n\n async addProduct(product: TaonECommerceProductEntity): Promise<void> {\n if (typeof product.id !== 'number') {\n this.error.set('This suggested product does not have a saved product ID.');\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.addToMyCart(product.id, 1).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to add this product to your cart.', error);\n }\n }\n\n async updateQuantity(itemId: number, quantity: number): Promise<void> {\n if (quantity < 1) {\n await this.removeItem(itemId);\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.updateMyCartItem(itemId, quantity).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to update the cart item.', error);\n }\n }\n\n async removeItem(itemId: number): Promise<void> {\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.removeFromMyCart(itemId).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to remove the cart item.', error);\n }\n }\n\n async loadOrders(): Promise<void> {\n this.loadingOrders.set(true);\n this.error.set('');\n try {\n this.orders.set(\n await this.request<TaonECommerceOrderEntity[]>(\n this.api.controller.getMyOrders().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your orders.', error);\n } finally {\n this.loadingOrders.set(false);\n }\n }\n\n async loadTransactions(): Promise<void> {\n this.loadingTransactions.set(true);\n this.error.set('');\n try {\n this.transactions.set(\n await this.request<TaonECommercePaymentTransactionEntity[]>(\n this.api.controller.getMyTransactions().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your transactions.', error);\n } finally {\n this.loadingTransactions.set(false);\n }\n }\n\n async loadSubscriptions(): Promise<void> {\n this.loadingSubscriptions.set(true);\n this.error.set('');\n try {\n this.subscriptions.set(\n await this.request<TaonECommerceSubscriptionStatus[]>(\n this.api.controller.getMySubscriptionStatuses().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load subscription statuses.', error);\n } finally {\n this.loadingSubscriptions.set(false);\n }\n }\n\n async unsubscribe(): Promise<void> {\n this.error.set('');\n try {\n const response = await this.api.controller\n .unsubscribeFromExampleSubscription()\n .request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n await this.loadSubscriptions();\n } catch (error) {\n this.reportError('Unable to unsubscribe.', error);\n }\n }\n\n private async request<T>(\n endpoint: Promise<{\n statusCode: number;\n responseText: string;\n body?: { json?: T };\n }>,\n ): Promise<T> {\n const response = await endpoint;\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n const result = response.body?.json;\n if (result === undefined || result === null) {\n throw new Error('The server returned an empty response.');\n }\n return result;\n }\n\n private reportError(message: string, error: unknown): void {\n console.error('[taon-cart]', message, error);\n this.error.set(error instanceof Error ? error.message : message);\n }\n}\n","<section class=\"cart-shell\">\n <header class=\"cart-header\">\n <h2>Shopping</h2>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Close cart\"\n (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n <mat-tab-group\n (selectedIndexChange)=\"onMainTabChange($event)\"\n [selectedIndex]=\"hasSuggestedProducts ? 0 : 1\">\n @if (hasSuggestedProducts) {\n <mat-tab label=\"Buy\">\n <div class=\"products\">\n @for (product of suggestedProducts; track product.id) {\n <article class=\"product\">\n <h3>{{ product.name }}</h3>\n @if (product.description) {\n <p>{{ product.description }}</p>\n }\n <p>{{ product.price | currency: product.currency }}</p>\n <button\n mat-flat-button\n type=\"button\"\n (click)=\"addProduct(product)\">\n Add to cart\n </button>\n </article>\n }\n </div>\n </mat-tab>\n } @else {\n <mat-tab\n label=\"Buy\"\n [disabled]=\"true\"></mat-tab>\n }\n <mat-tab label=\"Cart\">\n @if (loadingCart()) {\n <p role=\"status\">Loading cart...</p>\n } @else if (!cart()?.items?.length) {\n <p>Your cart is empty.</p>\n } @else {\n <div class=\"cart-items\">\n @for (item of cart()!.items; track item.id) {\n <article class=\"cart-item\">\n <div class=\"item-product\">\n <strong>{{ item.product.name }}</strong>\n <span\n >{{\n item.product.price | currency: item.product.currency\n }}\n each</span\n >\n </div>\n <div class=\"quantity\">\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Decrease quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity - 1)\">\n <mat-icon>remove</mat-icon>\n </button>\n <span>{{ item.quantity }}</span>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Increase quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity + 1)\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <strong>{{\n item.product.price * item.quantity\n | currency: item.product.currency\n }}</strong>\n <button\n mat-button\n type=\"button\"\n (click)=\"removeItem(item.id!)\">\n Remove\n </button>\n </article>\n }\n </div>\n }\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <mat-icon aria-hidden=\"true\">settings</mat-icon>\n <span>Settings</span>\n </ng-template>\n <mat-tab-group (selectedIndexChange)=\"onSettingsTabChange($event)\">\n <mat-tab label=\"Settings\">\n @if (loadingSubscriptions()) {\n <p role=\"status\">Loading subscription statuses...</p>\n } @else if (!subscriptions().length) {\n <p>No subscriptions.</p>\n } @else {\n <div class=\"table-scroll\">\n <table>\n <thead>\n <tr>\n <th>Subscription</th>\n <th>Status</th>\n <th>Valid until</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (\n subscription of subscriptions();\n track subscription.id\n ) {\n <tr>\n <td>{{ subscription.productName }}</td>\n <td>{{ subscription.status }}</td>\n <td>\n {{\n subscription.validUntil\n ? (subscription.validUntil | date)\n : '—'\n }}\n </td>\n <td>\n @if (subscription.status === 'active') {\n <button\n mat-button\n type=\"button\"\n (click)=\"unsubscribe()\">\n Unsubscribe\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </mat-tab>\n <mat-tab label=\"Orders\">\n @if (loadingOrders()) {\n <p role=\"status\">Loading orders...</p>\n } @else {\n <taon-datatable\n [data]=\"orders()\"\n [columns]=\"orderColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n <mat-tab label=\"Transactions\">\n @if (loadingTransactions()) {\n <p role=\"status\">Loading transactions...</p>\n } @else {\n <taon-datatable\n [data]=\"transactions()\"\n [columns]=\"transactionColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n </mat-tab-group>\n </mat-tab>\n </mat-tab-group>\n</section>\n","import { ChangeDetectionStrategy, Component, Input, inject, signal } from '@angular/core';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport { TaonCartComponent } from '../taon-cart/taon-cart.component';\nimport type { TaonCartConfig } from '../taon-cart/taon-cart.models';\n\n@Component({\n selector: 'taon-cart-button',\n templateUrl: './taon-cart-button.component.html',\n styleUrls: ['./taon-cart-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatBadgeModule, MatButtonModule, MatIconModule],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartButtonComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly dialog = inject(MatDialog);\n private readonly api = inject(TaonECommerceCustomerApiService);\n readonly cartItemCount = signal(0);\n readonly error = signal('');\n\n constructor() {\n void this.loadCartCount();\n }\n\n get badgeText(): string {\n return this.config?.iconShortText ?? String(this.cartItemCount());\n }\n\n openCart(): void {\n const dialog = this.dialog.open(TaonCartComponent, {\n width: '100vw',\n height: '100dvh',\n maxWidth: '100vw',\n maxHeight: '100dvh',\n panelClass: 'taon-cart-fullscreen-dialog',\n });\n dialog.componentRef?.setInput('config', this.config);\n dialog.afterClosed().subscribe(() => void this.loadCartCount());\n }\n\n private async loadCartCount(): Promise<void> {\n try {\n const response = await this.api.controller.getMyCart().request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'Unable to load your cart.');\n }\n const cart = response.body?.json;\n if (!cart || !Array.isArray(cart.items)) {\n throw new Error('The cart response was invalid.');\n }\n this.cartItemCount.set(\n cart.items.reduce(\n (count: number, item: { quantity: number }) =>\n count + item.quantity,\n 0,\n ),\n );\n } catch (error) {\n console.error('[taon-cart-button] Unable to load cart count', error);\n this.error.set(\n error instanceof Error ? error.message : 'Unable to load your cart.',\n );\n }\n }\n}\n","<button\n mat-icon-button\n type=\"button\"\n aria-label=\"Open shopping cart\"\n [matBadge]=\"badgeText\"\n [matBadgeHidden]=\"false\"\n (click)=\"openCart()\">\n <mat-icon>shopping_cart</mat-icon>\n</button>\n@if (error()) {\n <span class=\"cart-button-error\" role=\"alert\" [title]=\"error()\">!</span>\n}","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonCartButtonRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cart-button.component').then(m => m.TaonCartButtonComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonCartButtonRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCartButtonRoutes;","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n//#endregion\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice',\n templateUrl: './taon-e-commerce-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonECommerceBackofficeComponent {\n componentLoaded = false;\n\n onRouteActivate(component: any): void {\n this.componentLoaded = !!component;\n }\n\n onRouteDeactivate(component: any): void {\n this.componentLoaded = false;\n }\n}\n","@if (!componentLoaded) {\n <code>\n In E-commerce section you can manager everything about your e-business.\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice.component').then(\n m => m.TaonECommerceBackofficeComponent,\n ),\n\n children: [\n adminLazyRoute({\n path: 'dashboard',\n menuItem: 'Dashboard',\n icon: 'dashboard',\n loader: () =>\n import('../taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes').then(\n m => m.TaonECommerceBackofficeDashboardRoutes,\n ),\n }),\n adminLazyRoute({\n path: 'products',\n menuItem: 'Products',\n icon: 'inventory',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes').then(\n m => m.TaonECommerceProductsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'orders',\n menuItem: 'Orders',\n icon: 'receipt_long',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes').then(\n m => m.TaonECommerceOrdersBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'payment-transactions',\n menuItem: 'Transactions',\n icon: 'payments',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes').then(\n m => m.TaonECommercePaymentTransactionsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'settings',\n menuItem: 'Settings',\n icon: 'settings',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes').then(\n m => m.TaonECommerceBackofficeSettingsRoutes,\n ),\n }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderItemController = this.injectController(TaonECommerceOrderItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderItemEntity[]> {\n return this.taonECommerceOrderItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderController = this.injectController(TaonECommerceOrderController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderEntity[]> {\n return this.taonECommerceOrderController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\nimport { TaonECommerceOrderItemApiService } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\n\ninterface DashboardSummary {\n paidOrders: number;\n productsSold: number;\n earnings: Array<{ currency: string; total: number }>;\n}\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-dashboard',\n templateUrl: './taon-e-commerce-backoffice-dashboard.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [TaonECommerceOrderApiService, TaonECommerceOrderItemApiService],\n})\nexport class TaonECommerceBackofficeDashboardComponent {\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly orderItemApi = inject(TaonECommerceOrderItemApiService);\n\n readonly summary = signal<DashboardSummary | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.summary.set(null);\n\n try {\n const [ordersResponse, itemsResponse] = await Promise.all([\n this.orderApi.taonECommerceOrderController.getAll().request!(),\n this.orderItemApi.taonECommerceOrderItemController.getAll().request!(),\n ]);\n if (ordersResponse.statusCode >= 400 || itemsResponse.statusCode >= 400) {\n throw new Error(\n ordersResponse.responseText ||\n itemsResponse.responseText ||\n 'Unable to load e-commerce summary data.',\n );\n }\n\n const orders = ordersResponse.body?.json;\n const items = itemsResponse.body?.json;\n if (!Array.isArray(orders) || !Array.isArray(items)) {\n throw new Error('The e-commerce summary response was invalid.');\n }\n\n const paidOrders = (orders as TaonECommerceOrderEntity[]).filter(\n order => order.status === 'paid',\n );\n const paidOrderIds = new Set(paidOrders.map(order => order.id));\n const productsSold = (items as TaonECommerceOrderItemEntity[])\n .filter(item => paidOrderIds.has(item.orderId))\n .reduce((count, item) => count + item.quantity, 0);\n const earningsByCurrency = new Map<string, number>();\n\n for (const order of paidOrders) {\n const currency = order.currency.toUpperCase();\n const total = Number(order.total);\n if (!Number.isFinite(total)) {\n throw new Error(`Order ${order.id} has an invalid total.`);\n }\n earningsByCurrency.set(\n currency,\n (earningsByCurrency.get(currency) ?? 0) + total,\n );\n }\n\n this.summary.set({\n paidOrders: paidOrders.length,\n productsSold,\n earnings: [...earningsByCurrency].map(([currency, total]) => ({\n currency,\n total,\n })),\n });\n } catch (error) {\n console.error(\n '[taon-e-commerce-dashboard] Unable to load summary',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load e-commerce summary data.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<h1>E-commerce Dashboard</h1>\n\n@if (loading()) {\n <p role=\"status\">Loading e-commerce summary...</p>\n} @else if (summary(); as stats) {\n <section\n class=\"summary-cards\"\n aria-label=\"E-commerce summary\">\n <article>\n <h2>Paid orders</h2>\n <p>{{ stats.paidOrders }}</p>\n </article>\n <article>\n <h2>Products sold</h2>\n <p>{{ stats.productsSold }}</p>\n </article>\n <article>\n <h2>Total earnings</h2>\n @for (earning of stats.earnings; track earning.currency) {\n <p>{{ earning.total.toFixed(2) }} {{ earning.currency }}</p>\n } @empty {\n <p>0.00</p>\n }\n </article>\n </section>\n}\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeDashboardRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-dashboard.component').then(m => m.TaonECommerceBackofficeDashboardComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeDashboardRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeDashboardRoutes;","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\n\n@Injectable()\nexport class TaonECommerceBackofficeSettingsApiService extends TaonBaseAngularService {\n private readonly controller = this.injectController(\n TaonECommerceBackofficeSettingsController,\n );\n\n async getSellingEnabled(): Promise<boolean> {\n const response = await this.controller.getSellingEnabled().request!();\n const enabled = response.body?.json;\n\n if (response.statusCode >= 400 || typeof enabled !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to load the selling setting.',\n );\n }\n\n return enabled;\n }\n\n async setSellingEnabled(enabled: boolean): Promise<boolean> {\n const response =\n await this.controller.setSellingEnabled(enabled).request!();\n const saved = response.body?.json;\n\n if (response.statusCode >= 400 || typeof saved !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to update the selling setting.',\n );\n }\n\n return saved;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TaonECommerceBackofficeSettingsApiService } from './taon-e-commerce-backoffice-settings.api.service';\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-settings',\n templateUrl: './taon-e-commerce-backoffice-settings.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n providers: [TaonECommerceBackofficeSettingsApiService],\n})\nexport class TaonECommerceBackofficeSettingsComponent {\n private readonly api = inject(TaonECommerceBackofficeSettingsApiService);\n\n readonly sellingEnabled = signal<boolean | null>(null);\n\n readonly loading = signal(true);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n\n try {\n this.sellingEnabled.set(await this.api.getSellingEnabled());\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to load the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load the selling setting.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n async toggleSelling(): Promise<void> {\n const current = this.sellingEnabled();\n if (current === null || this.saving()) {\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n try {\n this.sellingEnabled.set(await this.api.setSellingEnabled(!current));\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to update the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to update the selling setting.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h1>E-commerce Settings</h1>\n\n<section\n class=\"setting\"\n aria-labelledby=\"selling-setting\">\n <div>\n <h2 id=\"selling-setting\">Selling enabled</h2>\n @if (sellingEnabled() === false) {\n <p>Checkout and purchasing are paused.</p>\n } @else if (sellingEnabled() === true) {\n <p>Customers can purchase products.</p>\n }\n </div>\n\n @if (loading()) {\n <p role=\"status\">Loading setting...</p>\n } @else if (sellingEnabled() !== null) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"toggleSelling()\">\n @if (saving()) {\n Saving...\n } @else if (sellingEnabled()) {\n Disable selling\n } @else {\n Enable selling\n }\n </button>\n }\n</section>\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceBackofficeSettingsRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-settings.component').then(\n m => m.TaonECommerceBackofficeSettingsComponent,\n ),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeSettingsRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeSettingsRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartApiService extends TaonBaseAngularService {\n private taonECommerceCartController = this.injectController(TaonECommerceCartController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartEntity[]> {\n return this.taonECommerceCartController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartConfigService extends TaonBaseAngularService {\n private taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartProvider.enabledTaonECommerceCartOption;\n }\n}","import type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts', {\"src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartEntity>;\n\nexport enum TaonECommerceCartErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartTranslationErorsMap = new Map([\n [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartKvRepository',\n})\nexport class TaonECommerceCartKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartMiddleware',\n})\nexport class TaonECommerceCartMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartModels {\n export enum TaonECommerceCartState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartSubscriber>({\n className: 'TaonECommerceCartSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n listenTo(): typeof TaonECommerceCartEntity {\n return TaonECommerceCartEntity;\n }\n}","import { TaonECommerceCartModels } from './taon-e-commerce-cart.models';\n\nexport namespace TaonECommerceCartUtils {\n export function isActive(state: string): state is TaonECommerceCartModels.TaonECommerceCartState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartErrors } from './taon-e-commerce-cart.constants';\n\nexport namespace TaonECommerceCartValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemApiService extends TaonBaseAngularService {\n private taonECommerceCartItemController = this.injectController(TaonECommerceCartItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartItemEntity[]> {\n return this.taonECommerceCartItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemConfigService extends TaonBaseAngularService {\n private taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartItemProvider.enabledTaonECommerceCartItemOption;\n }\n}","import type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts', {\"src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartItemEntity>;\n\nexport enum TaonECommerceCartItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartItemTranslationErorsMap = new Map([\n [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemKvRepository',\n})\nexport class TaonECommerceCartItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartItemMiddleware',\n})\nexport class TaonECommerceCartItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartItemModels {\n export enum TaonECommerceCartItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartItemSubscriber>({\n className: 'TaonECommerceCartItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartItemSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n listenTo(): typeof TaonECommerceCartItemEntity {\n return TaonECommerceCartItemEntity;\n }\n}","import { TaonECommerceCartItemModels } from './taon-e-commerce-cart-item.models';\n\nexport namespace TaonECommerceCartItemUtils {\n export function isActive(state: string): state is TaonECommerceCartItemModels.TaonECommerceCartItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartItemErrors } from './taon-e-commerce-cart-item.constants';\n\nexport namespace TaonECommerceCartItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressApiService extends TaonBaseAngularService {\n public readonly taonECommerceCustomerAddressController = this.injectController(TaonECommerceCustomerAddressController);\n\n public get allMyEntities$(): Observable<TaonECommerceCustomerAddressEntity[]> {\n return this.taonECommerceCustomerAddressController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCustomerAddressController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressConfigService extends TaonBaseAngularService {\n private taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n\n get isEnableOption() {\n return this.taonECommerceCustomerAddressProvider.enabledTaonECommerceCustomerAddressOption;\n }\n\n clone(): Partial<TaonECommerceCustomerAddressProvider> {\n const cloned = this.taonECommerceCustomerAddressProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts', {\"src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCustomerAddressDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCustomerAddressEntity>;\n\nexport enum TaonECommerceCustomerAddressErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCustomerAddressTranslationErorsMap = new Map([\n [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressKvRepository',\n})\nexport class TaonECommerceCustomerAddressKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCustomerAddressEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCustomerAddressEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCustomerAddressMiddleware',\n})\nexport class TaonECommerceCustomerAddressMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCustomerAddressModels {\n export enum TaonECommerceCustomerAddressState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCustomerAddressSubscriber>({\n className: 'TaonECommerceCustomerAddressSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCustomerAddressSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n listenTo(): typeof TaonECommerceCustomerAddressEntity {\n return TaonECommerceCustomerAddressEntity;\n }\n}","import { TaonECommerceCustomerAddressModels } from './taon-e-commerce-customer-address.models';\n\nexport namespace TaonECommerceCustomerAddressUtils {\n export function isActive(state: string): state is TaonECommerceCustomerAddressModels.TaonECommerceCustomerAddressState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCustomerAddressErrors } from './taon-e-commerce-customer-address.constants';\n\nexport namespace TaonECommerceCustomerAddressValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderConfigService extends TaonBaseAngularService {\n private taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderProvider.enabledTaonECommerceOrderOption;\n }\n\n clone(): Partial<TaonECommerceOrderProvider> {\n const cloned = this.taonECommerceOrderProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts', {\"src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderEntity>;\n\nexport enum TaonECommerceOrderErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderTranslationErorsMap = new Map([\n [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderKvRepository',\n})\nexport class TaonECommerceOrderKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderMiddleware',\n})\nexport class TaonECommerceOrderMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderModels {\n export enum TaonECommerceOrderState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderSubscriber>({\n className: 'TaonECommerceOrderSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n listenTo(): typeof TaonECommerceOrderEntity {\n return TaonECommerceOrderEntity;\n }\n}","import { TaonECommerceOrderModels } from './taon-e-commerce-order.models';\n\nexport namespace TaonECommerceOrderUtils {\n export function isActive(state: string): state is TaonECommerceOrderModels.TaonECommerceOrderState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderErrors } from './taon-e-commerce-order.constants';\n\nexport namespace TaonECommerceOrderValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemConfigService extends TaonBaseAngularService {\n private taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderItemProvider.enabledTaonECommerceOrderItemOption;\n }\n\n clone(): Partial<TaonECommerceOrderItemProvider> {\n const cloned = this.taonECommerceOrderItemProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts', {\"src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderItemEntity>;\n\nexport enum TaonECommerceOrderItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderItemTranslationErorsMap = new Map([\n [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemKvRepository',\n})\nexport class TaonECommerceOrderItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderItemMiddleware',\n})\nexport class TaonECommerceOrderItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderItemModels {\n export enum TaonECommerceOrderItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderItemSubscriber>({\n className: 'TaonECommerceOrderItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderItemSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n listenTo(): typeof TaonECommerceOrderItemEntity {\n return TaonECommerceOrderItemEntity;\n }\n}","import { TaonECommerceOrderItemModels } from './taon-e-commerce-order-item.models';\n\nexport namespace TaonECommerceOrderItemUtils {\n export function isActive(state: string): state is TaonECommerceOrderItemModels.TaonECommerceOrderItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderItemErrors } from './taon-e-commerce-order-item.constants';\n\nexport namespace TaonECommerceOrderItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionApiService extends TaonBaseAngularService {\n public readonly taonECommercePaymentTransactionController = this.injectController(TaonECommercePaymentTransactionController);\n\n public get allMyEntities$(): Observable<TaonECommercePaymentTransactionEntity[]> {\n return this.taonECommercePaymentTransactionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommercePaymentTransactionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionConfigService extends TaonBaseAngularService {\n private taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n\n get isEnableOption() {\n return this.taonECommercePaymentTransactionProvider.enabledTaonECommercePaymentTransactionOption;\n }\n\n clone(): Partial<TaonECommercePaymentTransactionProvider> {\n const cloned = this.taonECommercePaymentTransactionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts', {\"src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommercePaymentTransactionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommercePaymentTransactionEntity>;\n\nexport enum TaonECommercePaymentTransactionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommercePaymentTransactionTranslationErorsMap = new Map([\n [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionKvRepository',\n})\nexport class TaonECommercePaymentTransactionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommercePaymentTransactionEntity[];\n}> {\n async notifyUsers(users: TaonECommercePaymentTransactionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommercePaymentTransactionMiddleware',\n})\nexport class TaonECommercePaymentTransactionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommercePaymentTransactionModels {\n export enum TaonECommercePaymentTransactionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommercePaymentTransactionSubscriber>({\n className: 'TaonECommercePaymentTransactionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommercePaymentTransactionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n listenTo(): typeof TaonECommercePaymentTransactionEntity {\n return TaonECommercePaymentTransactionEntity;\n }\n}","import { TaonECommercePaymentTransactionModels } from './taon-e-commerce-payment-transaction.models';\n\nexport namespace TaonECommercePaymentTransactionUtils {\n export function isActive(state: string): state is TaonECommercePaymentTransactionModels.TaonECommercePaymentTransactionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommercePaymentTransactionErrors } from './taon-e-commerce-payment-transaction.constants';\n\nexport namespace TaonECommercePaymentTransactionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductPermissionController = this.injectController(TaonECommerceProductPermissionController);\n\n public get allMyEntities$(): Observable<TaonECommerceProductPermissionEntity[]> {\n return this.taonECommerceProductPermissionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceProductPermissionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCartConfig } from '../index';\n\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductController = this.injectController(\n TaonECommerceProductController,\n );\n\n public getAllProductForUser(): Observable<TaonCartConfig> {\n return this.taonECommerceProductController.getAll()\n .request!().observable.pipe(\n map(res => res.body.json),\n map(c => ({\n suggestedProducts: c,\n })),\n );\n }\n\n public async syncWithStripe(): Promise<void> {\n const response =\n await this.taonECommerceProductController.syncWithStripe().request!();\n\n if (response.statusCode >= 400) {\n throw new Error(\n response.responseText ||\n 'Stripe synchronization is not configured for this project.',\n );\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TaonPermissionApiService } from '@taon-dev/session/browser';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonECommerceProductPermissionApiService } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductApiService } from './taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n\nexport interface TaonECommerceProductEditDialogData {\n product?: TaonECommerceProductEntity;\n}\n\ntype ProductType = TaonECommerceProductEntity['type'];\ntype ProductCurrency = 'PLN' | 'EUR' | 'USD';\n\ninterface ProductDraft {\n name: string;\n description: string;\n active: boolean;\n type: ProductType;\n price: number | null;\n currency: ProductCurrency;\n}\n\n@Component({\n selector: 'taon-e-commerce-product-edit-dialog',\n templateUrl: './taon-e-commerce-product-edit-dialog.component.html',\n styleUrls: ['./taon-e-commerce-product-edit-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n ],\n providers: [\n TaonECommerceProductApiService,\n TaonECommerceProductPermissionApiService,\n TaonPermissionApiService,\n ],\n})\nexport class TaonECommerceProductEditDialogComponent {\n readonly data = inject<TaonECommerceProductEditDialogData>(MAT_DIALOG_DATA);\n\n readonly dialogRef = inject(\n MatDialogRef<TaonECommerceProductEditDialogComponent>,\n );\n\n private readonly productApi = inject(TaonECommerceProductApiService);\n\n private readonly productPermissionApi = inject(\n TaonECommerceProductPermissionApiService,\n );\n\n private readonly permissionApi = inject(TaonPermissionApiService);\n\n readonly productTypes: ProductType[] = ['digital', 'physical', 'service'];\n readonly currencies: ProductCurrency[] = ['PLN', 'EUR', 'USD'];\n private readonly initialCurrency =\n this.currencies.find(\n currency => currency === this.data.product?.currency,\n ) ?? 'USD';\n\n readonly draft = signal<ProductDraft>({\n name: this.data.product?.name ?? '',\n description: this.data.product?.description ?? '',\n active: this.data.product?.active ?? true,\n type: this.data.product?.type ?? ('digital' as ProductType),\n price: this.data.product?.price ?? 0,\n currency: this.initialCurrency,\n });\n\n readonly permissions = signal<TaonPermissionEntity[]>([]);\n\n readonly selectedPermissionIds = signal<number[]>([]);\n\n readonly loading = signal(true);\n\n readonly permissionsLoaded = signal(false);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.permissionsLoaded.set(false);\n\n try {\n const [permissionsResponse, linksResponse] = await Promise.all([\n this.permissionApi.taonPermissionController.getAll().request!(),\n this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!(),\n ]);\n\n if (\n permissionsResponse.statusCode >= 400 ||\n linksResponse.statusCode >= 400\n ) {\n throw new Error(\n permissionsResponse.responseText ||\n linksResponse.responseText ||\n 'Unable to load product permissions.',\n );\n }\n\n const permissionRows = permissionsResponse.body?.json;\n const productPermissionRows = linksResponse.body?.json;\n if (\n !Array.isArray(permissionRows) ||\n !Array.isArray(productPermissionRows)\n ) {\n throw new Error('The permissions response was invalid.');\n }\n\n this.permissions.set(permissionRows);\n this.permissionsLoaded.set(true);\n const productId = this.data.product?.id;\n this.selectedPermissionIds.set(\n typeof productId === 'number'\n ? (productPermissionRows as TaonECommerceProductPermissionEntity[])\n .filter(link => link.productId === productId)\n .map(link => link.permissionId)\n : [],\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to load permissions',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load product permissions.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n updateType(type: ProductType): void {\n this.draft.update(draft => ({ ...draft, type }));\n }\n\n updatePrice(price: number | null): void {\n this.draft.update(draft => ({ ...draft, price }));\n }\n\n updateName(name: string): void {\n this.draft.update(draft => ({ ...draft, name }));\n }\n\n updateDescription(description: string): void {\n this.draft.update(draft => ({ ...draft, description }));\n }\n\n updateActive(active: boolean): void {\n this.draft.update(draft => ({ ...draft, active }));\n }\n\n updateCurrency(currency: ProductCurrency): void {\n this.draft.update(draft => ({ ...draft, currency }));\n }\n\n async save(): Promise<void> {\n if (this.saving() || this.loading() || !this.permissionsLoaded()) {\n return;\n }\n\n const draft = this.draft();\n if (\n !draft.name.trim() ||\n !this.currencies.includes(draft.currency) ||\n draft.price === null ||\n !Number.isFinite(draft.price) ||\n draft.price < 0\n ) {\n this.error.set(\n 'Enter a name, a supported currency, and a non-negative price.',\n );\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n\n try {\n const product = Object.assign(new TaonECommerceProductEntity(), {\n ...this.data.product,\n name: draft.name.trim(),\n description: draft.description.trim() || null,\n active: draft.active,\n type: draft.type,\n price: draft.price,\n currency: draft.currency,\n });\n const productResponse = this.data.product\n ? await this.productApi.taonECommerceProductController.updateById(\n this.data.product.id!,\n product,\n ).request!()\n : await this.productApi.taonECommerceProductController.save(product)\n .request!();\n\n if (productResponse.statusCode >= 400) {\n throw new Error(\n productResponse.responseText || 'Unable to save the product.',\n );\n }\n const savedProduct = productResponse.body?.json;\n if (!savedProduct || typeof savedProduct.id !== 'number') {\n throw new Error('The saved product response was invalid.');\n }\n this.data.product = savedProduct;\n\n const linksResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!();\n if (\n linksResponse.statusCode >= 400 ||\n !Array.isArray(linksResponse.body?.json)\n ) {\n throw new Error(\n linksResponse.responseText ||\n 'Unable to update the product permissions.',\n );\n }\n\n const existingLinks = (\n linksResponse.body.json as TaonECommerceProductPermissionEntity[]\n ).filter(link => link.productId === savedProduct.id);\n const selectedIds = new Set(this.selectedPermissionIds());\n for (const link of existingLinks) {\n if (!selectedIds.has(link.permissionId)) {\n const deleteResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.deleteById(\n link.id!,\n ).request!();\n if (deleteResponse.statusCode >= 400) {\n throw new Error(\n deleteResponse.responseText ||\n 'Unable to remove a product permission.',\n );\n }\n }\n }\n\n const existingIds = new Set(existingLinks.map(link => link.permissionId));\n for (const permissionId of selectedIds) {\n if (!existingIds.has(permissionId)) {\n const link = Object.assign(\n new TaonECommerceProductPermissionEntity(),\n {\n productId: savedProduct.id,\n permissionId,\n },\n );\n const saveResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.save(\n link,\n ).request!();\n if (saveResponse.statusCode >= 400) {\n throw new Error(\n saveResponse.responseText ||\n 'Unable to attach a permission to the product.',\n );\n }\n }\n }\n\n this.dialogRef.close(savedProduct);\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to save product',\n error,\n );\n this.error.set(\n error instanceof Error ? error.message : 'Unable to save the product.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h2 mat-dialog-title>{{ data.product ? 'Edit product' : 'Add product' }}</h2>\n<br>\n<mat-dialog-content>\n @if (loading()) {\n <p role=\"status\">Loading permissions...</p>\n } @else {\n <form class=\"product-form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Name</mat-label>\n <input\n matInput\n required\n [ngModel]=\"draft().name\"\n (ngModelChange)=\"updateName($event)\"\n name=\"name\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Description</mat-label>\n <textarea\n matInput\n rows=\"4\"\n [ngModel]=\"draft().description\"\n (ngModelChange)=\"updateDescription($event)\"\n name=\"description\"></textarea>\n </mat-form-field>\n\n <mat-checkbox\n [checked]=\"draft().active\"\n (change)=\"updateActive($event.checked)\"\n >Active</mat-checkbox\n >\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Type</mat-label>\n <mat-select\n [value]=\"draft().type\"\n (selectionChange)=\"updateType($event.value)\">\n @for (type of productTypes; track type) {\n <mat-option [value]=\"type\">{{ type }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n <div class=\"price-fields\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Price</mat-label>\n <input\n matInput\n type=\"number\"\n min=\"0\"\n step=\"0.01\"\n [ngModel]=\"draft().price\"\n (ngModelChange)=\"updatePrice($event)\"\n name=\"price\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Currency</mat-label>\n <mat-select\n [value]=\"draft().currency\"\n (selectionChange)=\"updateCurrency($event.value)\">\n @for (currency of currencies; track currency) {\n <mat-option [value]=\"currency\">{{ currency }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Attached permissions</mat-label>\n <mat-select\n multiple\n [value]=\"selectedPermissionIds()\"\n (selectionChange)=\"selectedPermissionIds.set($event.value)\">\n @for (permission of permissions(); track permission.id) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n }\n </mat-select>\n </mat-form-field>\n\n @if (data.product) {\n <section\n class=\"stripe-info\"\n aria-label=\"Stripe synchronization information\">\n <h3>Stripe synchronization</h3>\n <p>\n Stripe Product ID:\n {{ data.product.stripeProductId || 'Not synchronized' }}\n </p>\n <p>\n Stripe Price ID:\n {{ data.product.stripePriceId || 'Not synchronized' }}\n </p>\n <p>\n Last synchronized: {{ data.product.stripeLastSyncedAt || 'Never' }}\n </p>\n </section>\n }\n </form>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n @if (!permissionsLoaded() && !loading()) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry loading permissions\n </button>\n }\n }\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || saving() || !permissionsLoaded()\"\n (click)=\"save()\">\n {{ saving() ? 'Saving...' : 'Save' }}\n </button>\n</mat-dialog-actions>\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductConfigService extends TaonBaseAngularService {\n private taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductProvider.enabledTaonECommerceProductOption;\n }\n\n clone(): Partial<TaonECommerceProductProvider> {\n const cloned = this.taonECommerceProductProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts', {\"src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductEntity>;\n\nexport enum TaonECommerceProductErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductTranslationErorsMap = new Map([\n [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductKvRepository',\n})\nexport class TaonECommerceProductKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductMiddleware',\n})\nexport class TaonECommerceProductMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductModels {\n export enum TaonECommerceProductState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductSubscriber>({\n className: 'TaonECommerceProductSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n listenTo(): typeof TaonECommerceProductEntity {\n return TaonECommerceProductEntity;\n }\n}","import { TaonECommerceProductModels } from './taon-e-commerce-product.models';\n\nexport namespace TaonECommerceProductUtils {\n export function isActive(state: string): state is TaonECommerceProductModels.TaonECommerceProductState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductErrors } from './taon-e-commerce-product.constants';\n\nexport namespace TaonECommerceProductValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionConfigService extends TaonBaseAngularService {\n private taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductPermissionProvider.enabledTaonECommerceProductPermissionOption;\n }\n\n clone(): Partial<TaonECommerceProductPermissionProvider> {\n const cloned = this.taonECommerceProductPermissionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts', {\"src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductPermissionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductPermissionEntity>;\n\nexport enum TaonECommerceProductPermissionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductPermissionTranslationErorsMap = new Map([\n [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionKvRepository',\n})\nexport class TaonECommerceProductPermissionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductPermissionEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductPermissionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductPermissionMiddleware',\n})\nexport class TaonECommerceProductPermissionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductPermissionModels {\n export enum TaonECommerceProductPermissionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductPermissionSubscriber>({\n className: 'TaonECommerceProductPermissionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductPermissionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n listenTo(): typeof TaonECommerceProductPermissionEntity {\n return TaonECommerceProductPermissionEntity;\n }\n}","import { TaonECommerceProductPermissionModels } from './taon-e-commerce-product-permission.models';\n\nexport namespace TaonECommerceProductPermissionUtils {\n export function isActive(state: string): state is TaonECommerceProductPermissionModels.TaonECommerceProductPermissionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductPermissionErrors } from './taon-e-commerce-product-permission.constants';\n\nexport namespace TaonECommerceProductPermissionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCustomerAddressOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderItemApiService } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommercePaymentTransactionApiService } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\nimport type { TaonECommerceOrderItemEntity } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-order-details-backoffice',\n templateUrl: './taon-e-commerce-order-details-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-order-details-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommerceOrderApiService,\n TaonECommerceOrderItemApiService,\n TaonECommercePaymentTransactionApiService,\n ],\n})\nexport class TaonECommerceOrderDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly itemApi = inject(TaonECommerceOrderItemApiService);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly items = signal<TaonECommerceOrderItemEntity[]>([]);\n\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The order ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const [orderResponse, itemsResponse, transactionsResponse] =\n await Promise.all([\n this.orderApi.taonECommerceOrderController.getBy(id).request!(),\n this.itemApi.taonECommerceOrderItemController.getAll().request!(),\n this.transactionApi.taonECommercePaymentTransactionController.getAll()\n .request!(),\n ]);\n if (\n orderResponse.statusCode >= 400 ||\n itemsResponse.statusCode >= 400 ||\n transactionsResponse.statusCode >= 400\n ) {\n throw new Error(\n orderResponse.responseText ||\n itemsResponse.responseText ||\n transactionsResponse.responseText ||\n 'Unable to load order details.',\n );\n }\n\n const order = orderResponse.body?.json;\n const items = itemsResponse.body?.json;\n const transactions = transactionsResponse.body?.json;\n if (!order || !Array.isArray(items) || !Array.isArray(transactions)) {\n throw new Error('The order details response was invalid.');\n }\n\n this.order.set(order);\n this.items.set(\n (items as TaonECommerceOrderItemEntity[]).filter(\n item => item.orderId === id,\n ),\n );\n this.transactions.set(\n (transactions as TaonECommercePaymentTransactionEntity[]).filter(\n transaction => transaction.orderId === id,\n ),\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-order-details] Unable to load order',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load order details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"order-details\">\n <h2>Order details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading order...</p>\n } @else if (order(); as currentOrder) {\n <dl class=\"order-info\">\n <dt>Order ID</dt>\n <dd>{{ currentOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ currentOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentOrder.status }}</dd>\n <dt>Created</dt>\n <dd>{{ currentOrder.createdAt }}</dd>\n <dt>Subtotal</dt>\n <dd>{{ currentOrder.subtotal }} {{ currentOrder.currency }}</dd>\n <dt>Total</dt>\n <dd>{{ currentOrder.total }} {{ currentOrder.currency }}</dd>\n </dl>\n\n <h3>Items</h3>\n <table>\n <thead>\n <tr>\n <th>Product</th>\n <th>Quantity</th>\n <th>Unit price</th>\n <th>Total</th>\n </tr>\n </thead>\n <tbody>\n @for (item of items(); track item.id) {\n <tr>\n <td>{{ item.productName }}</td>\n <td>{{ item.quantity }}</td>\n <td>{{ item.unitPrice }} {{ currentOrder.currency }}</td>\n <td>{{ item.totalPrice }} {{ currentOrder.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"4\">No items in this order.</td>\n </tr>\n }\n </tbody>\n </table>\n\n <h3>Payment transactions</h3>\n <table>\n <thead>\n <tr>\n <th>ID</th>\n <th>Provider</th>\n <th>Provider transaction</th>\n <th>Status</th>\n <th>Amount</th>\n </tr>\n </thead>\n <tbody>\n @for (transaction of transactions(); track transaction.id) {\n <tr>\n <td>{{ transaction.id }}</td>\n <td>{{ transaction.provider }}</td>\n <td>{{ transaction.providerTransactionId }}</td>\n <td>{{ transaction.status }}</td>\n <td>{{ transaction.amount }} {{ transaction.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"5\">No payment transactions.</td>\n </tr>\n }\n </tbody>\n </table>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-orders-backoffice',\n templateUrl: './taon-e-commerce-orders-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-orders-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommerceOrderApiService],\n})\nexport class TaonECommerceOrdersBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommerceOrderApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'User', field: 'userId', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View order',\n click: (order: TaonECommerceOrderEntity) => this.openOrder(order),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openOrder(order: TaonECommerceOrderEntity): void {\n if (typeof order.id !== 'number') {\n return;\n }\n void this.router.navigate([order.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommerceOrderController;\n }\n}\n","<h1>Orders</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'userId',\n 'status',\n 'total',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceOrdersBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-orders-backoffice.component').then(\n m => m.TaonECommerceOrdersBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-order-details-backoffice.component').then(\n m => m.TaonECommerceOrderDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceOrdersBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceOrdersBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommercePaymentTransactionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport type { TaonECommerceOrderEntity } from '../../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-payment-transaction-details-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transaction-details-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transaction-details-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommercePaymentTransactionApiService,\n TaonECommerceOrderApiService,\n ],\n})\nexport class TaonECommercePaymentTransactionDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n readonly transaction = signal<TaonECommercePaymentTransactionEntity | null>(\n null,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The transaction ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const transactionResponse =\n await this.transactionApi.taonECommercePaymentTransactionController.getBy(\n id,\n ).request!();\n if (transactionResponse.statusCode >= 400) {\n throw new Error(\n transactionResponse.responseText ||\n 'Unable to load transaction details.',\n );\n }\n\n const transaction = transactionResponse.body?.json;\n if (!transaction || typeof transaction.orderId !== 'number') {\n throw new Error('The transaction details response was invalid.');\n }\n\n const orderResponse =\n await this.orderApi.taonECommerceOrderController.getBy(\n transaction.orderId,\n ).request!();\n if (orderResponse.statusCode >= 400 || !orderResponse.body?.json) {\n throw new Error(\n orderResponse.responseText || 'Unable to load the related order.',\n );\n }\n\n this.transaction.set(transaction);\n this.order.set(orderResponse.body.json);\n } catch (error) {\n console.error(\n '[taon-e-commerce-transaction-details] Unable to load transaction',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load transaction details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"transaction-details\">\n <h2>Transaction details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading transaction...</p>\n } @else if (transaction(); as currentTransaction) {\n <dl>\n <dt>Transaction ID</dt>\n <dd>{{ currentTransaction.id }}</dd>\n <dt>Order ID</dt>\n <dd>{{ currentTransaction.orderId }}</dd>\n <dt>Provider</dt>\n <dd>{{ currentTransaction.provider }}</dd>\n <dt>Provider transaction ID</dt>\n <dd>{{ currentTransaction.providerTransactionId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentTransaction.status }}</dd>\n <dt>Amount</dt>\n <dd>{{ currentTransaction.amount }} {{ currentTransaction.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ currentTransaction.createdAt }}</dd>\n </dl>\n\n @if (order(); as relatedOrder) {\n <h3>Related order</h3>\n <dl>\n <dt>Order ID</dt>\n <dd>{{ relatedOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ relatedOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ relatedOrder.status }}</dd>\n <dt>Total</dt>\n <dd>{{ relatedOrder.total }} {{ relatedOrder.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ relatedOrder.createdAt }}</dd>\n </dl>\n }\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-payment-transactions-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transactions-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transactions-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommercePaymentTransactionApiService],\n})\nexport class TaonECommercePaymentTransactionsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommercePaymentTransactionApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n {\n header: 'Provider transaction ID',\n field: 'providerTransactionId',\n sortable: true,\n },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View transaction',\n click: (transaction: TaonECommercePaymentTransactionEntity) =>\n this.openTransaction(transaction),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openTransaction(transaction: TaonECommercePaymentTransactionEntity): void {\n if (typeof transaction.id !== 'number') {\n return;\n }\n void this.router.navigate([transaction.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommercePaymentTransactionController;\n }\n}\n","<h1>Transactions</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'orderId',\n 'provider',\n 'providerTransactionId',\n 'status',\n 'amount',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommercePaymentTransactionsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transactions-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionsBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transaction-details-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommercePaymentTransactionsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommercePaymentTransactionsBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommerceProductApiService } from '../taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product.entity';\nimport { TaonECommerceProductEditDialogComponent } from '../taon-e-commerce-product-edit-dialog.component';\nimport type { TaonECommerceProductEditDialogData } from '../taon-e-commerce-product-edit-dialog.component';\n\n@Component({\n selector: 'app-taon-e-commerce-products-backoffice',\n templateUrl: './taon-e-commerce-products-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-products-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, TaonDatatableComponent],\n providers: [TaonECommerceProductApiService],\n})\nexport class TaonECommerceProductsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly api = inject(TaonECommerceProductApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Name', field: 'name', sortable: true },\n { header: 'Type', field: 'type', sortable: true },\n { header: 'Price', field: 'price', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Active', field: 'active', sortable: true },\n {\n header: 'Stripe synchronized',\n field: 'stripeLastSyncedAt',\n sortable: true,\n },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: 'Edit product',\n click: (product: TaonECommerceProductEntity) => this.edit(product),\n },\n ],\n },\n ];\n\n private readonly dialog = inject(MatDialog);\n\n readonly syncInProgress = signal(false);\n\n readonly syncError = signal('');\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n add(): void {\n this.openEditor({});\n }\n\n edit(product: TaonECommerceProductEntity): void {\n this.openEditor({ product });\n }\n\n async syncWithStripe(): Promise<void> {\n if (this.syncInProgress()) {\n return;\n }\n\n this.syncInProgress.set(true);\n this.syncError.set('');\n try {\n await this.api.syncWithStripe();\n this.datatable.reload();\n } catch (error) {\n console.error(\n '[taon-e-commerce-products-backoffice] Stripe sync failed',\n error,\n );\n this.syncError.set(\n error instanceof Error\n ? error.message\n : 'Stripe synchronization could not be completed.',\n );\n } finally {\n this.syncInProgress.set(false);\n }\n }\n\n private openEditor(data: TaonECommerceProductEditDialogData): void {\n const ref = this.dialog.open(TaonECommerceProductEditDialogComponent, {\n data,\n width: '44rem',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref.afterClosed().subscribe(product => {\n if (product) {\n this.datatable.reload();\n }\n });\n }\n\n public get crud() {\n return this.api.taonECommerceProductController;\n }\n}\n","<header class=\"page-header pb-2\">\n <h1>Products</h1>\n <div class=\"actions\">\n <button\n mat-stroked-button\n type=\"button\"\n [disabled]=\"syncInProgress()\"\n (click)=\"syncWithStripe()\">\n {{ syncInProgress() ? 'Syncing...' : 'Sync with Stripe' }}\n </button>\n </div>\n</header>\n\n@if (syncError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ syncError() }}\n </p>\n}\n\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"[\n 'id',\n 'name',\n 'type',\n 'price',\n 'currency',\n 'active',\n 'stripeLastSyncedAt',\n ]\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceProductsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-products-backoffice.component').then(m => m.TaonECommerceProductsBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceProductsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceProductsBackofficeRoutes;","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductPermissionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './my-organization-proj'; \nexport * from './start-cli'; \nexport * from './taon-e-commerce.abstract.context'; \nexport * from './i18n/lib.translation'; \nexport * from './taon-cart/taon-cart.component'; // @browser\nexport * from './taon-cart/taon-cart.models'; \nexport * from './taon-cart-button/taon-cart-button.component'; // @browser\nexport * from './taon-cart-button/taon-cart-button.models'; \nexport * from './taon-cart-button/taon-cart-button.routes'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.component'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.models'; \nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.models'; \nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.models'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.api.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.config.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.constants'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.controller'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.entity'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.middleware'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.models'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.provider'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.subscriber'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.utils'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.validators'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.models'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.api.service'; // @browser\nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.controller'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.models'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.abstract.context'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.api.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.config.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.constants'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.controller'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.entity'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.kv.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.middleware'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.provider'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.subscriber'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.utils'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.validators'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.api.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.config.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.constants'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.controller'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.entity'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.middleware'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.models'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.provider'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.utils'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.validators'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.abstract.context'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.api.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.config.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.constants'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.controller'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.entity'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.kv.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.middleware'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.provider'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.subscriber'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.utils'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.validators'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.models'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators'; \nexport * from './taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation'; \nexport * from './taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation'; \nexport * from './taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation'; \nexport * from './taon-e-commerce-order/i18n/taon-e-commerce-order.translation'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation'; \nexport * from './taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product/i18n/taon-e-commerce-product.translation'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation'; ","export * from './migrations';\n/* */ \nexport * from './index._auto-generated_';\nexport * from './my-organization-proj';\n/* */ \nexport default {};","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["t","i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"e-commerce-browser.mjs","sources":["../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/1791132517216_initial.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/migrations/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/my-organization-proj.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/start-cli.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce.abstract.context.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer/taon-e-commerce-customer.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart/taon-cart.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-cart-button/taon-cart-button.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/taon-e-commerce-cart.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-order.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.api.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-product.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.models.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/i18n/taon-e-commerce-order.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/i18n/taon-e-commerce-product.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component.html","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/lib/index.ts","../../../tmp-libs-for-dist/e-commerce/projects/e-commerce/src/e-commerce-browser.ts"],"sourcesContent":["import {\n MyAppAuthorization,\n MyAppGroup,\n MyAppPermission,\n MyAppRole,\n} from '@taon-dev/cms/browser';\nimport { TaonAuthContextRepository } from '@taon-dev/session/browser';\nimport { Taon, TaonBaseMigration, TaonMigration } from 'taon/browser';\nimport { QueryRunner } from 'taon-typeorm/browser';\n\n//#region Migration class for context \"ECommerceContext\"\n@TaonMigration({\n className: 'ECommerceContext_1791132517216_initial',\n})\nexport class ECommerceContext_1791132517216_initial extends TaonBaseMigration {\n private taonAuthContextRepository = this.injectCustomRepo(\n TaonAuthContextRepository<MyAppAuthorization>,\n );\n\n //#region up\n async up(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.persistTree({\n enums: {\n groups: MyAppGroup,\n roles: MyAppRole,\n permissions: MyAppPermission,\n },\n tree: {\n groupAndRoles: {\n [MyAppGroup.Administrator]: '*',\n [MyAppGroup.Customers]: [MyAppRole.BlogReader],\n },\n rolesAndPermissions: {\n [MyAppRole.Customer]: [\n MyAppPermission.AccessCourseP2,\n MyAppPermission.AccessCourseP2,\n ],\n [MyAppRole.CustomerPremium]: '*',\n },\n },\n });\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n\n //#region down\n async down(queryRunner: QueryRunner): Promise<any> {\n await queryRunner.startTransaction();\n try {\n await this.taonAuthContextRepository.clearRolesGroupPermissions();\n\n await queryRunner.commitTransaction();\n } catch (error) {\n console.error('Error in migration:', error);\n await queryRunner.rollbackTransaction();\n } finally {\n await queryRunner.release();\n }\n }\n //#endregion\n}\n//#endregion\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { ECommerceContext_1791132517216_initial } from './1791132517216_initial';\n// THIS FILE IS GENERATED - DO NOT MODIFY\nexport const MIGRATIONS_CLASSES_FOR_ECommerceContext = {\n /* 04-10-2026 18:48:37 */ ECommerceContext_1791132517216_initial,\n};\n// THIS FILE IS GENERATED - DO NOT MODIFY\n","//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\n","// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.e-commerce';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/e-commerce';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.9';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Translation } from \"@taon-dev/i18n/browser\";\nimport { Taon } from \"taon/browser\";\n\nconst t = Translation.for('src/lib/my-organization-proj.ts', {\"src/lib/my-organization-proj.ts\":{\"en-US\":async () => (await import('./i18n/my-organization-proj.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/my-organization-proj.ts.pl-PL.i18n.data')).default}} as any);\n\nexport function myOrgProj() {\n t.gettext('My Translated Company Name!')\n}\n","//#region tnp-helpers cli template\nimport { UtilsJson } from 'tnp-core/browser';\nimport { Helpers, BaseCommandLineFeature } from 'tnp-helpers/browser';\n/* */ \n//#endregion\n\n//#region CLI / global scope\n/**\n * This class is for handling global arguments. *\n * Cli engine will parse: hello:world:from:global:arg to helloWorldFromGlobalArg\n * (lower case, camel case) .. so you don't need to worry about misspelling\n * arguments\n */\nclass $Global extends BaseCommandLineFeature<{}> {\n /**\n * When you execute cli without arguments:`$ cli`\n */\n public _() {\n console.log(`Hello world from cli`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli hello:world:from:global:arg`\n * (or `$ cli helloWorldFromGlobalArg`)\n */\n helloWorldFromGlobalArg() {\n console.log('hello world from global argument!');\n this._exit(0);\n }\n}\n//#endregion\n\n//#region CLI / Version Scope\n/**\n *\n */\nclass $Version extends BaseCommandLineFeature<{\n anyCLIparamsHere: string;\n}> {\n /**\n * When you execute: `$ cli version`\n */\n public _() {\n console.log(`Hello world from version argument`);\n this._exit();\n }\n\n /**\n * When you execute: `$ cli version:getFromPackageJson`\n */\n public getFromPackageJson() {\n const ver = UtilsJson.getValue(\n this.project.pathFor('package.json'),\n 'version',\n {\n defaultValue: '<not defined>',\n },\n );\n console.log(`Version from packageJson ${ver}`);\n this._exit(0);\n }\n}\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\n\n@Index(['provider', 'providerTransactionId'], { unique: true })\n@TaonEntity<TaonECommercePaymentTransactionEntity>({\n className: 'TaonECommercePaymentTransactionEntity',\n createTable: true,\n})\nexport class TaonECommercePaymentTransactionEntity extends TaonBaseAbstractEntity<TaonECommercePaymentTransactionEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'varchar' })\n provider!: string;\n\n @Column({ type: 'varchar' })\n providerTransactionId!: string;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'succeeded' | 'failed' | 'cancelled';\n\n @Column({ type: 'float' })\n amount!: number;\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.transactions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@TaonEntity<TaonECommerceOrderEntity>({\n className: 'TaonECommerceOrderEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderEntity extends TaonBaseAbstractEntity<TaonECommerceOrderEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n status!: 'pending' | 'paid' | 'cancelled' | 'failed';\n\n @Column({ type: 'varchar', length: 3 })\n currency!: string;\n\n @Column({ type: 'float' })\n subtotal!: number;\n\n @Column({ type: 'float' })\n total!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.order)\n items!: TaonECommerceOrderItemEntity[];\n\n @OneToMany(\n () => TaonECommercePaymentTransactionEntity,\n transaction => transaction.order,\n )\n transactions!: TaonECommercePaymentTransactionEntity[];\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonEntity<TaonECommerceOrderItemEntity>({\n className: 'TaonECommerceOrderItemEntity',\n createTable: true,\n})\nexport class TaonECommerceOrderItemEntity extends TaonBaseAbstractEntity<TaonECommerceOrderItemEntity> {\n @Column({ type: 'int' })\n orderId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'varchar' })\n productName!: string;\n\n @Column({ type: 'float' })\n unitPrice!: number;\n\n @Column({ type: 'int' })\n quantity!: number;\n\n @Column({ type: 'float' })\n totalPrice!: number;\n\n @ManyToOne(() => TaonECommerceOrderEntity, order => order.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'orderId' })\n order!: TaonECommerceOrderEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.orderItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonPermissionEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['productId', 'permissionId'], { unique: true })\n@TaonEntity<TaonECommerceProductPermissionEntity>({\n className: 'TaonECommerceProductPermissionEntity',\n createTable: true,\n})\nexport class TaonECommerceProductPermissionEntity extends TaonBaseAbstractEntity<TaonECommerceProductPermissionEntity> {\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int' })\n permissionId!: number;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.permissions, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @ManyToOne(() => TaonPermissionEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'permissionId' })\n permission!: TaonPermissionEntity;\n}\n","import {\n BooleanColumn,\n Column,\n CreateDateColumn,\n OneToMany,\n String500Column,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\n\n@TaonEntity<TaonECommerceProductEntity>({\n className: 'TaonECommerceProductEntity',\n createTable: true,\n})\nexport class TaonECommerceProductEntity extends TaonBaseAbstractEntity<TaonECommerceProductEntity> {\n @String500Column()\n name!: string;\n\n @Column({ type: 'text', nullable: true })\n description!: string | null;\n\n @BooleanColumn(true)\n active!: boolean;\n\n @Column({ type: 'varchar' })\n type!: 'digital' | 'physical' | 'service';\n\n @Column({ type: 'float' })\n price!: number;\n\n @Column({ type: 'varchar', length: 3, default: 'USD' })\n currency!: string;\n\n @Column({ type: 'varchar', nullable: true })\n stripeProductId!: string | null;\n\n @Column({ type: 'varchar', nullable: true })\n stripePriceId!: string | null;\n\n @Column({ type: 'datetime', nullable: true })\n stripeLastSyncedAt!: Date | null;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceProductPermissionEntity, link => link.product)\n permissions!: TaonECommerceProductPermissionEntity[];\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.product)\n cartItems!: TaonECommerceCartItemEntity[];\n\n @OneToMany(() => TaonECommerceOrderItemEntity, item => item.product)\n orderItems!: TaonECommerceOrderItemEntity[];\n}\n","import {\n Column,\n CreateDateColumn,\n Index,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@Index(['cartId', 'productId'], { unique: true })\n@TaonEntity({\n className: 'TaonECommerceCartItemEntity',\n createTable: true,\n})\nexport class TaonECommerceCartItemEntity extends TaonBaseAbstractEntity<TaonECommerceCartItemEntity> {\n @Column({ type: 'int' })\n cartId!: number;\n\n @Column({ type: 'int' })\n productId!: number;\n\n @Column({ type: 'int', default: 1 })\n quantity!: number;\n\n @ManyToOne(() => TaonECommerceCartEntity, cart => cart.items, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'cartId' })\n cart!: TaonECommerceCartEntity;\n\n @ManyToOne(() => TaonECommerceProductEntity, product => product.cartItems, {\n onDelete: 'RESTRICT',\n })\n @JoinColumn({ name: 'productId' })\n product!: TaonECommerceProductEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n OneToMany,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\n\n@TaonEntity({\n className: 'TaonECommerceCartEntity',\n createTable: true,\n})\nexport class TaonECommerceCartEntity extends TaonBaseAbstractEntity<TaonECommerceCartEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n\n @OneToMany(() => TaonECommerceCartItemEntity, item => item.cart)\n items!: TaonECommerceCartItemEntity[];\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartRepository',\n})\nexport class TaonECommerceCartRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartController>({\n className: 'TaonECommerceCartController',\n allowedMethods: []\n})\nexport class TaonECommerceCartController extends TaonBaseCrudController<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () => TaonECommerceCartEntity;\n\n taonECommerceCartRepository = this.injectCustomRepo(TaonECommerceCartRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartProvider',\n})\nexport class TaonECommerceCartProvider extends TaonBaseProvider {\n enabledTaonECommerceCartOption: boolean = true;\n}","import { TaonBaseRepository, TaonRepository } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport { TaonECommerceCartItemEntity } from '../taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\n\n@TaonRepository({\n className: 'TaonECommerceCustomerRepository',\n})\nexport class TaonECommerceCustomerRepository extends TaonBaseRepository<TaonECommerceCartEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartEntity = () =>\n TaonECommerceCartEntity;\n\n async getCart(userId: number): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async addProduct(\n userId: number,\n productId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async setItemQuantity(\n userId: number,\n itemId: number,\n quantity: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(\n userId: number,\n itemId: number,\n ): Promise<TaonECommerceCartEntity> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getOrders(userId: number): Promise<TaonECommerceOrderEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getTransactions(\n userId: number,\n ): Promise<TaonECommercePaymentTransactionEntity[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { TaonSessionRepository } from '@taon-dev/session/browser';\nimport {\n Body,\n GET,\n Models,\n POST,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerRepository } from './taon-e-commerce-customer.repository';\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\nexport interface TaonECommerceSubscriptionStatus {\n id: string;\n productName: string;\n status: 'active' | 'cancelled';\n validUntil: string | null;\n}\n\n@TaonController<TaonECommerceCustomerController>({\n className: 'TaonECommerceCustomerController',\n})\nexport class TaonECommerceCustomerController extends TaonBaseController<\n {},\n TaonECommerceCustomerController\n> {\n private readonly sessionRepository = this.injectCustomRepo(\n TaonSessionRepository,\n );\n\n private readonly customerRepository = this.injectCustomRepo(\n TaonECommerceCustomerRepository,\n );\n\n private readonly unsubscribedUsers = new Set<number>();\n\n protected async beforeEachRequest({\n req,\n res,\n }: Models.TaonCtrlBeforeEachRequestParams<TaonECommerceCustomerController>): Promise<void> {\n await this.sessionRepository.throwIfNotAuthenticated({ req, res });\n }\n\n @GET()\n getMyCart(): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getCart(userId);\n };\n }\n\n @POST()\n addToMyCart(\n @Body('productId') productId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.addProduct(userId, productId, quantity);\n };\n }\n\n @POST()\n updateMyCartItem(\n @Body('itemId') itemId: number,\n @Body('quantity') quantity: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.setItemQuantity(userId, itemId, quantity);\n };\n }\n\n @POST()\n removeFromMyCart(\n @Body('itemId') itemId: number,\n ): Taon.Response<TaonECommerceCartEntity> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.removeItem(userId, itemId);\n };\n }\n\n @GET()\n getMyOrders(): Taon.Response<TaonECommerceOrderEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getOrders(userId);\n };\n }\n\n @GET()\n getMyTransactions(): Taon.Response<TaonECommercePaymentTransactionEntity[]> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return this.customerRepository.getTransactions(userId);\n };\n }\n\n @GET()\n getMySubscriptionStatuses(): Taon.Response<\n TaonECommerceSubscriptionStatus[]\n > {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n return [\n {\n id: `example-subscription-${userId}`,\n productName: 'Example subscription',\n status: this.unsubscribedUsers.has(userId) ? 'cancelled' : 'active',\n validUntil: null,\n },\n ];\n };\n }\n\n @POST()\n unsubscribeFromExampleSubscription(): Taon.Response<void> {\n return async req => {\n const userId = Number('userId' in req ? req.userId : undefined);\n this.unsubscribedUsers.add(userId);\n };\n }\n}\n","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\nimport { TaonECommerceCartRepository } from './taon-e-commerce-cart.repository';\n// import { TaonECommerceCartKvRepository } from './taon-e-commerce-cart.kv.repository';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\nimport { TaonECommerceCustomerController } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport { TaonECommerceCustomerRepository } from '../taon-e-commerce-customer/taon-e-commerce-customer.repository';\n// import { TaonECommerceCartMiddleware } from './taon-e-commerce-cart.middleware';\n// import { TaonECommerceCartSubscriber } from './taon-e-commerce-cart.subscriber';\n//#endregion\n\nexport const TaonECommerceCartAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartEntity },\n repositories: {\n // TaonECommerceCartKvRepository\n TaonECommerceCartRepository,\n TaonECommerceCustomerRepository,\n },\n controllers: { TaonECommerceCartController, TaonECommerceCustomerController },\n providers: { TaonECommerceCartProvider },\n // middlewares: { TaonECommerceCartMiddleware },\n // subscribers: { TaonECommerceCartSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemRepository',\n})\nexport class TaonECommerceCartItemRepository extends TaonBaseRepository<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () => TaonECommerceCartItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceCartItemController>({\n className: 'TaonECommerceCartItemController',\n allowedMethods: [],\n})\nexport class TaonECommerceCartItemController extends TaonBaseCrudController<TaonECommerceCartItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCartItemEntity = () =>\n TaonECommerceCartItemEntity;\n\n taonECommerceCartItemRepository = this.injectCustomRepo(\n TaonECommerceCartItemRepository,\n );\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonProvider({\n className: 'TaonECommerceCartItemProvider',\n})\nexport class TaonECommerceCartItemProvider extends TaonBaseProvider {\n enabledTaonECommerceCartItemOption: boolean = true;\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\nimport { TaonECommerceCartItemRepository } from './taon-e-commerce-cart-item.repository';\n// import { TaonECommerceCartItemKvRepository } from './taon-e-commerce-cart-item.kv.repository';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n// import { TaonECommerceCartItemMiddleware } from './taon-e-commerce-cart-item.middleware';\n// import { TaonECommerceCartItemSubscriber } from './taon-e-commerce-cart-item.subscriber';\n//#endregion\n\nexport const TaonECommerceCartItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCartItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCartItemEntity },\n controllers: { TaonECommerceCartItemController },\n repositories: {\n // TaonECommerceCartItemKvRepository\n TaonECommerceCartItemRepository,\n },\n providers: { TaonECommerceCartItemProvider },\n // middlewares: { TaonECommerceCartItemMiddleware },\n // subscribers: { TaonECommerceCartItemSubscriber },\n}));","import { TaonSessionUserEntity } from '@taon-dev/session/browser';\nimport {\n Column,\n CreateDateColumn,\n JoinColumn,\n ManyToOne,\n TaonBaseAbstractEntity,\n TaonEntity,\n UpdateDateColumn,\n} from 'taon/browser';\n\n@TaonEntity<TaonECommerceCustomerAddressEntity>({\n className: 'TaonECommerceCustomerAddressEntity',\n createTable: true,\n})\nexport class TaonECommerceCustomerAddressEntity extends TaonBaseAbstractEntity<TaonECommerceCustomerAddressEntity> {\n @Column({ type: 'int' })\n userId!: number;\n\n @Column({ type: 'varchar' })\n type!: 'billing' | 'shipping';\n\n @Column({ type: 'varchar' })\n firstName!: string;\n\n @Column({ type: 'varchar' })\n lastName!: string;\n\n @Column({ type: 'varchar', nullable: true })\n company!: string | null;\n\n @Column({ type: 'varchar' })\n addressLine1!: string;\n\n @Column({ type: 'varchar', nullable: true })\n addressLine2!: string | null;\n\n @Column({ type: 'varchar' })\n city!: string;\n\n @Column({ type: 'varchar' })\n postalCode!: string;\n\n @Column({ type: 'varchar' })\n country!: string;\n\n @Column({ type: 'varchar', nullable: true })\n phone!: string | null;\n\n @ManyToOne(() => TaonSessionUserEntity, {\n onDelete: 'CASCADE',\n })\n @JoinColumn({ name: 'userId' })\n user!: TaonSessionUserEntity;\n\n @CreateDateColumn()\n createdAt!: Date;\n\n @UpdateDateColumn()\n updatedAt!: Date;\n}\n","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressRepository',\n})\nexport class TaonECommerceCustomerAddressRepository extends TaonBaseRepository<TaonECommerceCustomerAddressEntity> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n//#endregion\n\n@TaonController<TaonECommerceCustomerAddressController>({\n className: 'TaonECommerceCustomerAddressController',\n // allowedMethods: []\n})\nexport class TaonECommerceCustomerAddressController extends TaonBaseCrudController<\n TaonECommerceCustomerAddressEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceCustomerAddressController\n> {\n entityClassResolveFn: () => typeof TaonECommerceCustomerAddressEntity = () => TaonECommerceCustomerAddressEntity;\n\n private readonly taonECommerceCustomerAddressRepository = this.injectCustomRepo(TaonECommerceCustomerAddressRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceCustomerAddressConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceCustomerAddressProvider',\n})\nexport class TaonECommerceCustomerAddressProvider extends TaonBaseProvider {\n enabledTaonECommerceCustomerAddressOption: boolean = true;\n config = new TaonTaonECommerceCustomerAddressConfig();\n clone() {\n return {\n enabledTaonECommerceCustomerAddressOption: this.enabledTaonECommerceCustomerAddressOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\nimport { TaonECommerceCustomerAddressRepository } from './taon-e-commerce-customer-address.repository';\n// import { TaonECommerceCustomerAddressKvRepository } from './taon-e-commerce-customer-address.kv.repository';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n// import { TaonECommerceCustomerAddressMiddleware } from './taon-e-commerce-customer-address.middleware';\n// import { TaonECommerceCustomerAddressSubscriber } from './taon-e-commerce-customer-address.subscriber';\n//#endregion\n\nexport const TaonECommerceCustomerAddressAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceCustomerAddressAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceCustomerAddressEntity },\n controllers: { TaonECommerceCustomerAddressController },\n repositories: {\n // TaonECommerceCustomerAddressKvRepository\n TaonECommerceCustomerAddressRepository,\n },\n providers: { TaonECommerceCustomerAddressProvider },\n // middlewares: { TaonECommerceCustomerAddressMiddleware },\n // subscribers: { TaonECommerceCustomerAddressSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderRepository',\n})\nexport class TaonECommerceOrderRepository extends TaonBaseRepository<TaonECommerceOrderEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderController>({\n className: 'TaonECommerceOrderController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderController extends TaonBaseCrudController<\n TaonECommerceOrderEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderEntity = () => TaonECommerceOrderEntity;\n\n private readonly taonECommerceOrderRepository = this.injectCustomRepo(TaonECommerceOrderRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderProvider',\n})\nexport class TaonECommerceOrderProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderOption: boolean = true;\n config = new TaonTaonECommerceOrderConfig();\n clone() {\n return {\n enabledTaonECommerceOrderOption: this.enabledTaonECommerceOrderOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\nimport { TaonECommerceOrderRepository } from './taon-e-commerce-order.repository';\n// import { TaonECommerceOrderKvRepository } from './taon-e-commerce-order.kv.repository';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n// import { TaonECommerceOrderMiddleware } from './taon-e-commerce-order.middleware';\n// import { TaonECommerceOrderSubscriber } from './taon-e-commerce-order.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderEntity },\n controllers: { TaonECommerceOrderController },\n repositories: {\n // TaonECommerceOrderKvRepository\n TaonECommerceOrderRepository,\n },\n providers: { TaonECommerceOrderProvider },\n // middlewares: { TaonECommerceOrderMiddleware },\n // subscribers: { TaonECommerceOrderSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemRepository',\n})\nexport class TaonECommerceOrderItemRepository extends TaonBaseRepository<TaonECommerceOrderItemEntity> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n//#endregion\n\n@TaonController<TaonECommerceOrderItemController>({\n className: 'TaonECommerceOrderItemController',\n // allowedMethods: []\n})\nexport class TaonECommerceOrderItemController extends TaonBaseCrudController<\n TaonECommerceOrderItemEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceOrderItemController\n> {\n entityClassResolveFn: () => typeof TaonECommerceOrderItemEntity = () => TaonECommerceOrderItemEntity;\n\n private readonly taonECommerceOrderItemRepository = this.injectCustomRepo(TaonECommerceOrderItemRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceOrderItemConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceOrderItemProvider',\n})\nexport class TaonECommerceOrderItemProvider extends TaonBaseProvider {\n enabledTaonECommerceOrderItemOption: boolean = true;\n config = new TaonTaonECommerceOrderItemConfig();\n clone() {\n return {\n enabledTaonECommerceOrderItemOption: this.enabledTaonECommerceOrderItemOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\nimport { TaonECommerceOrderItemRepository } from './taon-e-commerce-order-item.repository';\n// import { TaonECommerceOrderItemKvRepository } from './taon-e-commerce-order-item.kv.repository';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n// import { TaonECommerceOrderItemMiddleware } from './taon-e-commerce-order-item.middleware';\n// import { TaonECommerceOrderItemSubscriber } from './taon-e-commerce-order-item.subscriber';\n//#endregion\n\nexport const TaonECommerceOrderItemAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceOrderItemAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceOrderItemEntity },\n controllers: { TaonECommerceOrderItemController },\n repositories: {\n // TaonECommerceOrderItemKvRepository\n TaonECommerceOrderItemRepository,\n },\n providers: { TaonECommerceOrderItemProvider },\n // middlewares: { TaonECommerceOrderItemMiddleware },\n // subscribers: { TaonECommerceOrderItemSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionRepository',\n})\nexport class TaonECommercePaymentTransactionRepository extends TaonBaseRepository<TaonECommercePaymentTransactionEntity> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n//#endregion\n\n@TaonController<TaonECommercePaymentTransactionController>({\n className: 'TaonECommercePaymentTransactionController',\n // allowedMethods: []\n})\nexport class TaonECommercePaymentTransactionController extends TaonBaseCrudController<\n TaonECommercePaymentTransactionEntity,\n {\n /* file upload query params type */\n },\n TaonECommercePaymentTransactionController\n> {\n entityClassResolveFn: () => typeof TaonECommercePaymentTransactionEntity = () => TaonECommercePaymentTransactionEntity;\n\n private readonly taonECommercePaymentTransactionRepository = this.injectCustomRepo(TaonECommercePaymentTransactionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommercePaymentTransactionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommercePaymentTransactionProvider',\n})\nexport class TaonECommercePaymentTransactionProvider extends TaonBaseProvider {\n enabledTaonECommercePaymentTransactionOption: boolean = true;\n config = new TaonTaonECommercePaymentTransactionConfig();\n clone() {\n return {\n enabledTaonECommercePaymentTransactionOption: this.enabledTaonECommercePaymentTransactionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\nimport { TaonECommercePaymentTransactionRepository } from './taon-e-commerce-payment-transaction.repository';\n// import { TaonECommercePaymentTransactionKvRepository } from './taon-e-commerce-payment-transaction.kv.repository';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n// import { TaonECommercePaymentTransactionMiddleware } from './taon-e-commerce-payment-transaction.middleware';\n// import { TaonECommercePaymentTransactionSubscriber } from './taon-e-commerce-payment-transaction.subscriber';\n//#endregion\n\nexport const TaonECommercePaymentTransactionAbstractContext = createContext(() => ({\n contextName: 'TaonECommercePaymentTransactionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommercePaymentTransactionEntity },\n controllers: { TaonECommercePaymentTransactionController },\n repositories: {\n // TaonECommercePaymentTransactionKvRepository\n TaonECommercePaymentTransactionRepository,\n },\n providers: { TaonECommercePaymentTransactionProvider },\n // middlewares: { TaonECommercePaymentTransactionMiddleware },\n // subscribers: { TaonECommercePaymentTransactionSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductRepository',\n})\nexport class TaonECommerceProductRepository extends TaonBaseRepository<TaonECommerceProductEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () => TaonECommerceProductEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n POST,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductController>({\n className: 'TaonECommerceProductController',\n allowedMethods: ['getAll', 'paginationQuery', 'save', 'updateById'],\n})\nexport class TaonECommerceProductController extends TaonBaseCrudController<\n TaonECommerceProductEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductEntity = () =>\n TaonECommerceProductEntity;\n\n private readonly taonECommerceProductRepository = this.injectCustomRepo(\n TaonECommerceProductRepository,\n );\n\n @POST()\n syncWithStripe(): Taon.Response<void> {\n return async () => {\n throw new Error(\n 'Stripe synchronization is not configured for this project.',\n );\n };\n }\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductProvider',\n})\nexport class TaonECommerceProductProvider extends TaonBaseProvider {\n enabledTaonECommerceProductOption: boolean = true;\n config = new TaonTaonECommerceProductConfig();\n clone() {\n return {\n enabledTaonECommerceProductOption: this.enabledTaonECommerceProductOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport { TaonECommerceProductRepository } from './taon-e-commerce-product.repository';\n// import { TaonECommerceProductKvRepository } from './taon-e-commerce-product.kv.repository';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n// import { TaonECommerceProductMiddleware } from './taon-e-commerce-product.middleware';\n// import { TaonECommerceProductSubscriber } from './taon-e-commerce-product.subscriber';\n//#endregion\n\nexport const TaonECommerceProductAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductEntity },\n controllers: { TaonECommerceProductController },\n repositories: {\n // TaonECommerceProductKvRepository\n TaonECommerceProductRepository,\n },\n providers: { TaonECommerceProductProvider },\n // middlewares: { TaonECommerceProductMiddleware },\n // subscribers: { TaonECommerceProductSubscriber },\n}));","//#region imports\nimport { TaonBaseRepository, TaonRepository } from 'taon/browser';\nimport { Raw } from 'taon-typeorm/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionRepository',\n})\nexport class TaonECommerceProductPermissionRepository extends TaonBaseRepository<TaonECommerceProductPermissionEntity> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n /**\n * TODO remove this demo example method\n */\n async countEntitesWithEvenId(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","//#region imports\nimport {\n Taon,\n ClassHelpers,\n TaonController,\n TaonBaseCrudController,\n Query,\n GET,\n} from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n//#endregion\n\n@TaonController<TaonECommerceProductPermissionController>({\n className: 'TaonECommerceProductPermissionController',\n // allowedMethods: []\n})\nexport class TaonECommerceProductPermissionController extends TaonBaseCrudController<\n TaonECommerceProductPermissionEntity,\n {\n /* file upload query params type */\n },\n TaonECommerceProductPermissionController\n> {\n entityClassResolveFn: () => typeof TaonECommerceProductPermissionEntity = () => TaonECommerceProductPermissionEntity;\n\n private readonly taonECommerceProductPermissionRepository = this.injectCustomRepo(TaonECommerceProductPermissionRepository);\n\n //#region methods & getters / hello world\n /**\n * TODO remove this demo example method\n */\n @GET()\n helloWord(@Query('yourName') yourName: string): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport { Taon, TaonBaseClass, TaonBaseProvider, TaonProvider } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\nexport class TaonTaonECommerceProductPermissionConfig extends TaonBaseClass {\n declare name: string;\n}\n\n@TaonProvider({\n className: 'TaonECommerceProductPermissionProvider',\n})\nexport class TaonECommerceProductPermissionProvider extends TaonBaseProvider {\n enabledTaonECommerceProductPermissionOption: boolean = true;\n config = new TaonTaonECommerceProductPermissionConfig();\n clone() {\n return {\n enabledTaonECommerceProductPermissionOption: this.enabledTaonECommerceProductPermissionOption,\n config: this.config.clone(),\n };\n }\n}","//#region imports\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\nimport { TaonECommerceProductPermissionRepository } from './taon-e-commerce-product-permission.repository';\n// import { TaonECommerceProductPermissionKvRepository } from './taon-e-commerce-product-permission.kv.repository';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n// import { TaonECommerceProductPermissionMiddleware } from './taon-e-commerce-product-permission.middleware';\n// import { TaonECommerceProductPermissionSubscriber } from './taon-e-commerce-product-permission.subscriber';\n//#endregion\n\nexport const TaonECommerceProductPermissionAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceProductPermissionAbstractContext',\n abstract: true,\n contexts: { TaonBaseContext },\n entities: { TaonECommerceProductPermissionEntity },\n controllers: { TaonECommerceProductPermissionController },\n repositories: {\n // TaonECommerceProductPermissionKvRepository\n TaonECommerceProductPermissionRepository,\n },\n providers: { TaonECommerceProductPermissionProvider },\n // middlewares: { TaonECommerceProductPermissionMiddleware },\n // subscribers: { TaonECommerceProductPermissionSubscriber },\n}));","import { TaonBaseKvRepository, TaonRepository } from 'taon/browser';\n\n@TaonRepository({\n className: 'TaonECommerceSettingsKvRepository',\n})\nexport class TaonECommerceSettingsKvRepository extends TaonBaseKvRepository<\n Record<string, boolean>\n> {}\n","import {\n Body,\n GET,\n PUT,\n Taon,\n TaonBaseController,\n TaonController,\n} from 'taon/browser';\n\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\n@TaonController({\n className: 'TaonECommerceBackofficeSettingsController',\n})\nexport class TaonECommerceBackofficeSettingsController extends TaonBaseController {\n private readonly settings = this.injectCustomRepo(\n TaonECommerceSettingsKvRepository,\n );\n\n @GET()\n getSellingEnabled(): Taon.Response<boolean> {\n return async () => {\n return (await this.settings.get('sellingEnabled')) ?? true;\n };\n }\n\n @PUT()\n setSellingEnabled(@Body('enabled') enabled: boolean): Taon.Response<boolean> {\n return async () => {\n if (typeof enabled !== 'boolean') {\n throw new Error('Selling enabled must be a boolean.');\n }\n\n await this.settings.set('sellingEnabled', enabled);\n return enabled;\n };\n }\n}\n","import { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\nimport { TaonECommerceSettingsKvRepository } from './taon-e-commerce-settings.kv.repository';\n\nexport const TaonECommerceBackofficeSettingsContext = createContext(() => ({\n contextName: 'TaonECommerceBackofficeSettingsContext',\n abstract: true,\n contexts: { TaonBaseContext },\n controllers: { TaonECommerceBackofficeSettingsController },\n repositories: { TaonECommerceSettingsKvRepository },\n}));\n","import { TaonCmsAbstractContext } from '@taon-dev/cms/browser';\nimport { createContext, TaonBaseContext } from 'taon/browser';\n\nimport { TaonECommerceCartAbstractContext } from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context';\nimport { TaonECommerceCartItemAbstractContext } from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context';\nimport { TaonECommerceCustomerAddressAbstractContext } from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context';\nimport { TaonECommerceOrderAbstractContext } from './taon-e-commerce-order/taon-e-commerce-order.abstract.context';\nimport { TaonECommerceOrderItemAbstractContext } from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context';\nimport { TaonECommercePaymentTransactionAbstractContext } from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context';\nimport { TaonECommerceProductAbstractContext } from './taon-e-commerce-product/taon-e-commerce-product.abstract.context';\nimport { TaonECommerceProductPermissionAbstractContext } from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context';\nimport { TaonECommerceBackofficeSettingsContext } from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context';\n\nexport const TaonECommerceAbstractContext = createContext(() => ({\n contextName: 'TaonECommerceAbstractContext',\n abstract: true,\n contexts: {\n TaonCmsAbstractContext,\n TaonECommerceCartAbstractContext,\n TaonECommerceCartItemAbstractContext,\n TaonECommerceCustomerAddressAbstractContext,\n TaonECommerceOrderAbstractContext,\n TaonECommerceOrderItemAbstractContext,\n TaonECommercePaymentTransactionAbstractContext,\n TaonECommerceProductAbstractContext,\n TaonECommerceProductPermissionAbstractContext,\n TaonECommerceBackofficeSettingsContext,\n },\n}));\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibMyOrganizationProjTs } from './my-organization-proj.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibMyOrganizationProjTs \n| PlPlTraslationOverrideSrcLibMyOrganizationProjTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerController } from './taon-e-commerce-customer.controller';\n\n@Injectable()\nexport class TaonECommerceCustomerApiService extends TaonBaseAngularService {\n readonly controller = this.injectController(TaonECommerceCustomerController);\n}\n","import { CurrencyPipe, DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport type { TaonECommerceCartEntity } from '../taon-e-commerce-cart/taon-e-commerce-cart.entity';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport type { TaonECommerceSubscriptionStatus } from '../taon-e-commerce-customer/taon-e-commerce-customer.controller';\nimport type { TaonECommerceProductEntity } from '../taon-e-commerce-product/taon-e-commerce-product.entity';\nimport type { TaonCartConfig } from './taon-cart.models';\n\n@Component({\n selector: 'taon-cart',\n templateUrl: './taon-cart.component.html',\n styleUrls: ['./taon-cart.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CurrencyPipe,\n DatePipe,\n MatButtonModule,\n MatIconModule,\n MatTabsModule,\n TaonDatatableComponent,\n ],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly api = inject(TaonECommerceCustomerApiService);\n private readonly dialogRef = inject(MatDialogRef, { optional: true });\n\n readonly cart = signal<TaonECommerceCartEntity | null>(null);\n readonly orders = signal<TaonECommerceOrderEntity[]>([]);\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n readonly subscriptions = signal<TaonECommerceSubscriptionStatus[]>([]);\n readonly loadingCart = signal(false);\n readonly loadingOrders = signal(false);\n readonly loadingTransactions = signal(false);\n readonly loadingSubscriptions = signal(false);\n readonly error = signal('');\n\n readonly orderColumns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n readonly transactionColumns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n ];\n\n constructor() {\n void this.loadCart();\n }\n\n close(): void {\n this.dialogRef?.close();\n }\n\n onMainTabChange(index: number): void {\n if (index === (this.hasSuggestedProducts ? 2 : 1)) {\n void this.loadSubscriptions();\n }\n }\n\n onSettingsTabChange(index: number): void {\n if (index === 0) {\n void this.loadSubscriptions();\n } else if (index === 1) {\n void this.loadOrders();\n } else if (index === 2) {\n void this.loadTransactions();\n }\n }\n\n get suggestedProducts(): TaonECommerceProductEntity[] {\n return this.config?.suggestedProducts ?? [];\n }\n\n get hasSuggestedProducts(): boolean {\n return this.suggestedProducts.length > 0;\n }\n\n async loadCart(): Promise<void> {\n this.loadingCart.set(true);\n this.error.set('');\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.getMyCart().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your cart.', error);\n } finally {\n this.loadingCart.set(false);\n }\n }\n\n async addProduct(product: TaonECommerceProductEntity): Promise<void> {\n if (typeof product.id !== 'number') {\n this.error.set('This suggested product does not have a saved product ID.');\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.addToMyCart(product.id, 1).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to add this product to your cart.', error);\n }\n }\n\n async updateQuantity(itemId: number, quantity: number): Promise<void> {\n if (quantity < 1) {\n await this.removeItem(itemId);\n return;\n }\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.updateMyCartItem(itemId, quantity).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to update the cart item.', error);\n }\n }\n\n async removeItem(itemId: number): Promise<void> {\n try {\n this.cart.set(\n await this.request<TaonECommerceCartEntity>(\n this.api.controller.removeFromMyCart(itemId).request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to remove the cart item.', error);\n }\n }\n\n async loadOrders(): Promise<void> {\n this.loadingOrders.set(true);\n this.error.set('');\n try {\n this.orders.set(\n await this.request<TaonECommerceOrderEntity[]>(\n this.api.controller.getMyOrders().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your orders.', error);\n } finally {\n this.loadingOrders.set(false);\n }\n }\n\n async loadTransactions(): Promise<void> {\n this.loadingTransactions.set(true);\n this.error.set('');\n try {\n this.transactions.set(\n await this.request<TaonECommercePaymentTransactionEntity[]>(\n this.api.controller.getMyTransactions().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load your transactions.', error);\n } finally {\n this.loadingTransactions.set(false);\n }\n }\n\n async loadSubscriptions(): Promise<void> {\n this.loadingSubscriptions.set(true);\n this.error.set('');\n try {\n this.subscriptions.set(\n await this.request<TaonECommerceSubscriptionStatus[]>(\n this.api.controller.getMySubscriptionStatuses().request!(),\n ),\n );\n } catch (error) {\n this.reportError('Unable to load subscription statuses.', error);\n } finally {\n this.loadingSubscriptions.set(false);\n }\n }\n\n async unsubscribe(): Promise<void> {\n this.error.set('');\n try {\n const response = await this.api.controller\n .unsubscribeFromExampleSubscription()\n .request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n await this.loadSubscriptions();\n } catch (error) {\n this.reportError('Unable to unsubscribe.', error);\n }\n }\n\n private async request<T>(\n endpoint: Promise<{\n statusCode: number;\n responseText: string;\n body?: { json?: T };\n }>,\n ): Promise<T> {\n const response = await endpoint;\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'The request failed.');\n }\n const result = response.body?.json;\n if (result === undefined || result === null) {\n throw new Error('The server returned an empty response.');\n }\n return result;\n }\n\n private reportError(message: string, error: unknown): void {\n console.error('[taon-cart]', message, error);\n this.error.set(error instanceof Error ? error.message : message);\n }\n}\n","<section class=\"cart-shell\">\n <header class=\"cart-header\">\n <h2>Shopping</h2>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Close cart\"\n (click)=\"close()\">\n <mat-icon>close</mat-icon>\n </button>\n </header>\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n }\n <mat-tab-group\n (selectedIndexChange)=\"onMainTabChange($event)\"\n [selectedIndex]=\"hasSuggestedProducts ? 0 : 1\">\n @if (hasSuggestedProducts) {\n <mat-tab label=\"Buy\">\n <div class=\"products\">\n @for (product of suggestedProducts; track product.id) {\n <article class=\"product\">\n <h3>{{ product.name }}</h3>\n @if (product.description) {\n <p>{{ product.description }}</p>\n }\n <p>{{ product.price | currency: product.currency }}</p>\n <button\n mat-flat-button\n type=\"button\"\n (click)=\"addProduct(product)\">\n Add to cart\n </button>\n </article>\n }\n </div>\n </mat-tab>\n } @else {\n <mat-tab\n label=\"Buy\"\n [disabled]=\"true\"></mat-tab>\n }\n <mat-tab label=\"Cart\">\n @if (loadingCart()) {\n <p role=\"status\">Loading cart...</p>\n } @else if (!cart()?.items?.length) {\n <p>Your cart is empty.</p>\n } @else {\n <div class=\"cart-items\">\n @for (item of cart()!.items; track item.id) {\n <article class=\"cart-item\">\n <div class=\"item-product\">\n <strong>{{ item.product.name }}</strong>\n <span\n >{{\n item.product.price | currency: item.product.currency\n }}\n each</span\n >\n </div>\n <div class=\"quantity\">\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Decrease quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity - 1)\">\n <mat-icon>remove</mat-icon>\n </button>\n <span>{{ item.quantity }}</span>\n <button\n mat-icon-button\n type=\"button\"\n aria-label=\"Increase quantity\"\n (click)=\"updateQuantity(item.id!, item.quantity + 1)\">\n <mat-icon>add</mat-icon>\n </button>\n </div>\n <strong>{{\n item.product.price * item.quantity\n | currency: item.product.currency\n }}</strong>\n <button\n mat-button\n type=\"button\"\n (click)=\"removeItem(item.id!)\">\n Remove\n </button>\n </article>\n }\n </div>\n }\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <mat-icon aria-hidden=\"true\">settings</mat-icon>\n <span>Settings</span>\n </ng-template>\n <mat-tab-group (selectedIndexChange)=\"onSettingsTabChange($event)\">\n <mat-tab label=\"Settings\">\n @if (loadingSubscriptions()) {\n <p role=\"status\">Loading subscription statuses...</p>\n } @else if (!subscriptions().length) {\n <p>No subscriptions.</p>\n } @else {\n <div class=\"table-scroll\">\n <table>\n <thead>\n <tr>\n <th>Subscription</th>\n <th>Status</th>\n <th>Valid until</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (\n subscription of subscriptions();\n track subscription.id\n ) {\n <tr>\n <td>{{ subscription.productName }}</td>\n <td>{{ subscription.status }}</td>\n <td>\n {{\n subscription.validUntil\n ? (subscription.validUntil | date)\n : '—'\n }}\n </td>\n <td>\n @if (subscription.status === 'active') {\n <button\n mat-button\n type=\"button\"\n (click)=\"unsubscribe()\">\n Unsubscribe\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n </mat-tab>\n <mat-tab label=\"Orders\">\n @if (loadingOrders()) {\n <p role=\"status\">Loading orders...</p>\n } @else {\n <taon-datatable\n [data]=\"orders()\"\n [columns]=\"orderColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n <mat-tab label=\"Transactions\">\n @if (loadingTransactions()) {\n <p role=\"status\">Loading transactions...</p>\n } @else {\n <taon-datatable\n [data]=\"transactions()\"\n [columns]=\"transactionColumns\"\n [hideAddButton]=\"true\"\n [hideSearch]=\"true\" />\n }\n </mat-tab>\n </mat-tab-group>\n </mat-tab>\n </mat-tab-group>\n</section>\n","import { ChangeDetectionStrategy, Component, Input, inject, signal } from '@angular/core';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TaonECommerceCustomerApiService } from '../taon-e-commerce-customer/taon-e-commerce-customer.api.service';\nimport { TaonCartComponent } from '../taon-cart/taon-cart.component';\nimport type { TaonCartConfig } from '../taon-cart/taon-cart.models';\n\n@Component({\n selector: 'taon-cart-button',\n templateUrl: './taon-cart-button.component.html',\n styleUrls: ['./taon-cart-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatBadgeModule, MatButtonModule, MatIconModule],\n providers: [TaonECommerceCustomerApiService],\n})\nexport class TaonCartButtonComponent {\n @Input() config: TaonCartConfig = {};\n\n private readonly dialog = inject(MatDialog);\n private readonly api = inject(TaonECommerceCustomerApiService);\n readonly cartItemCount = signal(0);\n readonly error = signal('');\n\n constructor() {\n void this.loadCartCount();\n }\n\n get badgeText(): string {\n return this.config?.iconShortText ?? String(this.cartItemCount());\n }\n\n openCart(): void {\n const dialog = this.dialog.open(TaonCartComponent, {\n width: '100vw',\n height: '100dvh',\n maxWidth: '100vw',\n maxHeight: '100dvh',\n panelClass: 'taon-cart-fullscreen-dialog',\n });\n dialog.componentRef?.setInput('config', this.config);\n dialog.afterClosed().subscribe(() => void this.loadCartCount());\n }\n\n private async loadCartCount(): Promise<void> {\n try {\n const response = await this.api.controller.getMyCart().request!();\n if (response.statusCode >= 400) {\n throw new Error(response.responseText || 'Unable to load your cart.');\n }\n const cart = response.body?.json;\n if (!cart || !Array.isArray(cart.items)) {\n throw new Error('The cart response was invalid.');\n }\n this.cartItemCount.set(\n cart.items.reduce(\n (count: number, item: { quantity: number }) =>\n count + item.quantity,\n 0,\n ),\n );\n } catch (error) {\n console.error('[taon-cart-button] Unable to load cart count', error);\n this.error.set(\n error instanceof Error ? error.message : 'Unable to load your cart.',\n );\n }\n }\n}\n","<button\n mat-icon-button\n type=\"button\"\n aria-label=\"Open shopping cart\"\n [matBadge]=\"badgeText\"\n [matBadgeHidden]=\"false\"\n (click)=\"openCart()\">\n <mat-icon>shopping_cart</mat-icon>\n</button>\n@if (error()) {\n <span class=\"cart-button-error\" role=\"alert\" [title]=\"error()\">!</span>\n}","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonCartButtonRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-cart-button.component').then(m => m.TaonCartButtonComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonCartButtonRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonCartButtonRoutes;","//#region imports\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n//#endregion\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice',\n templateUrl: './taon-e-commerce-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, RouterOutlet],\n})\nexport class TaonECommerceBackofficeComponent {\n componentLoaded = false;\n\n onRouteActivate(component: any): void {\n this.componentLoaded = !!component;\n }\n\n onRouteDeactivate(component: any): void {\n this.componentLoaded = false;\n }\n}\n","@if (!componentLoaded) {\n <code>\n In E-commerce section you can manager everything about your e-business.\n </code>\n}\n\n<router-outlet\n (activate)=\"onRouteActivate($event)\"\n (deactivate)=\"onRouteDeactivate($event)\"></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice.component').then(\n m => m.TaonECommerceBackofficeComponent,\n ),\n\n children: [\n adminLazyRoute({\n path: 'dashboard',\n menuItem: 'Dashboard',\n icon: 'dashboard',\n loader: () =>\n import('../taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes').then(\n m => m.TaonECommerceBackofficeDashboardRoutes,\n ),\n }),\n adminLazyRoute({\n path: 'products',\n menuItem: 'Products',\n icon: 'inventory',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes').then(\n m => m.TaonECommerceProductsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'orders',\n menuItem: 'Orders',\n icon: 'receipt_long',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes').then(\n m => m.TaonECommerceOrdersBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'payment-transactions',\n menuItem: 'Transactions',\n icon: 'payments',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes').then(\n m => m.TaonECommercePaymentTransactionsBackofficeRoutes,\n ),\n }),\n\n adminLazyRoute({\n path: 'settings',\n menuItem: 'Settings',\n icon: 'settings',\n expandable: false,\n loader: () =>\n import('../taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes').then(\n m => m.TaonECommerceBackofficeSettingsRoutes,\n ),\n }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemController } from './taon-e-commerce-order-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderItemController = this.injectController(TaonECommerceOrderItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderItemEntity[]> {\n return this.taonECommerceOrderItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderController } from './taon-e-commerce-order.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderApiService extends TaonBaseAngularService {\n public readonly taonECommerceOrderController = this.injectController(TaonECommerceOrderController);\n\n public get allMyEntities$(): Observable<TaonECommerceOrderEntity[]> {\n return this.taonECommerceOrderController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceOrderController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\n\nimport { TaonECommerceOrderItemApiService } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommerceOrderItemEntity } from '../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\n\ninterface DashboardSummary {\n paidOrders: number;\n productsSold: number;\n earnings: Array<{ currency: string; total: number }>;\n}\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-dashboard',\n templateUrl: './taon-e-commerce-backoffice-dashboard.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [TaonECommerceOrderApiService, TaonECommerceOrderItemApiService],\n})\nexport class TaonECommerceBackofficeDashboardComponent {\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly orderItemApi = inject(TaonECommerceOrderItemApiService);\n\n readonly summary = signal<DashboardSummary | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.summary.set(null);\n\n try {\n const [ordersResponse, itemsResponse] = await Promise.all([\n this.orderApi.taonECommerceOrderController.getAll().request!(),\n this.orderItemApi.taonECommerceOrderItemController.getAll().request!(),\n ]);\n if (ordersResponse.statusCode >= 400 || itemsResponse.statusCode >= 400) {\n throw new Error(\n ordersResponse.responseText ||\n itemsResponse.responseText ||\n 'Unable to load e-commerce summary data.',\n );\n }\n\n const orders = ordersResponse.body?.json;\n const items = itemsResponse.body?.json;\n if (!Array.isArray(orders) || !Array.isArray(items)) {\n throw new Error('The e-commerce summary response was invalid.');\n }\n\n const paidOrders = (orders as TaonECommerceOrderEntity[]).filter(\n order => order.status === 'paid',\n );\n const paidOrderIds = new Set(paidOrders.map(order => order.id));\n const productsSold = (items as TaonECommerceOrderItemEntity[])\n .filter(item => paidOrderIds.has(item.orderId))\n .reduce((count, item) => count + item.quantity, 0);\n const earningsByCurrency = new Map<string, number>();\n\n for (const order of paidOrders) {\n const currency = order.currency.toUpperCase();\n const total = Number(order.total);\n if (!Number.isFinite(total)) {\n throw new Error(`Order ${order.id} has an invalid total.`);\n }\n earningsByCurrency.set(\n currency,\n (earningsByCurrency.get(currency) ?? 0) + total,\n );\n }\n\n this.summary.set({\n paidOrders: paidOrders.length,\n productsSold,\n earnings: [...earningsByCurrency].map(([currency, total]) => ({\n currency,\n total,\n })),\n });\n } catch (error) {\n console.error(\n '[taon-e-commerce-dashboard] Unable to load summary',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load e-commerce summary data.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<h1>E-commerce Dashboard</h1>\n\n@if (loading()) {\n <p role=\"status\">Loading e-commerce summary...</p>\n} @else if (summary(); as stats) {\n <section\n class=\"summary-cards\"\n aria-label=\"E-commerce summary\">\n <article>\n <h2>Paid orders</h2>\n <p>{{ stats.paidOrders }}</p>\n </article>\n <article>\n <h2>Products sold</h2>\n <p>{{ stats.productsSold }}</p>\n </article>\n <article>\n <h2>Total earnings</h2>\n @for (earning of stats.earnings; track earning.currency) {\n <p>{{ earning.total.toFixed(2) }} {{ earning.currency }}</p>\n } @empty {\n <p>0.00</p>\n }\n </article>\n </section>\n}\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceBackofficeDashboardRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-dashboard.component').then(m => m.TaonECommerceBackofficeDashboardComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeDashboardRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeDashboardRoutes;","import { Injectable } from '@angular/core';\nimport { TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceBackofficeSettingsController } from './taon-e-commerce-backoffice-settings.controller';\n\n@Injectable()\nexport class TaonECommerceBackofficeSettingsApiService extends TaonBaseAngularService {\n private readonly controller = this.injectController(\n TaonECommerceBackofficeSettingsController,\n );\n\n async getSellingEnabled(): Promise<boolean> {\n const response = await this.controller.getSellingEnabled().request!();\n const enabled = response.body?.json;\n\n if (response.statusCode >= 400 || typeof enabled !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to load the selling setting.',\n );\n }\n\n return enabled;\n }\n\n async setSellingEnabled(enabled: boolean): Promise<boolean> {\n const response =\n await this.controller.setSellingEnabled(enabled).request!();\n const saved = response.body?.json;\n\n if (response.statusCode >= 400 || typeof saved !== 'boolean') {\n throw new Error(\n response.responseText || 'Unable to update the selling setting.',\n );\n }\n\n return saved;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { TaonECommerceBackofficeSettingsApiService } from './taon-e-commerce-backoffice-settings.api.service';\n\n@Component({\n selector: 'app-taon-e-commerce-backoffice-settings',\n templateUrl: './taon-e-commerce-backoffice-settings.component.html',\n styleUrls: ['./taon-e-commerce-backoffice-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule],\n providers: [TaonECommerceBackofficeSettingsApiService],\n})\nexport class TaonECommerceBackofficeSettingsComponent {\n private readonly api = inject(TaonECommerceBackofficeSettingsApiService);\n\n readonly sellingEnabled = signal<boolean | null>(null);\n\n readonly loading = signal(true);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n\n try {\n this.sellingEnabled.set(await this.api.getSellingEnabled());\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to load the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load the selling setting.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n async toggleSelling(): Promise<void> {\n const current = this.sellingEnabled();\n if (current === null || this.saving()) {\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n try {\n this.sellingEnabled.set(await this.api.setSellingEnabled(!current));\n } catch (error) {\n console.error(\n '[taon-e-commerce-settings] Unable to update the selling setting',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to update the selling setting.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h1>E-commerce Settings</h1>\n\n<section\n class=\"setting\"\n aria-labelledby=\"selling-setting\">\n <div>\n <h2 id=\"selling-setting\">Selling enabled</h2>\n @if (sellingEnabled() === false) {\n <p>Checkout and purchasing are paused.</p>\n } @else if (sellingEnabled() === true) {\n <p>Customers can purchase products.</p>\n }\n </div>\n\n @if (loading()) {\n <p role=\"status\">Loading setting...</p>\n } @else if (sellingEnabled() !== null) {\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"toggleSelling()\">\n @if (saving()) {\n Saving...\n } @else if (sellingEnabled()) {\n Disable selling\n } @else {\n Enable selling\n }\n </button>\n }\n</section>\n\n@if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n}\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceBackofficeSettingsRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-backoffice-settings.component').then(\n m => m.TaonECommerceBackofficeSettingsComponent,\n ),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceBackofficeSettingsRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceBackofficeSettingsRoutes;\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartController } from './taon-e-commerce-cart.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartApiService extends TaonBaseAngularService {\n private taonECommerceCartController = this.injectController(TaonECommerceCartController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartEntity[]> {\n return this.taonECommerceCartController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartConfigService extends TaonBaseAngularService {\n private taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartProvider.enabledTaonECommerceCartOption;\n }\n}","import type { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts', {\"src/lib/taon-e-commerce-cart/taon-e-commerce-cart.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartEntity>;\n\nexport enum TaonECommerceCartErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartTranslationErorsMap = new Map([\n [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartKvRepository',\n})\nexport class TaonECommerceCartKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartMiddleware',\n})\nexport class TaonECommerceCartMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartModels {\n export enum TaonECommerceCartState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartEntity } from './taon-e-commerce-cart.entity';\nimport { TaonECommerceCartProvider } from './taon-e-commerce-cart.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartSubscriber>({\n className: 'TaonECommerceCartSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartProvider = this.injectProvider(TaonECommerceCartProvider);\n listenTo(): typeof TaonECommerceCartEntity {\n return TaonECommerceCartEntity;\n }\n}","import { TaonECommerceCartModels } from './taon-e-commerce-cart.models';\n\nexport namespace TaonECommerceCartUtils {\n export function isActive(state: string): state is TaonECommerceCartModels.TaonECommerceCartState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartErrors } from './taon-e-commerce-cart.constants';\n\nexport namespace TaonECommerceCartValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemController } from './taon-e-commerce-cart-item.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemApiService extends TaonBaseAngularService {\n private taonECommerceCartItemController = this.injectController(TaonECommerceCartItemController);\n\n public get allMyEntities$(): Observable<TaonECommerceCartItemEntity[]> {\n return this.taonECommerceCartItemController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCartItemController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCartItemConfigService extends TaonBaseAngularService {\n private taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceCartItemProvider.enabledTaonECommerceCartItemOption;\n }\n}","import type { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts', {\"src/lib/taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCartItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCartItemEntity>;\n\nexport enum TaonECommerceCartItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCartItemTranslationErorsMap = new Map([\n [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCartItemKvRepository',\n})\nexport class TaonECommerceCartItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCartItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCartItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCartItemMiddleware',\n})\nexport class TaonECommerceCartItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCartItemModels {\n export enum TaonECommerceCartItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCartItemEntity } from './taon-e-commerce-cart-item.entity';\nimport { TaonECommerceCartItemProvider } from './taon-e-commerce-cart-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCartItemSubscriber>({\n className: 'TaonECommerceCartItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCartItemSubscriber extends TaonBaseSubscriberForEntity {\n taonECommerceCartItemProvider = this.injectProvider(TaonECommerceCartItemProvider);\n listenTo(): typeof TaonECommerceCartItemEntity {\n return TaonECommerceCartItemEntity;\n }\n}","import { TaonECommerceCartItemModels } from './taon-e-commerce-cart-item.models';\n\nexport namespace TaonECommerceCartItemUtils {\n export function isActive(state: string): state is TaonECommerceCartItemModels.TaonECommerceCartItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCartItemErrors } from './taon-e-commerce-cart-item.constants';\n\nexport namespace TaonECommerceCartItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCartItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressController } from './taon-e-commerce-customer-address.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressApiService extends TaonBaseAngularService {\n public readonly taonECommerceCustomerAddressController = this.injectController(TaonECommerceCustomerAddressController);\n\n public get allMyEntities$(): Observable<TaonECommerceCustomerAddressEntity[]> {\n return this.taonECommerceCustomerAddressController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceCustomerAddressController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceCustomerAddressConfigService extends TaonBaseAngularService {\n private taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n\n get isEnableOption() {\n return this.taonECommerceCustomerAddressProvider.enabledTaonECommerceCustomerAddressOption;\n }\n\n clone(): Partial<TaonECommerceCustomerAddressProvider> {\n const cloned = this.taonECommerceCustomerAddressProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts', {\"src/lib/taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceCustomerAddressDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceCustomerAddressEntity>;\n\nexport enum TaonECommerceCustomerAddressErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceCustomerAddressTranslationErorsMap = new Map([\n [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceCustomerAddressKvRepository',\n})\nexport class TaonECommerceCustomerAddressKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceCustomerAddressEntity[];\n}> {\n async notifyUsers(users: TaonECommerceCustomerAddressEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceCustomerAddressMiddleware',\n})\nexport class TaonECommerceCustomerAddressMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceCustomerAddressModels {\n export enum TaonECommerceCustomerAddressState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceCustomerAddressEntity } from './taon-e-commerce-customer-address.entity';\nimport { TaonECommerceCustomerAddressProvider } from './taon-e-commerce-customer-address.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceCustomerAddressSubscriber>({\n className: 'TaonECommerceCustomerAddressSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceCustomerAddressSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceCustomerAddressProvider = this.injectProvider(TaonECommerceCustomerAddressProvider);\n listenTo(): typeof TaonECommerceCustomerAddressEntity {\n return TaonECommerceCustomerAddressEntity;\n }\n}","import { TaonECommerceCustomerAddressModels } from './taon-e-commerce-customer-address.models';\n\nexport namespace TaonECommerceCustomerAddressUtils {\n export function isActive(state: string): state is TaonECommerceCustomerAddressModels.TaonECommerceCustomerAddressState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceCustomerAddressErrors } from './taon-e-commerce-customer-address.constants';\n\nexport namespace TaonECommerceCustomerAddressValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceCustomerAddressErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderConfigService extends TaonBaseAngularService {\n private taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderProvider.enabledTaonECommerceOrderOption;\n }\n\n clone(): Partial<TaonECommerceOrderProvider> {\n const cloned = this.taonECommerceOrderProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts', {\"src/lib/taon-e-commerce-order/taon-e-commerce-order.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderEntity>;\n\nexport enum TaonECommerceOrderErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderTranslationErorsMap = new Map([\n [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderKvRepository',\n})\nexport class TaonECommerceOrderKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderMiddleware',\n})\nexport class TaonECommerceOrderMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderModels {\n export enum TaonECommerceOrderState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderEntity } from './taon-e-commerce-order.entity';\nimport { TaonECommerceOrderProvider } from './taon-e-commerce-order.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderSubscriber>({\n className: 'TaonECommerceOrderSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderProvider = this.injectProvider(TaonECommerceOrderProvider);\n listenTo(): typeof TaonECommerceOrderEntity {\n return TaonECommerceOrderEntity;\n }\n}","import { TaonECommerceOrderModels } from './taon-e-commerce-order.models';\n\nexport namespace TaonECommerceOrderUtils {\n export function isActive(state: string): state is TaonECommerceOrderModels.TaonECommerceOrderState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderErrors } from './taon-e-commerce-order.constants';\n\nexport namespace TaonECommerceOrderValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceOrderItemConfigService extends TaonBaseAngularService {\n private taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n\n get isEnableOption() {\n return this.taonECommerceOrderItemProvider.enabledTaonECommerceOrderItemOption;\n }\n\n clone(): Partial<TaonECommerceOrderItemProvider> {\n const cloned = this.taonECommerceOrderItemProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts', {\"src/lib/taon-e-commerce-order-item/taon-e-commerce-order-item.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceOrderItemDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceOrderItemEntity>;\n\nexport enum TaonECommerceOrderItemErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceOrderItemTranslationErorsMap = new Map([\n [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceOrderItemKvRepository',\n})\nexport class TaonECommerceOrderItemKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceOrderItemEntity[];\n}> {\n async notifyUsers(users: TaonECommerceOrderItemEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceOrderItemMiddleware',\n})\nexport class TaonECommerceOrderItemMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceOrderItemModels {\n export enum TaonECommerceOrderItemState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceOrderItemEntity } from './taon-e-commerce-order-item.entity';\nimport { TaonECommerceOrderItemProvider } from './taon-e-commerce-order-item.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceOrderItemSubscriber>({\n className: 'TaonECommerceOrderItemSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceOrderItemSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceOrderItemProvider = this.injectProvider(TaonECommerceOrderItemProvider);\n listenTo(): typeof TaonECommerceOrderItemEntity {\n return TaonECommerceOrderItemEntity;\n }\n}","import { TaonECommerceOrderItemModels } from './taon-e-commerce-order-item.models';\n\nexport namespace TaonECommerceOrderItemUtils {\n export function isActive(state: string): state is TaonECommerceOrderItemModels.TaonECommerceOrderItemState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceOrderItemErrors } from './taon-e-commerce-order-item.constants';\n\nexport namespace TaonECommerceOrderItemValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceOrderItemErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionController } from './taon-e-commerce-payment-transaction.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionApiService extends TaonBaseAngularService {\n public readonly taonECommercePaymentTransactionController = this.injectController(TaonECommercePaymentTransactionController);\n\n public get allMyEntities$(): Observable<TaonECommercePaymentTransactionEntity[]> {\n return this.taonECommercePaymentTransactionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommercePaymentTransactionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommercePaymentTransactionConfigService extends TaonBaseAngularService {\n private taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n\n get isEnableOption() {\n return this.taonECommercePaymentTransactionProvider.enabledTaonECommercePaymentTransactionOption;\n }\n\n clone(): Partial<TaonECommercePaymentTransactionProvider> {\n const cloned = this.taonECommercePaymentTransactionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts', {\"src/lib/taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommercePaymentTransactionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommercePaymentTransactionEntity>;\n\nexport enum TaonECommercePaymentTransactionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommercePaymentTransactionTranslationErorsMap = new Map([\n [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommercePaymentTransactionKvRepository',\n})\nexport class TaonECommercePaymentTransactionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommercePaymentTransactionEntity[];\n}> {\n async notifyUsers(users: TaonECommercePaymentTransactionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommercePaymentTransactionMiddleware',\n})\nexport class TaonECommercePaymentTransactionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommercePaymentTransactionModels {\n export enum TaonECommercePaymentTransactionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommercePaymentTransactionEntity } from './taon-e-commerce-payment-transaction.entity';\nimport { TaonECommercePaymentTransactionProvider } from './taon-e-commerce-payment-transaction.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommercePaymentTransactionSubscriber>({\n className: 'TaonECommercePaymentTransactionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommercePaymentTransactionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommercePaymentTransactionProvider = this.injectProvider(TaonECommercePaymentTransactionProvider);\n listenTo(): typeof TaonECommercePaymentTransactionEntity {\n return TaonECommercePaymentTransactionEntity;\n }\n}","import { TaonECommercePaymentTransactionModels } from './taon-e-commerce-payment-transaction.models';\n\nexport namespace TaonECommercePaymentTransactionUtils {\n export function isActive(state: string): state is TaonECommercePaymentTransactionModels.TaonECommercePaymentTransactionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommercePaymentTransactionErrors } from './taon-e-commerce-payment-transaction.constants';\n\nexport namespace TaonECommercePaymentTransactionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommercePaymentTransactionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionController } from './taon-e-commerce-product-permission.controller';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductPermissionController = this.injectController(TaonECommerceProductPermissionController);\n\n public get allMyEntities$(): Observable<TaonECommerceProductPermissionEntity[]> {\n return this.taonECommerceProductPermissionController.getAll().request!().observable.pipe(\n map(res => res.body?.json),\n );\n }\n\n public helloWorld(user: string): Observable<string> {\n return this.taonECommerceProductPermissionController.helloWord(user).request!().observable.pipe(\n map(res => res.responseText as string),\n );\n }\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport type { TaonCartConfig } from '../index';\n\nimport { TaonECommerceProductController } from './taon-e-commerce-product.controller';\nimport type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductApiService extends TaonBaseAngularService {\n public readonly taonECommerceProductController = this.injectController(\n TaonECommerceProductController,\n );\n\n public getAllProductForUser(): Observable<TaonCartConfig> {\n return this.taonECommerceProductController.getAll()\n .request!().observable.pipe(\n map(res => res.body.json),\n map(c => ({\n suggestedProducts: c,\n })),\n );\n }\n\n public async syncWithStripe(): Promise<void> {\n const response =\n await this.taonECommerceProductController.syncWithStripe().request!();\n\n if (response.statusCode >= 400) {\n throw new Error(\n response.responseText ||\n 'Stripe synchronization is not configured for this project.',\n );\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n MAT_DIALOG_DATA,\n MatDialogModule,\n MatDialogRef,\n} from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TaonPermissionApiService } from '@taon-dev/session/browser';\nimport type { TaonPermissionEntity } from '@taon-dev/session/browser';\n\nimport { TaonECommerceProductPermissionApiService } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service';\nimport { TaonECommerceProductPermissionEntity } from '../taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductApiService } from './taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n\nexport interface TaonECommerceProductEditDialogData {\n product?: TaonECommerceProductEntity;\n}\n\ntype ProductType = TaonECommerceProductEntity['type'];\ntype ProductCurrency = 'PLN' | 'EUR' | 'USD';\n\ninterface ProductDraft {\n name: string;\n description: string;\n active: boolean;\n type: ProductType;\n price: number | null;\n currency: ProductCurrency;\n}\n\n@Component({\n selector: 'taon-e-commerce-product-edit-dialog',\n templateUrl: './taon-e-commerce-product-edit-dialog.component.html',\n styleUrls: ['./taon-e-commerce-product-edit-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n MatButtonModule,\n MatCheckboxModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatSelectModule,\n ],\n providers: [\n TaonECommerceProductApiService,\n TaonECommerceProductPermissionApiService,\n TaonPermissionApiService,\n ],\n})\nexport class TaonECommerceProductEditDialogComponent {\n readonly data = inject<TaonECommerceProductEditDialogData>(MAT_DIALOG_DATA);\n\n readonly dialogRef = inject(\n MatDialogRef<TaonECommerceProductEditDialogComponent>,\n );\n\n private readonly productApi = inject(TaonECommerceProductApiService);\n\n private readonly productPermissionApi = inject(\n TaonECommerceProductPermissionApiService,\n );\n\n private readonly permissionApi = inject(TaonPermissionApiService);\n\n readonly productTypes: ProductType[] = ['digital', 'physical', 'service'];\n readonly currencies: ProductCurrency[] = ['PLN', 'EUR', 'USD'];\n private readonly initialCurrency =\n this.currencies.find(\n currency => currency === this.data.product?.currency,\n ) ?? 'USD';\n\n readonly draft = signal<ProductDraft>({\n name: this.data.product?.name ?? '',\n description: this.data.product?.description ?? '',\n active: this.data.product?.active ?? true,\n type: this.data.product?.type ?? ('digital' as ProductType),\n price: this.data.product?.price ?? 0,\n currency: this.initialCurrency,\n });\n\n readonly permissions = signal<TaonPermissionEntity[]>([]);\n\n readonly selectedPermissionIds = signal<number[]>([]);\n\n readonly loading = signal(true);\n\n readonly permissionsLoaded = signal(false);\n\n readonly saving = signal(false);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n this.loading.set(true);\n this.error.set('');\n this.permissionsLoaded.set(false);\n\n try {\n const [permissionsResponse, linksResponse] = await Promise.all([\n this.permissionApi.taonPermissionController.getAll().request!(),\n this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!(),\n ]);\n\n if (\n permissionsResponse.statusCode >= 400 ||\n linksResponse.statusCode >= 400\n ) {\n throw new Error(\n permissionsResponse.responseText ||\n linksResponse.responseText ||\n 'Unable to load product permissions.',\n );\n }\n\n const permissionRows = permissionsResponse.body?.json;\n const productPermissionRows = linksResponse.body?.json;\n if (\n !Array.isArray(permissionRows) ||\n !Array.isArray(productPermissionRows)\n ) {\n throw new Error('The permissions response was invalid.');\n }\n\n this.permissions.set(permissionRows);\n this.permissionsLoaded.set(true);\n const productId = this.data.product?.id;\n this.selectedPermissionIds.set(\n typeof productId === 'number'\n ? (productPermissionRows as TaonECommerceProductPermissionEntity[])\n .filter(link => link.productId === productId)\n .map(link => link.permissionId)\n : [],\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to load permissions',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load product permissions.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n\n updateType(type: ProductType): void {\n this.draft.update(draft => ({ ...draft, type }));\n }\n\n updatePrice(price: number | null): void {\n this.draft.update(draft => ({ ...draft, price }));\n }\n\n updateName(name: string): void {\n this.draft.update(draft => ({ ...draft, name }));\n }\n\n updateDescription(description: string): void {\n this.draft.update(draft => ({ ...draft, description }));\n }\n\n updateActive(active: boolean): void {\n this.draft.update(draft => ({ ...draft, active }));\n }\n\n updateCurrency(currency: ProductCurrency): void {\n this.draft.update(draft => ({ ...draft, currency }));\n }\n\n async save(): Promise<void> {\n if (this.saving() || this.loading() || !this.permissionsLoaded()) {\n return;\n }\n\n const draft = this.draft();\n if (\n !draft.name.trim() ||\n !this.currencies.includes(draft.currency) ||\n draft.price === null ||\n !Number.isFinite(draft.price) ||\n draft.price < 0\n ) {\n this.error.set(\n 'Enter a name, a supported currency, and a non-negative price.',\n );\n return;\n }\n\n this.saving.set(true);\n this.error.set('');\n\n try {\n const product = Object.assign(new TaonECommerceProductEntity(), {\n ...this.data.product,\n name: draft.name.trim(),\n description: draft.description.trim() || null,\n active: draft.active,\n type: draft.type,\n price: draft.price,\n currency: draft.currency,\n });\n const productResponse = this.data.product\n ? await this.productApi.taonECommerceProductController.updateById(\n this.data.product.id!,\n product,\n ).request!()\n : await this.productApi.taonECommerceProductController.save(product)\n .request!();\n\n if (productResponse.statusCode >= 400) {\n throw new Error(\n productResponse.responseText || 'Unable to save the product.',\n );\n }\n const savedProduct = productResponse.body?.json;\n if (!savedProduct || typeof savedProduct.id !== 'number') {\n throw new Error('The saved product response was invalid.');\n }\n this.data.product = savedProduct;\n\n const linksResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.getAll()\n .request!();\n if (\n linksResponse.statusCode >= 400 ||\n !Array.isArray(linksResponse.body?.json)\n ) {\n throw new Error(\n linksResponse.responseText ||\n 'Unable to update the product permissions.',\n );\n }\n\n const existingLinks = (\n linksResponse.body.json as TaonECommerceProductPermissionEntity[]\n ).filter(link => link.productId === savedProduct.id);\n const selectedIds = new Set(this.selectedPermissionIds());\n for (const link of existingLinks) {\n if (!selectedIds.has(link.permissionId)) {\n const deleteResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.deleteById(\n link.id!,\n ).request!();\n if (deleteResponse.statusCode >= 400) {\n throw new Error(\n deleteResponse.responseText ||\n 'Unable to remove a product permission.',\n );\n }\n }\n }\n\n const existingIds = new Set(existingLinks.map(link => link.permissionId));\n for (const permissionId of selectedIds) {\n if (!existingIds.has(permissionId)) {\n const link = Object.assign(\n new TaonECommerceProductPermissionEntity(),\n {\n productId: savedProduct.id,\n permissionId,\n },\n );\n const saveResponse =\n await this.productPermissionApi.taonECommerceProductPermissionController.save(\n link,\n ).request!();\n if (saveResponse.statusCode >= 400) {\n throw new Error(\n saveResponse.responseText ||\n 'Unable to attach a permission to the product.',\n );\n }\n }\n }\n\n this.dialogRef.close(savedProduct);\n } catch (error) {\n console.error(\n '[taon-e-commerce-product-edit] Unable to save product',\n error,\n );\n this.error.set(\n error instanceof Error ? error.message : 'Unable to save the product.',\n );\n } finally {\n this.saving.set(false);\n }\n }\n}\n","<h2 mat-dialog-title>{{ data.product ? 'Edit product' : 'Add product' }}</h2>\n<br>\n<mat-dialog-content>\n @if (loading()) {\n <p role=\"status\">Loading permissions...</p>\n } @else {\n <form class=\"product-form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Name</mat-label>\n <input\n matInput\n required\n [ngModel]=\"draft().name\"\n (ngModelChange)=\"updateName($event)\"\n name=\"name\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Description</mat-label>\n <textarea\n matInput\n rows=\"4\"\n [ngModel]=\"draft().description\"\n (ngModelChange)=\"updateDescription($event)\"\n name=\"description\"></textarea>\n </mat-form-field>\n\n <mat-checkbox\n [checked]=\"draft().active\"\n (change)=\"updateActive($event.checked)\"\n >Active</mat-checkbox\n >\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Type</mat-label>\n <mat-select\n [value]=\"draft().type\"\n (selectionChange)=\"updateType($event.value)\">\n @for (type of productTypes; track type) {\n <mat-option [value]=\"type\">{{ type }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n\n <div class=\"price-fields\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Price</mat-label>\n <input\n matInput\n type=\"number\"\n min=\"0\"\n step=\"0.01\"\n [ngModel]=\"draft().price\"\n (ngModelChange)=\"updatePrice($event)\"\n name=\"price\" />\n </mat-form-field>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Currency</mat-label>\n <mat-select\n [value]=\"draft().currency\"\n (selectionChange)=\"updateCurrency($event.value)\">\n @for (currency of currencies; track currency) {\n <mat-option [value]=\"currency\">{{ currency }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n\n <mat-form-field appearance=\"outline\">\n <mat-label>Attached permissions</mat-label>\n <mat-select\n multiple\n [value]=\"selectedPermissionIds()\"\n (selectionChange)=\"selectedPermissionIds.set($event.value)\">\n @for (permission of permissions(); track permission.id) {\n <mat-option [value]=\"permission.id\"\n >{{ permission.name }} ({{ permission.code }})</mat-option\n >\n }\n </mat-select>\n </mat-form-field>\n\n @if (data.product) {\n <section\n class=\"stripe-info\"\n aria-label=\"Stripe synchronization information\">\n <h3>Stripe synchronization</h3>\n <p>\n Stripe Product ID:\n {{ data.product.stripeProductId || 'Not synchronized' }}\n </p>\n <p>\n Stripe Price ID:\n {{ data.product.stripePriceId || 'Not synchronized' }}\n </p>\n <p>\n Last synchronized: {{ data.product.stripeLastSyncedAt || 'Never' }}\n </p>\n </section>\n }\n </form>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n @if (!permissionsLoaded() && !loading()) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry loading permissions\n </button>\n }\n }\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving()\"\n (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"loading() || saving() || !permissionsLoaded()\"\n (click)=\"save()\">\n {{ saving() ? 'Saving...' : 'Save' }}\n </button>\n</mat-dialog-actions>\n","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductConfigService extends TaonBaseAngularService {\n private taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductProvider.enabledTaonECommerceProductOption;\n }\n\n clone(): Partial<TaonECommerceProductProvider> {\n const cloned = this.taonECommerceProductProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts', {\"src/lib/taon-e-commerce-product/taon-e-commerce-product.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductEntity>;\n\nexport enum TaonECommerceProductErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductTranslationErorsMap = new Map([\n [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductKvRepository',\n})\nexport class TaonECommerceProductKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductMiddleware',\n})\nexport class TaonECommerceProductMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductModels {\n export enum TaonECommerceProductState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductEntity } from './taon-e-commerce-product.entity';\nimport { TaonECommerceProductProvider } from './taon-e-commerce-product.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductSubscriber>({\n className: 'TaonECommerceProductSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductProvider = this.injectProvider(TaonECommerceProductProvider);\n listenTo(): typeof TaonECommerceProductEntity {\n return TaonECommerceProductEntity;\n }\n}","import { TaonECommerceProductModels } from './taon-e-commerce-product.models';\n\nexport namespace TaonECommerceProductUtils {\n export function isActive(state: string): state is TaonECommerceProductModels.TaonECommerceProductState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductErrors } from './taon-e-commerce-product.constants';\n\nexport namespace TaonECommerceProductValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","//#region imports\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { Taon, TaonBaseAngularService } from 'taon/browser';\n\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@Injectable()\nexport class TaonECommerceProductPermissionConfigService extends TaonBaseAngularService {\n private taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n\n get isEnableOption() {\n return this.taonECommerceProductPermissionProvider.enabledTaonECommerceProductPermissionOption;\n }\n\n clone(): Partial<TaonECommerceProductPermissionProvider> {\n const cloned = this.taonECommerceProductPermissionProvider.clone();\n return cloned;\n }\n}","import type { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { Translation } from '@taon-dev/i18n/browser';\nimport { Taon } from 'taon/browser';\n\nconst t = Translation.for('src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts', {\"src/lib/taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants.ts\":{\"en-US\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data')).default}} as any);\n\nexport const TaonECommerceProductPermissionDefaultsValues = {\n description: '',\n version: 0,\n id: void 0,\n} as Partial<TaonECommerceProductPermissionEntity>;\n\nexport enum TaonECommerceProductPermissionErrors {\n INVALID_PASSWORD_EXAMPLE_ERROR = 'INVALID_PASSWORD_EXAMPLE_ERROR',\n}\n\nexport const TaonECommerceProductPermissionTranslationErorsMap = new Map([\n [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],\n]);","//#region imports\nimport {\n TaonBaseRepository,\n TaonBaseKvRepository,\n TaonRepository,\n} from 'taon/browser';\n\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\n//#endregion\n\n@TaonRepository({\n className: 'TaonECommerceProductPermissionKvRepository',\n})\nexport class TaonECommerceProductPermissionKvRepository extends TaonBaseKvRepository<{\n usersToNotify: TaonECommerceProductPermissionEntity[];\n}> {\n async notifyUsers(users: TaonECommerceProductPermissionEntity[]) {\n this.set('usersToNotify', users);\n }\n}","//#region imports\nimport { Taon, TaonBaseMiddleware, TaonMiddleware } from 'taon/browser';\nimport { _ } from 'tnp-core/browser';\n//#endregion\n\n@TaonMiddleware({\n className: 'TaonECommerceProductPermissionMiddleware',\n})\nexport class TaonECommerceProductPermissionMiddleware extends TaonBaseMiddleware {}","export namespace TaonECommerceProductPermissionModels {\n export enum TaonECommerceProductPermissionState {\n Active = 'active',\n Inactive = 'inactive',\n }\n}","//#region imports\nimport { TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser';\nimport { TaonECommerceProductPermissionEntity } from './taon-e-commerce-product-permission.entity';\nimport { TaonECommerceProductPermissionProvider } from './taon-e-commerce-product-permission.provider';\n//#endregion\n\n@TaonSubscriber<TaonECommerceProductPermissionSubscriber>({\n className: 'TaonECommerceProductPermissionSubscriber',\n // allowedEvents: ['afterUpdate'],\n})\nexport class TaonECommerceProductPermissionSubscriber extends TaonBaseSubscriberForEntity {\n private readonly taonECommerceProductPermissionProvider = this.injectProvider(TaonECommerceProductPermissionProvider);\n listenTo(): typeof TaonECommerceProductPermissionEntity {\n return TaonECommerceProductPermissionEntity;\n }\n}","import { TaonECommerceProductPermissionModels } from './taon-e-commerce-product-permission.models';\n\nexport namespace TaonECommerceProductPermissionUtils {\n export function isActive(state: string): state is TaonECommerceProductPermissionModels.TaonECommerceProductPermissionState {\n return state === 'active';\n }\n}","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; // @browser\nimport { TaonECommerceProductPermissionErrors } from './taon-e-commerce-product-permission.constants';\n\nexport namespace TaonECommerceProductPermissionValidators {\n //#region @browser\n /**\n * TODO REMOVE THIS EXAMPLE.\n */\n export const passwordMatchValidator: ValidatorFn = (\n control: AbstractControl,\n ): ValidationErrors | null => {\n const password = control.get('password');\n const passwordRepeat = control.get('passwordRepeat');\n\n if (!password || !passwordRepeat) {\n return null;\n }\n\n return password.value === passwordRepeat.value\n ? null\n : { [TaonECommerceProductPermissionErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };\n };\n //#endregion\n\n}","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs } from './taon-e-commerce-cart.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartTaonECommerceCartConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs } from './taon-e-commerce-cart-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCartItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCartItemTaonECommerceCartItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs } from './taon-e-commerce-customer-address.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceCustomerAddressOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceCustomerAddressTaonECommerceCustomerAddressConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs } from './taon-e-commerce-order.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderTaonECommerceOrderConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderItemApiService } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.api.service';\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommercePaymentTransactionApiService } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\nimport type { TaonECommerceOrderItemEntity } from '../../taon-e-commerce-order-item/taon-e-commerce-order-item.entity';\nimport type { TaonECommercePaymentTransactionEntity } from '../../taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-order-details-backoffice',\n templateUrl: './taon-e-commerce-order-details-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-order-details-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommerceOrderApiService,\n TaonECommerceOrderItemApiService,\n TaonECommercePaymentTransactionApiService,\n ],\n})\nexport class TaonECommerceOrderDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n private readonly itemApi = inject(TaonECommerceOrderItemApiService);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly items = signal<TaonECommerceOrderItemEntity[]>([]);\n\n readonly transactions = signal<TaonECommercePaymentTransactionEntity[]>([]);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The order ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const [orderResponse, itemsResponse, transactionsResponse] =\n await Promise.all([\n this.orderApi.taonECommerceOrderController.getBy(id).request!(),\n this.itemApi.taonECommerceOrderItemController.getAll().request!(),\n this.transactionApi.taonECommercePaymentTransactionController.getAll()\n .request!(),\n ]);\n if (\n orderResponse.statusCode >= 400 ||\n itemsResponse.statusCode >= 400 ||\n transactionsResponse.statusCode >= 400\n ) {\n throw new Error(\n orderResponse.responseText ||\n itemsResponse.responseText ||\n transactionsResponse.responseText ||\n 'Unable to load order details.',\n );\n }\n\n const order = orderResponse.body?.json;\n const items = itemsResponse.body?.json;\n const transactions = transactionsResponse.body?.json;\n if (!order || !Array.isArray(items) || !Array.isArray(transactions)) {\n throw new Error('The order details response was invalid.');\n }\n\n this.order.set(order);\n this.items.set(\n (items as TaonECommerceOrderItemEntity[]).filter(\n item => item.orderId === id,\n ),\n );\n this.transactions.set(\n (transactions as TaonECommercePaymentTransactionEntity[]).filter(\n transaction => transaction.orderId === id,\n ),\n );\n } catch (error) {\n console.error(\n '[taon-e-commerce-order-details] Unable to load order',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load order details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"order-details\">\n <h2>Order details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading order...</p>\n } @else if (order(); as currentOrder) {\n <dl class=\"order-info\">\n <dt>Order ID</dt>\n <dd>{{ currentOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ currentOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentOrder.status }}</dd>\n <dt>Created</dt>\n <dd>{{ currentOrder.createdAt }}</dd>\n <dt>Subtotal</dt>\n <dd>{{ currentOrder.subtotal }} {{ currentOrder.currency }}</dd>\n <dt>Total</dt>\n <dd>{{ currentOrder.total }} {{ currentOrder.currency }}</dd>\n </dl>\n\n <h3>Items</h3>\n <table>\n <thead>\n <tr>\n <th>Product</th>\n <th>Quantity</th>\n <th>Unit price</th>\n <th>Total</th>\n </tr>\n </thead>\n <tbody>\n @for (item of items(); track item.id) {\n <tr>\n <td>{{ item.productName }}</td>\n <td>{{ item.quantity }}</td>\n <td>{{ item.unitPrice }} {{ currentOrder.currency }}</td>\n <td>{{ item.totalPrice }} {{ currentOrder.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"4\">No items in this order.</td>\n </tr>\n }\n </tbody>\n </table>\n\n <h3>Payment transactions</h3>\n <table>\n <thead>\n <tr>\n <th>ID</th>\n <th>Provider</th>\n <th>Provider transaction</th>\n <th>Status</th>\n <th>Amount</th>\n </tr>\n </thead>\n <tbody>\n @for (transaction of transactions(); track transaction.id) {\n <tr>\n <td>{{ transaction.id }}</td>\n <td>{{ transaction.provider }}</td>\n <td>{{ transaction.providerTransactionId }}</td>\n <td>{{ transaction.status }}</td>\n <td>{{ transaction.amount }} {{ transaction.currency }}</td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"5\">No payment transactions.</td>\n </tr>\n }\n </tbody>\n </table>\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../taon-e-commerce-order.api.service';\nimport { TaonECommerceOrderEntity } from '../taon-e-commerce-order.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-orders-backoffice',\n templateUrl: './taon-e-commerce-orders-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-orders-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommerceOrderApiService],\n})\nexport class TaonECommerceOrdersBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommerceOrderApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'Order ID', field: 'id', sortable: true },\n { header: 'User', field: 'userId', sortable: true },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Total', field: 'total', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View order',\n click: (order: TaonECommerceOrderEntity) => this.openOrder(order),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openOrder(order: TaonECommerceOrderEntity): void {\n if (typeof order.id !== 'number') {\n return;\n }\n void this.router.navigate([order.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommerceOrderController;\n }\n}\n","<h1>Orders</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'userId',\n 'status',\n 'total',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommerceOrdersBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-orders-backoffice.component').then(\n m => m.TaonECommerceOrdersBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-order-details-backoffice.component').then(\n m => m.TaonECommerceOrderDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceOrdersBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceOrdersBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs } from './taon-e-commerce-order-item.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceOrderItemOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceOrderItemTaonECommerceOrderItemConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs } from './taon-e-commerce-payment-transaction.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommercePaymentTransactionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommercePaymentTransactionTaonECommercePaymentTransactionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { TaonECommerceOrderApiService } from '../../taon-e-commerce-order/taon-e-commerce-order.api.service';\nimport type { TaonECommerceOrderEntity } from '../../taon-e-commerce-order/taon-e-commerce-order.entity';\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport type { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'taon-e-commerce-payment-transaction-details-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transaction-details-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transaction-details-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n providers: [\n TaonECommercePaymentTransactionApiService,\n TaonECommerceOrderApiService,\n ],\n})\nexport class TaonECommercePaymentTransactionDetailsBackofficeComponent {\n private readonly route = inject(ActivatedRoute);\n\n private readonly transactionApi = inject(\n TaonECommercePaymentTransactionApiService,\n );\n\n private readonly orderApi = inject(TaonECommerceOrderApiService);\n\n readonly transaction = signal<TaonECommercePaymentTransactionEntity | null>(\n null,\n );\n\n readonly order = signal<TaonECommerceOrderEntity | null>(null);\n\n readonly loading = signal(true);\n\n readonly error = signal('');\n\n constructor() {\n void this.load();\n }\n\n async load(): Promise<void> {\n const id = Number(this.route.snapshot.paramMap.get('id'));\n if (!Number.isInteger(id) || id < 1) {\n this.loading.set(false);\n this.error.set('The transaction ID is invalid.');\n return;\n }\n\n this.loading.set(true);\n this.error.set('');\n try {\n const transactionResponse =\n await this.transactionApi.taonECommercePaymentTransactionController.getBy(\n id,\n ).request!();\n if (transactionResponse.statusCode >= 400) {\n throw new Error(\n transactionResponse.responseText ||\n 'Unable to load transaction details.',\n );\n }\n\n const transaction = transactionResponse.body?.json;\n if (!transaction || typeof transaction.orderId !== 'number') {\n throw new Error('The transaction details response was invalid.');\n }\n\n const orderResponse =\n await this.orderApi.taonECommerceOrderController.getBy(\n transaction.orderId,\n ).request!();\n if (orderResponse.statusCode >= 400 || !orderResponse.body?.json) {\n throw new Error(\n orderResponse.responseText || 'Unable to load the related order.',\n );\n }\n\n this.transaction.set(transaction);\n this.order.set(orderResponse.body.json);\n } catch (error) {\n console.error(\n '[taon-e-commerce-transaction-details] Unable to load transaction',\n error,\n );\n this.error.set(\n error instanceof Error\n ? error.message\n : 'Unable to load transaction details.',\n );\n } finally {\n this.loading.set(false);\n }\n }\n}\n","<section class=\"transaction-details\">\n <h2>Transaction details</h2>\n\n @if (loading()) {\n <p role=\"status\">Loading transaction...</p>\n } @else if (transaction(); as currentTransaction) {\n <dl>\n <dt>Transaction ID</dt>\n <dd>{{ currentTransaction.id }}</dd>\n <dt>Order ID</dt>\n <dd>{{ currentTransaction.orderId }}</dd>\n <dt>Provider</dt>\n <dd>{{ currentTransaction.provider }}</dd>\n <dt>Provider transaction ID</dt>\n <dd>{{ currentTransaction.providerTransactionId }}</dd>\n <dt>Status</dt>\n <dd>{{ currentTransaction.status }}</dd>\n <dt>Amount</dt>\n <dd>{{ currentTransaction.amount }} {{ currentTransaction.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ currentTransaction.createdAt }}</dd>\n </dl>\n\n @if (order(); as relatedOrder) {\n <h3>Related order</h3>\n <dl>\n <dt>Order ID</dt>\n <dd>{{ relatedOrder.id }}</dd>\n <dt>User</dt>\n <dd>#{{ relatedOrder.userId }}</dd>\n <dt>Status</dt>\n <dd>{{ relatedOrder.status }}</dd>\n <dt>Total</dt>\n <dd>{{ relatedOrder.total }} {{ relatedOrder.currency }}</dd>\n <dt>Created</dt>\n <dd>{{ relatedOrder.createdAt }}</dd>\n </dl>\n }\n }\n\n @if (error()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ error() }}\n </p>\n <button\n type=\"button\"\n (click)=\"load()\">\n Try again\n </button>\n }\n</section>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterOutlet } from '@angular/router';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommercePaymentTransactionApiService } from '../taon-e-commerce-payment-transaction.api.service';\nimport { TaonECommercePaymentTransactionEntity } from '../taon-e-commerce-payment-transaction.entity';\n\n@Component({\n selector: 'app-taon-e-commerce-payment-transactions-backoffice',\n templateUrl:\n './taon-e-commerce-payment-transactions-backoffice.component.html',\n styleUrls: [\n './taon-e-commerce-payment-transactions-backoffice.component.scss',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterOutlet, TaonDatatableComponent],\n providers: [TaonECommercePaymentTransactionApiService],\n})\nexport class TaonECommercePaymentTransactionsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n private readonly route = inject(ActivatedRoute);\n\n private readonly router = inject(Router);\n\n readonly api = inject(TaonECommercePaymentTransactionApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Order ID', field: 'orderId', sortable: true },\n { header: 'Provider', field: 'provider', sortable: true },\n {\n header: 'Provider transaction ID',\n field: 'providerTransactionId',\n sortable: true,\n },\n { header: 'Status', field: 'status', sortable: true },\n { header: 'Amount', field: 'amount', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Created', field: 'createdAt', sortable: true },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'open_in_new',\n tooltip: 'View transaction',\n click: (transaction: TaonECommercePaymentTransactionEntity) =>\n this.openTransaction(transaction),\n },\n ],\n },\n ];\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n openTransaction(transaction: TaonECommercePaymentTransactionEntity): void {\n if (typeof transaction.id !== 'number') {\n return;\n }\n void this.router.navigate([transaction.id], { relativeTo: this.route });\n }\n\n public get crud() {\n return this.api.taonECommercePaymentTransactionController;\n }\n}\n","<h1>Transactions</h1>\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [hideAddButton]=\"true\"\n [allowedColumns]=\"[\n 'id',\n 'orderId',\n 'provider',\n 'providerTransactionId',\n 'status',\n 'amount',\n 'currency',\n 'createdAt',\n ]\"\n searchMode=\"advanced\">\n</taon-datatable>\n<router-outlet></router-outlet>\n","//#region imports\nimport { Routes } from '@angular/router';\n//#endregion\n\nexport const TaonECommercePaymentTransactionsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transactions-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionsBackofficeComponent,\n ),\n\n children: [\n {\n path: ':id',\n loadComponent: () =>\n import('./taon-e-commerce-payment-transaction-details-backoffice.component').then(\n m => m.TaonECommercePaymentTransactionDetailsBackofficeComponent,\n ),\n },\n ],\n },\n];\n\n/**\n * By default exporting TaonECommercePaymentTransactionsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommercePaymentTransactionsBackofficeRoutes;\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs } from './taon-e-commerce-product.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductTaonECommerceProductConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n ChangeDetectionStrategy,\n Component,\n ViewChild,\n inject,\n signal,\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MtxGridColumn } from '@ng-matero/extensions/grid';\nimport { TaonDatatableComponent } from '@taon-dev/ui/browser';\n\nimport { TaonECommerceProductApiService } from '../taon-e-commerce-product.api.service';\nimport { TaonECommerceProductEntity } from '../taon-e-commerce-product.entity';\nimport { TaonECommerceProductEditDialogComponent } from '../taon-e-commerce-product-edit-dialog.component';\nimport type { TaonECommerceProductEditDialogData } from '../taon-e-commerce-product-edit-dialog.component';\n\n@Component({\n selector: 'app-taon-e-commerce-products-backoffice',\n templateUrl: './taon-e-commerce-products-backoffice.component.html',\n styleUrls: ['./taon-e-commerce-products-backoffice.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatButtonModule, TaonDatatableComponent],\n providers: [TaonECommerceProductApiService],\n})\nexport class TaonECommerceProductsBackofficeComponent {\n @ViewChild(TaonDatatableComponent)\n readonly datatable!: TaonDatatableComponent;\n\n readonly api = inject(TaonECommerceProductApiService);\n\n readonly columns: MtxGridColumn[] = [\n { header: 'ID', field: 'id', sortable: true },\n { header: 'Name', field: 'name', sortable: true },\n { header: 'Type', field: 'type', sortable: true },\n { header: 'Price', field: 'price', sortable: true },\n { header: 'Currency', field: 'currency', sortable: true },\n { header: 'Active', field: 'active', sortable: true },\n {\n header: 'Stripe synchronized',\n field: 'stripeLastSyncedAt',\n sortable: true,\n },\n {\n header: 'Actions',\n field: 'actions',\n type: 'button',\n buttons: [\n {\n type: 'icon',\n icon: 'edit',\n tooltip: 'Edit product',\n click: (product: TaonECommerceProductEntity) => this.edit(product),\n },\n ],\n },\n ];\n\n private readonly dialog = inject(MatDialog);\n\n readonly syncInProgress = signal(false);\n\n readonly syncError = signal('');\n\n ngAfterViewInit(): void {\n this.datatable.reload();\n }\n\n add(): void {\n this.openEditor({});\n }\n\n edit(product: TaonECommerceProductEntity): void {\n this.openEditor({ product });\n }\n\n async syncWithStripe(): Promise<void> {\n if (this.syncInProgress()) {\n return;\n }\n\n this.syncInProgress.set(true);\n this.syncError.set('');\n try {\n await this.api.syncWithStripe();\n this.datatable.reload();\n } catch (error) {\n console.error(\n '[taon-e-commerce-products-backoffice] Stripe sync failed',\n error,\n );\n this.syncError.set(\n error instanceof Error\n ? error.message\n : 'Stripe synchronization could not be completed.',\n );\n } finally {\n this.syncInProgress.set(false);\n }\n }\n\n private openEditor(data: TaonECommerceProductEditDialogData): void {\n const ref = this.dialog.open(TaonECommerceProductEditDialogComponent, {\n data,\n width: '44rem',\n maxWidth: '95vw',\n disableClose: true,\n });\n ref.afterClosed().subscribe(product => {\n if (product) {\n this.datatable.reload();\n }\n });\n }\n\n public get crud() {\n return this.api.taonECommerceProductController;\n }\n}\n","<header class=\"page-header pb-2\">\n <h1>Products</h1>\n <div class=\"actions\">\n <button\n mat-stroked-button\n type=\"button\"\n [disabled]=\"syncInProgress()\"\n (click)=\"syncWithStripe()\">\n {{ syncInProgress() ? 'Syncing...' : 'Sync with Stripe' }}\n </button>\n </div>\n</header>\n\n@if (syncError()) {\n <p\n class=\"error\"\n role=\"alert\">\n {{ syncError() }}\n </p>\n}\n\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"[\n 'id',\n 'name',\n 'type',\n 'price',\n 'currency',\n 'active',\n 'stripeLastSyncedAt',\n ]\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n","//#region imports\nimport { Routes } from '@angular/router';\nimport { adminLazyRoute } from '@taon-dev/ui/browser';\n//#endregion\n\nexport const TaonECommerceProductsBackofficeRoutes: Routes = [\n {\n path: '',\n loadComponent: () =>\n import('./taon-e-commerce-products-backoffice.component').then(m => m.TaonECommerceProductsBackofficeComponent),\n\n children: [\n // adminLazyRoute({\n // path: 'dashboard',\n // menuItem: 'Dashboard',\n // icon: 'dashboard',\n // expandable: false,\n // loader: () =>\n // import('./anothermodule.routes').then(m => m.DashboardRoutes),\n // }),\n ],\n },\n];\n\n/**\n * By default exporting TaonECommerceProductsBackofficeRoutes,\n * the command `taon generate:app:routes`\n * will automatically add them to the root routes in ./src/app.ts.\n */\n// export default TaonECommerceProductsBackofficeRoutes;","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs } from './taon-e-commerce-product-permission.constants.ts.pl-PL.i18n.data';;\nexport type TaonECommerceProductPermissionOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs \n| PlPlTraslationOverrideSrcLibTaonECommerceProductPermissionTaonECommerceProductPermissionConstantsTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './my-organization-proj'; \nexport * from './start-cli'; \nexport * from './taon-e-commerce.abstract.context'; \nexport * from './i18n/lib.translation'; \nexport * from './taon-cart/taon-cart.component'; // @browser\nexport * from './taon-cart/taon-cart.models'; \nexport * from './taon-cart-button/taon-cart-button.component'; // @browser\nexport * from './taon-cart-button/taon-cart-button.models'; \nexport * from './taon-cart-button/taon-cart-button.routes'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.component'; // @browser\nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.models'; \nexport * from './taon-e-commerce-backoffice/taon-e-commerce-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.component'; // @browser\nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.models'; \nexport * from './taon-e-commerce-backoffice-dashboard/taon-e-commerce-backoffice-dashboard.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.api.service'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.component'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.context'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.controller'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.models'; \nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-backoffice-settings.routes'; // @browser\nexport * from './taon-e-commerce-backoffice-settings/taon-e-commerce-settings.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.abstract.context'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.api.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.config.service'; // @browser\nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.constants'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.controller'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.entity'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.kv.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.middleware'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.models'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.provider'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.repository'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.subscriber'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.utils'; \nexport * from './taon-e-commerce-cart/taon-e-commerce-cart.validators'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.abstract.context'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.api.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.config.service'; // @browser\nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.constants'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.controller'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.entity'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.kv.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.middleware'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.models'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.provider'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.repository'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.subscriber'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.utils'; \nexport * from './taon-e-commerce-cart-item/taon-e-commerce-cart-item.validators'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.api.service'; // @browser\nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.controller'; \nexport * from './taon-e-commerce-customer/taon-e-commerce-customer.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.abstract.context'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.api.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.config.service'; // @browser\nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.constants'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.controller'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.entity'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.kv.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.middleware'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.models'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.provider'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.repository'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.subscriber'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.utils'; \nexport * from './taon-e-commerce-customer-address/taon-e-commerce-customer-address.validators'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.abstract.context'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.api.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.config.service'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-order.constants'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.controller'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.entity'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.kv.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.middleware'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.provider'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.repository'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.subscriber'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.utils'; \nexport * from './taon-e-commerce-order/taon-e-commerce-order.validators'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.abstract.context'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.api.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.config.service'; // @browser\nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.constants'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.controller'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.entity'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.kv.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.middleware'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.models'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.provider'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.repository'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.subscriber'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.utils'; \nexport * from './taon-e-commerce-order-item/taon-e-commerce-order-item.validators'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.abstract.context'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.api.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.config.service'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.constants'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.controller'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.entity'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.kv.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.middleware'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.provider'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.repository'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.subscriber'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.utils'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transaction.validators'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product-edit-dialog.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.abstract.context'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.api.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.config.service'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-product.constants'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.controller'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.entity'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.kv.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.middleware'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.provider'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.repository'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.subscriber'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.utils'; \nexport * from './taon-e-commerce-product/taon-e-commerce-product.validators'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.abstract.context'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.api.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.config.service'; // @browser\nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.constants'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.controller'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.entity'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.kv.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.middleware'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.models'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.provider'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.repository'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.subscriber'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.utils'; \nexport * from './taon-e-commerce-product-permission/taon-e-commerce-product-permission.validators'; \nexport * from './taon-e-commerce-cart/i18n/taon-e-commerce-cart.translation'; \nexport * from './taon-e-commerce-cart-item/i18n/taon-e-commerce-cart-item.translation'; \nexport * from './taon-e-commerce-customer-address/i18n/taon-e-commerce-customer-address.translation'; \nexport * from './taon-e-commerce-order/i18n/taon-e-commerce-order.translation'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-order-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.component'; // @browser\nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.models'; \nexport * from './taon-e-commerce-order/taon-e-commerce-orders-backoffice/taon-e-commerce-orders-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-order-item/i18n/taon-e-commerce-order-item.translation'; \nexport * from './taon-e-commerce-payment-transaction/i18n/taon-e-commerce-payment-transaction.translation'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transaction-details-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.component'; // @browser\nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.models'; \nexport * from './taon-e-commerce-payment-transaction/taon-e-commerce-payment-transactions-backoffice/taon-e-commerce-payment-transactions-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product/i18n/taon-e-commerce-product.translation'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.component'; // @browser\nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.models'; \nexport * from './taon-e-commerce-product/taon-e-commerce-products-backoffice/taon-e-commerce-products-backoffice.routes'; // @browser\nexport * from './taon-e-commerce-product-permission/i18n/taon-e-commerce-product-permission.translation'; ","export * from './migrations';\n/* */ \nexport * from './index._auto-generated_';\nexport * from './my-organization-proj';\n/* */ \nexport default {};","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["t","i1","i2","i3"],"mappings":"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"}
|