@reactionary/source 0.6.1 → 0.6.3
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/README.md +33 -11
- package/examples/node/package.json +7 -7
- package/examples/node/src/basic/basic-node-provider-model-extension.spec.ts +11 -5
- package/examples/node/src/basic/basic-node-provider-query-extension.spec.ts +9 -3
- package/examples/node/src/basic/basic-node-setup.spec.ts +6 -2
- package/examples/node/src/basic/client-creation.spec.ts +6 -6
- package/examples/node/src/utils.ts +48 -48
- package/examples/node/tsconfig.lib.json +2 -1
- package/package.json +1 -1
- package/packages/algolia/README.md +11 -0
- package/{providers/google-analytics → packages/algolia}/eslint.config.mjs +0 -2
- package/{providers → packages}/algolia/package.json +7 -5
- package/{providers/posthog → packages/algolia}/project.json +6 -6
- package/{providers/algolia/src/providers/analytics.provider.ts → packages/algolia/src/capabilities/analytics.capability.ts} +6 -6
- package/packages/algolia/src/capabilities/index.ts +3 -0
- package/{providers/algolia/src/providers/product-recommendations.provider.ts → packages/algolia/src/capabilities/product-recommendations.capability.ts} +3 -3
- package/packages/algolia/src/capabilities/product-search.capability.ts +119 -0
- package/packages/algolia/src/core/initialize.ts +82 -0
- package/packages/algolia/src/core/initialize.types.ts +107 -0
- package/packages/algolia/src/factories/index.ts +1 -0
- package/packages/algolia/src/factories/product-search/product-search.factory.ts +182 -0
- package/{providers/fake → packages/algolia}/src/index.ts +3 -2
- package/packages/algolia/src/schema/capabilities.schema.ts +84 -0
- package/{providers → packages}/algolia/src/test/analytics.spec.ts +12 -4
- package/packages/algolia/src/test/client-builder-product-search-extension.example.ts +85 -0
- package/packages/algolia/vite.config.ts +26 -0
- package/packages/algolia/vitest.config.mts +21 -0
- package/packages/commercetools/README.md +11 -0
- package/{core → packages/commercetools}/eslint.config.mjs +2 -2
- package/packages/commercetools/package.json +17 -0
- package/{providers → packages}/commercetools/project.json +7 -8
- package/{providers/commercetools/src/providers/cart.provider.ts → packages/commercetools/src/capabilities/cart.capability.ts} +68 -194
- package/{providers/commercetools/src/providers/category.provider.ts → packages/commercetools/src/capabilities/category.capability.ts} +26 -66
- package/{providers/commercetools/src/providers/checkout.provider.ts → packages/commercetools/src/capabilities/checkout.capability.ts} +51 -323
- package/{providers/commercetools/src/providers/identity.provider.ts → packages/commercetools/src/capabilities/identity.capability.ts} +36 -16
- package/packages/commercetools/src/capabilities/index.ts +15 -0
- package/{providers/commercetools/src/providers/inventory.provider.ts → packages/commercetools/src/capabilities/inventory.capability.ts} +14 -32
- package/packages/commercetools/src/capabilities/order-search.capability.ts +135 -0
- package/packages/commercetools/src/capabilities/order.capability.ts +67 -0
- package/{providers/commercetools/src/providers/price.provider.ts → packages/commercetools/src/capabilities/price.capability.ts} +38 -52
- package/{providers/commercetools/src/providers/product-associations.provider.ts → packages/commercetools/src/capabilities/product-associations.capability.ts} +40 -105
- package/{providers/commercetools/src/providers/product-list.provider.ts → packages/commercetools/src/capabilities/product-list.capability.ts} +39 -24
- package/{providers/commercetools/src/providers/product-reviews.provider.ts → packages/commercetools/src/capabilities/product-reviews.capability.ts} +35 -15
- package/{providers/commercetools/src/providers/product-search.provider.ts → packages/commercetools/src/capabilities/product-search.capability.ts} +18 -171
- package/packages/commercetools/src/capabilities/product.capability.ts +133 -0
- package/{providers/commercetools/src/providers/profile.provider.ts → packages/commercetools/src/capabilities/profile.capability.ts} +28 -74
- package/{providers/commercetools/src/providers/store.provider.ts → packages/commercetools/src/capabilities/store.capability.ts} +14 -32
- package/packages/commercetools/src/core/capability-descriptors.ts +324 -0
- package/{providers → packages}/commercetools/src/core/client.ts +2 -2
- package/packages/commercetools/src/core/initialize.ts +58 -0
- package/packages/commercetools/src/core/initialize.types.ts +174 -0
- package/packages/commercetools/src/factories/cart/cart.factory.ts +142 -0
- package/packages/commercetools/src/factories/category/category.factory.ts +77 -0
- package/packages/commercetools/src/factories/checkout/checkout-initializer-overrides.example.ts +94 -0
- package/packages/commercetools/src/factories/checkout/checkout.factory.ts +338 -0
- package/packages/commercetools/src/factories/identity/identity.factory.ts +26 -0
- package/packages/commercetools/src/factories/inventory/inventory.factory.ts +49 -0
- package/packages/commercetools/src/factories/order/order.factory.ts +149 -0
- package/packages/commercetools/src/factories/order-search/order-search.factory.ts +108 -0
- package/packages/commercetools/src/factories/price/price.factory.ts +76 -0
- package/packages/commercetools/src/factories/product/product-capability-custom-method-only.example.ts +47 -0
- package/packages/commercetools/src/factories/product/product-capability-schema-signature-extension.example.ts +61 -0
- package/packages/commercetools/src/factories/product/product-factory-baseline.example.ts +14 -0
- package/packages/commercetools/src/factories/product/product-factory-schema-and-parse-extension.example.ts +35 -0
- package/packages/commercetools/src/factories/product/product-factory-schema-extension.example.ts +23 -0
- package/packages/commercetools/src/factories/product/product-initializer-factory-extension.example.ts +41 -0
- package/packages/commercetools/src/factories/product/product.factory.ts +220 -0
- package/packages/commercetools/src/factories/product/utils.example.ts +9 -0
- package/packages/commercetools/src/factories/product-associations/product-associations.factory.ts +103 -0
- package/packages/commercetools/src/factories/product-list/product-list.factory.ts +122 -0
- package/packages/commercetools/src/factories/product-reviews/product-reviews.factory.ts +81 -0
- package/packages/commercetools/src/factories/product-search/product-search.factory.ts +182 -0
- package/packages/commercetools/src/factories/profile/profile.factory.ts +94 -0
- package/packages/commercetools/src/factories/store/store.factory.ts +49 -0
- package/packages/commercetools/src/index.ts +30 -0
- package/packages/commercetools/src/schema/capabilities.schema.ts +260 -0
- package/{providers → packages}/commercetools/src/test/caching.spec.ts +24 -8
- package/packages/commercetools/src/test/client-builder-merge-extensions.example.ts +125 -0
- package/{providers/algolia → packages/commercetools}/tsconfig.json +1 -1
- package/{core → packages/commercetools}/tsconfig.lib.json +1 -1
- package/packages/commercetools/tsconfig.spec.json +28 -0
- package/packages/commercetools/vite.config.ts +26 -0
- package/packages/commercetools/vitest.config.mts +21 -0
- package/{providers/fake → packages/core}/eslint.config.mjs +2 -1
- package/{core → packages/core}/package.json +7 -7
- package/packages/core/project.json +33 -0
- package/{core/src/providers/analytics.provider.ts → packages/core/src/capabilities/analytics.capability.ts} +8 -8
- package/{core/src/providers/base.provider.ts → packages/core/src/capabilities/base.capability.ts} +2 -2
- package/{core/src/providers/cart.provider.ts → packages/core/src/capabilities/cart.capability.ts} +13 -11
- package/{core/src/providers/category.provider.ts → packages/core/src/capabilities/category.capability.ts} +12 -10
- package/{core/src/providers/checkout.provider.ts → packages/core/src/capabilities/checkout.capability.ts} +15 -11
- package/{core/src/providers/identity.provider.ts → packages/core/src/capabilities/identity.capability.ts} +8 -8
- package/packages/core/src/capabilities/index.ts +18 -0
- package/{core/src/providers/inventory.provider.ts → packages/core/src/capabilities/inventory.capability.ts} +5 -5
- package/{core/src/providers/order-search.provider.ts → packages/core/src/capabilities/order-search.capability.ts} +5 -3
- package/{core/src/providers/order.provider.ts → packages/core/src/capabilities/order.capability.ts} +5 -5
- package/{core/src/providers/price.provider.ts → packages/core/src/capabilities/price.capability.ts} +6 -6
- package/{core/src/providers/product-associations.provider.ts → packages/core/src/capabilities/product-associations.capability.ts} +7 -5
- package/{core/src/providers/product-list.provider.ts → packages/core/src/capabilities/product-list.capability.ts} +14 -9
- package/{core/src/providers/product-recommendations.provider.ts → packages/core/src/capabilities/product-recommendations.capability.ts} +21 -21
- package/{core/src/providers/product-reviews.provider.ts → packages/core/src/capabilities/product-reviews.capability.ts} +9 -5
- package/packages/core/src/capabilities/product-search.capability.ts +48 -0
- package/{core/src/providers/product.provider.ts → packages/core/src/capabilities/product.capability.ts} +7 -7
- package/{core/src/providers/profile.provider.ts → packages/core/src/capabilities/profile.capability.ts} +9 -9
- package/{core/src/providers/store.provider.ts → packages/core/src/capabilities/store.capability.ts} +3 -3
- package/packages/core/src/client/client-builder.ts +131 -0
- package/packages/core/src/client/client.ts +35 -0
- package/{core → packages/core}/src/decorators/reactionary.decorator.ts +7 -7
- package/packages/core/src/factories/cart.factory.ts +40 -0
- package/packages/core/src/factories/category.factory.ts +40 -0
- package/packages/core/src/factories/checkout.factory.ts +59 -0
- package/packages/core/src/factories/identity.factory.ts +26 -0
- package/packages/core/src/factories/index.ts +15 -0
- package/packages/core/src/factories/inventory.factory.ts +26 -0
- package/packages/core/src/factories/order-search.factory.ts +33 -0
- package/packages/core/src/factories/order.factory.ts +21 -0
- package/packages/core/src/factories/price.factory.ts +29 -0
- package/packages/core/src/factories/product-associations.factory.ts +30 -0
- package/packages/core/src/factories/product-list.factory.ts +82 -0
- package/packages/core/src/factories/product-reviews.factory.ts +58 -0
- package/packages/core/src/factories/product-search.factory.ts +31 -0
- package/packages/core/src/factories/product.factory.ts +21 -0
- package/packages/core/src/factories/profile.factory.ts +23 -0
- package/packages/core/src/factories/store.factory.ts +21 -0
- package/packages/core/src/index.ts +8 -0
- package/packages/core/src/test/client-builder.spec.ts +141 -0
- package/{core → packages/core}/src/test/reactionary.decorator.spec.ts +27 -27
- package/{providers/meilisearch → packages/core}/tsconfig.json +1 -1
- package/{providers/medusa → packages/core}/tsconfig.lib.json +1 -2
- package/packages/core/tsconfig.spec.json +28 -0
- package/packages/core/vite.config.ts +26 -0
- package/packages/core/vitest.config.mts +21 -0
- package/packages/fake/README.md +11 -0
- package/{providers/algolia → packages/fake}/eslint.config.mjs +2 -1
- package/{providers → packages}/fake/package.json +6 -4
- package/{providers → packages}/fake/project.json +7 -8
- package/{providers/fake/src/providers/analytics.provider.ts → packages/fake/src/capabilities/analytics.capability.ts} +2 -2
- package/{providers/fake/src/providers/cart.provider.ts → packages/fake/src/capabilities/cart.capability.ts} +24 -15
- package/packages/fake/src/capabilities/category.capability.ts +199 -0
- package/{providers/fake/src/providers/checkout.provider.ts → packages/fake/src/capabilities/checkout.capability.ts} +40 -21
- package/{providers/fake/src/providers/identity.provider.ts → packages/fake/src/capabilities/identity.capability.ts} +40 -34
- package/packages/fake/src/capabilities/index.ts +15 -0
- package/packages/fake/src/capabilities/inventory.capability.ts +74 -0
- package/packages/fake/src/capabilities/order-search.capability.ts +86 -0
- package/{providers/fake/src/providers/order.provider.ts → packages/fake/src/capabilities/order.capability.ts} +22 -38
- package/{providers/fake/src/providers/price.provider.ts → packages/fake/src/capabilities/price.capability.ts} +42 -34
- package/{providers/fake/src/providers/product-associations.provider.ts → packages/fake/src/capabilities/product-associations.capability.ts} +24 -11
- package/{providers/fake/src/providers/product-reviews.provider.ts → packages/fake/src/capabilities/product-reviews.capability.ts} +72 -70
- package/{providers/fake/src/providers/product-search.provider.ts → packages/fake/src/capabilities/product-search.capability.ts} +44 -71
- package/{providers/fake/src/providers/product.provider.ts → packages/fake/src/capabilities/product.capability.ts} +35 -33
- package/packages/fake/src/capabilities/profile.capability.ts +154 -0
- package/packages/fake/src/capabilities/store.capability.ts +72 -0
- package/packages/fake/src/core/initialize.ts +274 -0
- package/packages/fake/src/core/initialize.types.ts +164 -0
- package/packages/fake/src/factories/cart/cart.factory.ts +34 -0
- package/packages/fake/src/factories/category/category.factory.ts +40 -0
- package/packages/fake/src/factories/checkout/checkout.factory.ts +53 -0
- package/packages/fake/src/factories/identity/identity.factory.ts +25 -0
- package/packages/fake/src/factories/index.ts +14 -0
- package/packages/fake/src/factories/inventory/inventory.factory.ts +25 -0
- package/packages/fake/src/factories/order/order.factory.ts +22 -0
- package/packages/fake/src/factories/order-search/order-search.factory.ts +27 -0
- package/packages/fake/src/factories/price/price.factory.ts +26 -0
- package/packages/fake/src/factories/product/product.factory.ts +22 -0
- package/packages/fake/src/factories/product-associations/product-associations.factory.ts +25 -0
- package/packages/fake/src/factories/product-reviews/product-reviews.factory.ts +53 -0
- package/packages/fake/src/factories/product-search/product-search.factory.ts +27 -0
- package/packages/fake/src/factories/profile/profile.factory.ts +22 -0
- package/packages/fake/src/factories/store/store.factory.ts +22 -0
- package/{providers/algolia → packages/fake}/src/index.ts +4 -3
- package/packages/fake/src/schema/capabilities.schema.ts +178 -0
- package/{providers/fake/src/test/cart.provider.spec.ts → packages/fake/src/test/cart.capability.spec.ts} +24 -7
- package/{providers/fake/src/test/category.provider.spec.ts → packages/fake/src/test/category.capability.spec.ts} +7 -4
- package/{providers/fake/src/test/checkout.provider.spec.ts → packages/fake/src/test/checkout.capability.spec.ts} +15 -5
- package/packages/fake/src/test/client-builder-product-extension.example.ts +75 -0
- package/{providers/fake/src/test/order-search.provider.spec.ts → packages/fake/src/test/order-search.capability.spec.ts} +7 -10
- package/{providers/fake/src/test/order.provider.spec.ts → packages/fake/src/test/order.capability.spec.ts} +7 -9
- package/{providers/fake/src/test/price.provider.spec.ts → packages/fake/src/test/price.capability.spec.ts} +6 -4
- package/{providers/fake/src/test/product.provider.spec.ts → packages/fake/src/test/product.capability.spec.ts} +10 -4
- package/{providers/fake/src/test/profile.provider.spec.ts → packages/fake/src/test/profile.capability.spec.ts} +7 -5
- package/{providers/commercetools → packages/fake}/tsconfig.json +1 -1
- package/packages/fake/tsconfig.lib.json +23 -0
- package/packages/fake/tsconfig.spec.json +28 -0
- package/packages/fake/vite.config.ts +26 -0
- package/packages/fake/vitest.config.mts +21 -0
- package/packages/google-analytics/eslint.config.mjs +23 -0
- package/{providers → packages}/google-analytics/package.json +7 -5
- package/{providers → packages}/google-analytics/project.json +5 -5
- package/{providers/google-analytics/src/providers/analytics.provider.ts → packages/google-analytics/src/capabilities/analytics.capability.ts} +2 -2
- package/packages/google-analytics/src/core/initialize.ts +41 -0
- package/packages/google-analytics/src/core/initialize.types.ts +47 -0
- package/{providers → packages}/google-analytics/src/index.ts +2 -1
- package/packages/google-analytics/src/schema/capabilities.schema.ts +36 -0
- package/{providers/google-analytics/src/test/analytics.provider.spec.ts → packages/google-analytics/src/test/analytics.capability.spec.ts} +7 -7
- package/packages/google-analytics/tsconfig.json +24 -0
- package/packages/google-analytics/tsconfig.lib.json +23 -0
- package/packages/google-analytics/tsconfig.spec.json +28 -0
- package/{providers → packages}/google-analytics/vite.config.ts +2 -2
- package/{providers → packages}/google-analytics/vitest.config.mts +2 -2
- package/packages/medusa/README.md +11 -0
- package/packages/medusa/eslint.config.mjs +23 -0
- package/packages/medusa/package.json +17 -0
- package/{providers → packages}/medusa/project.json +7 -8
- package/{providers/medusa/src/providers/cart.provider.ts → packages/medusa/src/capabilities/cart.capability.ts} +34 -21
- package/{providers/medusa/src/providers/category.provider.ts → packages/medusa/src/capabilities/category.capability.ts} +31 -13
- package/{providers/medusa/src/providers/checkout.provider.ts → packages/medusa/src/capabilities/checkout.capability.ts} +43 -18
- package/{providers/medusa/src/providers/identity.provider.ts → packages/medusa/src/capabilities/identity.capability.ts} +3 -3
- package/{providers/medusa/src/providers/inventory.provider.ts → packages/medusa/src/capabilities/inventory.capability.ts} +22 -8
- package/{providers/medusa/src/providers/order-search.provider.ts → packages/medusa/src/capabilities/order-search.capability.ts} +17 -6
- package/{providers/medusa/src/providers/order.provider.ts → packages/medusa/src/capabilities/order.capability.ts} +18 -6
- package/{providers/medusa/src/providers/price.provider.ts → packages/medusa/src/capabilities/price.capability.ts} +27 -8
- package/{providers/medusa/src/providers/product-associations.provider.ts → packages/medusa/src/capabilities/product-associations.capability.ts} +20 -9
- package/{providers/medusa/src/providers/product-recommendations.provider.ts → packages/medusa/src/capabilities/product-recommendations.capability.ts} +3 -3
- package/{providers/medusa/src/providers/product-search.provider.ts → packages/medusa/src/capabilities/product-search.capability.ts} +20 -32
- package/{providers/medusa/src/providers/product.provider.ts → packages/medusa/src/capabilities/product.capability.ts} +48 -12
- package/{providers/medusa/src/providers/profile.provider.ts → packages/medusa/src/capabilities/profile.capability.ts} +37 -13
- package/packages/medusa/src/core/initialize.ts +330 -0
- package/packages/medusa/src/core/initialize.types.ts +184 -0
- package/packages/medusa/src/factories/cart/cart.factory.ts +34 -0
- package/packages/medusa/src/factories/category/category.factory.ts +37 -0
- package/packages/medusa/src/factories/checkout/checkout.factory.ts +50 -0
- package/packages/medusa/src/factories/identity/identity.factory.ts +22 -0
- package/packages/medusa/src/factories/index.ts +12 -0
- package/packages/medusa/src/factories/inventory/inventory.factory.ts +25 -0
- package/packages/medusa/src/factories/order/order.factory.ts +22 -0
- package/packages/medusa/src/factories/order-search/order-search.factory.ts +27 -0
- package/packages/medusa/src/factories/price/price.factory.ts +26 -0
- package/packages/medusa/src/factories/product/product.factory.ts +22 -0
- package/packages/medusa/src/factories/product-associations/product-associations.factory.ts +25 -0
- package/packages/medusa/src/factories/product-search/product-search.factory.ts +27 -0
- package/packages/medusa/src/factories/profile/profile.factory.ts +22 -0
- package/packages/medusa/src/index.ts +17 -0
- package/packages/medusa/src/schema/capabilities.schema.ts +231 -0
- package/{providers/medusa/src/test/cart.provider.spec.ts → packages/medusa/src/test/cart.capability.spec.ts} +20 -4
- package/{providers/medusa/src/test/category.provider.spec.ts → packages/medusa/src/test/category.capability.spec.ts} +7 -4
- package/{providers → packages}/medusa/src/test/checkout.spec.ts +9 -9
- package/{providers/medusa/src/test/identity.provider.spec.ts → packages/medusa/src/test/identity.capability.spec.ts} +3 -3
- package/{providers/medusa/src/test/inventory.provider.spec.ts → packages/medusa/src/test/inventory.capability.spec.ts} +6 -4
- package/{providers/medusa/src/test/large-cart.provider.spec.ts → packages/medusa/src/test/large-cart.capability.spec.ts} +14 -8
- package/{providers/medusa/src/test/price.provider.spec.ts → packages/medusa/src/test/price.capability.spec.ts} +10 -3
- package/{providers/medusa/src/test/product.provider.spec.ts → packages/medusa/src/test/product.capability.spec.ts} +6 -4
- package/{providers/medusa/src/test/search.provider.spec.ts → packages/medusa/src/test/search.capability.spec.ts} +20 -7
- package/{providers → packages}/medusa/src/utils/medusa-helpers.ts +1 -1
- package/packages/medusa/tsconfig.json +24 -0
- package/packages/medusa/tsconfig.lib.json +23 -0
- package/packages/medusa/tsconfig.spec.json +28 -0
- package/packages/medusa/vite.config.ts +26 -0
- package/packages/medusa/vitest.config.mts +21 -0
- package/packages/meilisearch/README.md +11 -0
- package/packages/meilisearch/eslint.config.mjs +23 -0
- package/packages/meilisearch/package.json +15 -0
- package/{providers → packages}/meilisearch/project.json +7 -8
- package/packages/meilisearch/src/capabilities/index.ts +3 -0
- package/{providers/meilisearch/src/providers/order-search.provider.ts → packages/meilisearch/src/capabilities/order-search.capability.ts} +22 -7
- package/{providers/meilisearch/src/providers/product-recommendations.provider.ts → packages/meilisearch/src/capabilities/product-recommendations.capability.ts} +3 -3
- package/{providers/meilisearch/src/providers/product-search.provider.ts → packages/meilisearch/src/capabilities/product-search.capability.ts} +25 -9
- package/packages/meilisearch/src/core/initialize.ts +94 -0
- package/packages/meilisearch/src/core/initialize.types.ts +119 -0
- package/packages/meilisearch/src/factories/index.ts +2 -0
- package/packages/meilisearch/src/factories/order-search/order-search.factory.ts +27 -0
- package/packages/meilisearch/src/factories/product-search/product-search.factory.ts +27 -0
- package/packages/meilisearch/src/index.ts +9 -0
- package/packages/meilisearch/src/schema/capabilities.schema.ts +98 -0
- package/packages/meilisearch/tsconfig.json +24 -0
- package/packages/meilisearch/tsconfig.lib.json +23 -0
- package/packages/meilisearch/tsconfig.spec.json +28 -0
- package/packages/meilisearch/vite.config.ts +26 -0
- package/packages/meilisearch/vitest.config.mts +21 -0
- package/tsconfig.base.json +13 -21
- package/core/project.json +0 -34
- package/core/src/client/client-builder.ts +0 -84
- package/core/src/client/client.ts +0 -35
- package/core/src/index.ts +0 -6
- package/core/src/providers/index.ts +0 -18
- package/core/src/providers/product-search.provider.ts +0 -61
- package/core/src/test/client-builder.spec.ts +0 -60
- package/core/tsconfig.json +0 -24
- package/core/tsconfig.spec.json +0 -4
- package/core/vitest.config.ts +0 -14
- package/providers/algolia/README.md +0 -56
- package/providers/algolia/project.json +0 -34
- package/providers/algolia/src/core/initialize.ts +0 -27
- package/providers/algolia/src/providers/index.ts +0 -3
- package/providers/algolia/src/providers/product-search.provider.ts +0 -236
- package/providers/algolia/src/schema/capabilities.schema.ts +0 -10
- package/providers/algolia/tsconfig.lib.json +0 -10
- package/providers/algolia/tsconfig.spec.json +0 -4
- package/providers/algolia/vitest.config.ts +0 -14
- package/providers/commercetools/README.md +0 -65
- package/providers/commercetools/eslint.config.mjs +0 -22
- package/providers/commercetools/package.json +0 -15
- package/providers/commercetools/src/core/initialize.ts +0 -174
- package/providers/commercetools/src/index.ts +0 -15
- package/providers/commercetools/src/providers/index.ts +0 -15
- package/providers/commercetools/src/providers/order-search.provider.ts +0 -229
- package/providers/commercetools/src/providers/order.provider.ts +0 -198
- package/providers/commercetools/src/providers/product.provider.ts +0 -312
- package/providers/commercetools/src/schema/capabilities.schema.ts +0 -22
- package/providers/commercetools/tsconfig.lib.json +0 -10
- package/providers/commercetools/tsconfig.spec.json +0 -4
- package/providers/commercetools/vitest.config.ts +0 -15
- package/providers/fake/README.md +0 -23
- package/providers/fake/src/core/initialize.ts +0 -105
- package/providers/fake/src/providers/category.provider.ts +0 -184
- package/providers/fake/src/providers/index.ts +0 -15
- package/providers/fake/src/providers/inventory.provider.ts +0 -72
- package/providers/fake/src/providers/order-search.provider.ts +0 -78
- package/providers/fake/src/providers/profile.provider.ts +0 -147
- package/providers/fake/src/providers/store.provider.ts +0 -56
- package/providers/fake/src/schema/capabilities.schema.ts +0 -21
- package/providers/fake/tsconfig.json +0 -25
- package/providers/fake/tsconfig.lib.json +0 -11
- package/providers/fake/tsconfig.spec.json +0 -4
- package/providers/fake/vitest.config.ts +0 -14
- package/providers/google-analytics/src/core/initialize.ts +0 -16
- package/providers/google-analytics/src/schema/capabilities.schema.ts +0 -10
- package/providers/medusa/README.md +0 -30
- package/providers/medusa/TESTING.md +0 -98
- package/providers/medusa/eslint.config.mjs +0 -19
- package/providers/medusa/package.json +0 -15
- package/providers/medusa/src/core/initialize.ts +0 -87
- package/providers/medusa/src/index.ts +0 -15
- package/providers/medusa/src/schema/capabilities.schema.ts +0 -20
- package/providers/medusa/tsconfig.json +0 -24
- package/providers/medusa/tsconfig.spec.json +0 -4
- package/providers/medusa/vitest.config.ts +0 -15
- package/providers/meilisearch/README.md +0 -48
- package/providers/meilisearch/eslint.config.mjs +0 -22
- package/providers/meilisearch/package.json +0 -13
- package/providers/meilisearch/src/core/initialize.ts +0 -27
- package/providers/meilisearch/src/index.ts +0 -7
- package/providers/meilisearch/src/providers/index.ts +0 -2
- package/providers/meilisearch/src/schema/capabilities.schema.ts +0 -11
- package/providers/meilisearch/tsconfig.lib.json +0 -10
- package/providers/meilisearch/tsconfig.spec.json +0 -4
- package/providers/meilisearch/vitest.config.ts +0 -14
- package/providers/posthog/README.md +0 -7
- package/providers/posthog/eslint.config.mjs +0 -22
- package/providers/posthog/package.json +0 -12
- package/providers/posthog/src/core/initialize.ts +0 -11
- package/providers/posthog/src/index.ts +0 -4
- package/providers/posthog/src/schema/capabilities.schema.ts +0 -8
- package/providers/posthog/src/schema/configuration.schema.ts +0 -8
- package/providers/posthog/tsconfig.json +0 -21
- package/providers/posthog/tsconfig.lib.json +0 -9
- /package/{providers → packages}/algolia/src/schema/configuration.schema.ts +0 -0
- /package/{providers → packages}/algolia/src/schema/index.ts +0 -0
- /package/{providers → packages}/algolia/src/schema/product-recommendation.schema.ts +0 -0
- /package/{providers → packages}/algolia/src/schema/search.schema.ts +0 -0
- /package/{providers/google-analytics → packages/algolia}/tsconfig.json +0 -0
- /package/{providers/google-analytics → packages/algolia}/tsconfig.lib.json +0 -0
- /package/{providers/google-analytics → packages/algolia}/tsconfig.spec.json +0 -0
- /package/{providers → packages}/commercetools/src/core/token-cache.ts +0 -0
- /package/{providers → packages}/commercetools/src/schema/commercetools.schema.ts +0 -0
- /package/{providers → packages}/commercetools/src/schema/configuration.schema.ts +0 -0
- /package/{providers → packages}/commercetools/src/schema/session.schema.ts +0 -0
- /package/{providers → packages}/commercetools/src/test/identity.spec.ts +0 -0
- /package/{providers → packages}/commercetools/src/test/test-utils.ts +0 -0
- /package/{core → packages/core}/README.md +0 -0
- /package/{core → packages/core}/src/cache/cache.interface.ts +0 -0
- /package/{core → packages/core}/src/cache/index.ts +0 -0
- /package/{core → packages/core}/src/cache/memory-cache.ts +0 -0
- /package/{core → packages/core}/src/cache/noop-cache.ts +0 -0
- /package/{core → packages/core}/src/cache/redis-cache.ts +0 -0
- /package/{core → packages/core}/src/client/index.ts +0 -0
- /package/{core → packages/core}/src/decorators/index.ts +0 -0
- /package/{core → packages/core}/src/initialization.ts +0 -0
- /package/{core → packages/core}/src/metrics/metrics.ts +0 -0
- /package/{core → packages/core}/src/schemas/capabilities.schema.ts +0 -0
- /package/{core → packages/core}/src/schemas/errors/generic.error.ts +0 -0
- /package/{core → packages/core}/src/schemas/errors/index.ts +0 -0
- /package/{core → packages/core}/src/schemas/errors/invalid-input.error.ts +0 -0
- /package/{core → packages/core}/src/schemas/errors/invalid-output.error.ts +0 -0
- /package/{core → packages/core}/src/schemas/errors/not-found.error.ts +0 -0
- /package/{core → packages/core}/src/schemas/index.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/analytics.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/base.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/cart.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/category.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/checkout.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/cost.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/currency.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/identifiers.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/identity.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/index.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/inventory.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/order-search.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/order.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/payment.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/price.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/product-associations.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/product-list.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/product-recommendations.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/product-reviews.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/product-search.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/product.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/profile.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/shipping-method.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/models/store.model.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/analytics/index.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/analytics/product-add-to-cart.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/analytics/product-details-view.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/analytics/product-summary-click.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/analytics/product-summary-view.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/analytics/purchase.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/base.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/cart.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/checkout.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/identity.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/index.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/inventory.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/price.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/product-list.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/product-reviews.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/product.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/profile.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/mutations/search.mutation.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/analytics.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/base.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/cart.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/category.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/checkout.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/identity.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/index.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/inventory.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/order-search.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/order.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/price.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/product-associations.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/product-list.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/product-recommendations.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/product-reviews.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/product-search.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/product.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/profile.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/queries/store.query.ts +0 -0
- /package/{core → packages/core}/src/schemas/result.ts +0 -0
- /package/{core → packages/core}/src/schemas/session.schema.ts +0 -0
- /package/{core → packages/core}/src/test/request-context.spec.ts +0 -0
- /package/{core → packages/core}/src/zod-utils.ts +0 -0
- /package/{providers → packages}/fake/src/schema/configuration.schema.ts +0 -0
- /package/{providers → packages}/fake/src/test/test-utils.ts +0 -0
- /package/{providers → packages}/fake/src/utilities/jitter.ts +0 -0
- /package/{providers → packages}/fake/src/utilities/seed.ts +0 -0
- /package/{providers → packages}/google-analytics/README.md +0 -0
- /package/{providers → packages}/google-analytics/src/schema/configuration.schema.ts +0 -0
- /package/{providers → packages}/medusa/src/core/client.ts +0 -0
- /package/{providers → packages}/medusa/src/schema/configuration.schema.ts +0 -0
- /package/{providers → packages}/medusa/src/schema/medusa.schema.ts +0 -0
- /package/{providers → packages}/medusa/src/test/test-utils.ts +0 -0
- /package/{providers → packages}/meilisearch/src/schema/configuration.schema.ts +0 -0
- /package/{providers → packages}/meilisearch/src/schema/index.ts +0 -0
- /package/{providers → packages}/meilisearch/src/schema/search.schema.ts +0 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ClientBuilder,
|
|
3
|
+
createInitialRequestContext,
|
|
4
|
+
NoOpCache,
|
|
5
|
+
ProductSchema,
|
|
6
|
+
StoreSchema,
|
|
7
|
+
type RequestContext,
|
|
8
|
+
} from '@reactionary/core';
|
|
9
|
+
import type { ProductProjection, Channel } from '@commercetools/platform-sdk';
|
|
10
|
+
import * as z from 'zod';
|
|
11
|
+
import type { CommercetoolsConfiguration } from '../schema/configuration.schema.js';
|
|
12
|
+
import { withCommercetoolsCapabilities } from '../core/initialize.js';
|
|
13
|
+
import { CommercetoolsProductFactory } from '../factories/product/product.factory.js';
|
|
14
|
+
import { CommercetoolsStoreFactory } from '../factories/store/store.factory.js';
|
|
15
|
+
import { assertNotAny, assertType } from '../factories/product/utils.example.js';
|
|
16
|
+
|
|
17
|
+
const ExtendedProductSchema = ProductSchema.safeExtend({
|
|
18
|
+
extendedProductValue: z.string(),
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
class ExtendedCommercetoolsProductFactory extends CommercetoolsProductFactory<
|
|
22
|
+
typeof ExtendedProductSchema
|
|
23
|
+
> {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(ExtendedProductSchema);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public override parseProduct(context: RequestContext, data: ProductProjection) {
|
|
29
|
+
const base = super.parseProduct(context, data);
|
|
30
|
+
return this.productSchema.parse({
|
|
31
|
+
...base,
|
|
32
|
+
extendedProductValue: 'from-product-factory',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const ExtendedStoreSchema = StoreSchema.safeExtend({
|
|
38
|
+
extendedStoreValue: z.string(),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
class ExtendedCommercetoolsStoreFactory extends CommercetoolsStoreFactory<
|
|
42
|
+
typeof ExtendedStoreSchema
|
|
43
|
+
> {
|
|
44
|
+
constructor() {
|
|
45
|
+
super(ExtendedStoreSchema);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
public override parseStore(context: RequestContext, data: Channel) {
|
|
49
|
+
const base = super.parseStore(context, data);
|
|
50
|
+
return this.storeSchema.parse({
|
|
51
|
+
...base,
|
|
52
|
+
extendedStoreValue: 'from-store-factory',
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const config = {
|
|
58
|
+
apiUrl: 'https://api.example.invalid',
|
|
59
|
+
authUrl: 'https://auth.example.invalid',
|
|
60
|
+
clientId: 'test-client',
|
|
61
|
+
clientSecret: 'test-secret',
|
|
62
|
+
projectKey: 'test-project',
|
|
63
|
+
scopes: [],
|
|
64
|
+
paymentMethods: [],
|
|
65
|
+
facetFieldsForSearch: [],
|
|
66
|
+
} satisfies CommercetoolsConfiguration;
|
|
67
|
+
|
|
68
|
+
function createMergedClientExample() {
|
|
69
|
+
const cache = new NoOpCache();
|
|
70
|
+
const context = createInitialRequestContext();
|
|
71
|
+
|
|
72
|
+
const withProduct = withCommercetoolsCapabilities(config, {
|
|
73
|
+
product: {
|
|
74
|
+
enabled: true,
|
|
75
|
+
factory: new ExtendedCommercetoolsProductFactory(),
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
const withStore = withCommercetoolsCapabilities(config, {
|
|
80
|
+
store: {
|
|
81
|
+
enabled: true,
|
|
82
|
+
factory: new ExtendedCommercetoolsStoreFactory(),
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
const client = new ClientBuilder(context)
|
|
87
|
+
.withCache(cache)
|
|
88
|
+
.withCapability(withProduct)
|
|
89
|
+
.withCapability(withStore)
|
|
90
|
+
.build();
|
|
91
|
+
|
|
92
|
+
client.product
|
|
93
|
+
.getById({
|
|
94
|
+
identifier: { key: 'p-1' },
|
|
95
|
+
})
|
|
96
|
+
.then((result) => {
|
|
97
|
+
assertNotAny(result);
|
|
98
|
+
if (result.success) {
|
|
99
|
+
assertNotAny(result.value);
|
|
100
|
+
assertNotAny(result.value.extendedProductValue);
|
|
101
|
+
assertType<string>(result.value.extendedProductValue);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
client.store
|
|
106
|
+
.queryByProximity({
|
|
107
|
+
longitude: 10.0,
|
|
108
|
+
latitude: 56.0,
|
|
109
|
+
distance: 50,
|
|
110
|
+
limit: 5,
|
|
111
|
+
})
|
|
112
|
+
.then((result) => {
|
|
113
|
+
assertNotAny(result);
|
|
114
|
+
if (result.success) {
|
|
115
|
+
const first = result.value[0];
|
|
116
|
+
assertNotAny(first);
|
|
117
|
+
assertNotAny(first.extendedStoreValue);
|
|
118
|
+
assertType<string>(first.extendedStoreValue);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
return client;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
void createMergedClientExample;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"outDir": "../../dist/out-tsc",
|
|
5
|
+
"types": [
|
|
6
|
+
"vitest/globals",
|
|
7
|
+
"vitest/importMeta",
|
|
8
|
+
"vite/client",
|
|
9
|
+
"node",
|
|
10
|
+
"vitest"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
"include": [
|
|
14
|
+
"vite.config.ts",
|
|
15
|
+
"vite.config.mts",
|
|
16
|
+
"vitest.config.ts",
|
|
17
|
+
"vitest.config.mts",
|
|
18
|
+
"src/**/*.test.ts",
|
|
19
|
+
"src/**/*.spec.ts",
|
|
20
|
+
"src/**/*.test.tsx",
|
|
21
|
+
"src/**/*.spec.tsx",
|
|
22
|
+
"src/**/*.test.js",
|
|
23
|
+
"src/**/*.spec.js",
|
|
24
|
+
"src/**/*.test.jsx",
|
|
25
|
+
"src/**/*.spec.jsx",
|
|
26
|
+
"src/**/*.d.ts"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types='vitest' />
|
|
2
|
+
import { defineConfig } from 'vite';
|
|
3
|
+
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
|
4
|
+
import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
|
|
5
|
+
|
|
6
|
+
export default defineConfig(() => ({
|
|
7
|
+
root: import.meta.dirname,
|
|
8
|
+
cacheDir: '../../node_modules/.vite/packages/commercetools',
|
|
9
|
+
plugins: [nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
|
|
10
|
+
// Uncomment this if you are using workers.
|
|
11
|
+
// worker: {
|
|
12
|
+
// plugins: () => [ nxViteTsPaths() ],
|
|
13
|
+
// },
|
|
14
|
+
test: {
|
|
15
|
+
name: 'commercetools',
|
|
16
|
+
watch: false,
|
|
17
|
+
globals: true,
|
|
18
|
+
environment: 'node',
|
|
19
|
+
include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
|
|
20
|
+
reporters: ['default'],
|
|
21
|
+
coverage: {
|
|
22
|
+
reportsDirectory: '../../coverage/packages/commercetools',
|
|
23
|
+
provider: 'v8' as const,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
}));
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
|
3
|
+
import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
|
|
4
|
+
|
|
5
|
+
export default defineConfig(() => ({
|
|
6
|
+
root: __dirname,
|
|
7
|
+
cacheDir: '../../node_modules/.vite/packages/commercetools',
|
|
8
|
+
plugins: [nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
|
|
9
|
+
test: {
|
|
10
|
+
name: 'commercetools',
|
|
11
|
+
watch: false,
|
|
12
|
+
globals: true,
|
|
13
|
+
environment: 'node',
|
|
14
|
+
include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
|
|
15
|
+
reporters: ['default'],
|
|
16
|
+
coverage: {
|
|
17
|
+
reportsDirectory: '../../coverage/packages/commercetools',
|
|
18
|
+
provider: 'v8' as const,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
}));
|
|
@@ -9,8 +9,9 @@ export default [
|
|
|
9
9
|
'error',
|
|
10
10
|
{
|
|
11
11
|
ignoredFiles: [
|
|
12
|
-
'{projectRoot}/eslint.config.{js,cjs,mjs}',
|
|
12
|
+
'{projectRoot}/eslint.config.{js,cjs,mjs,ts,cts,mts}',
|
|
13
13
|
'{projectRoot}/esbuild.config.{js,ts,mjs,mts}',
|
|
14
|
+
'{projectRoot}/vite.config.{js,ts,mjs,mts}',
|
|
14
15
|
],
|
|
15
16
|
},
|
|
16
17
|
],
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reactionary/core",
|
|
3
3
|
"version": "0.0.1",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"types": "./src/index.d.ts",
|
|
6
7
|
"dependencies": {
|
|
7
8
|
"zod": "4.1.9",
|
|
8
9
|
"@upstash/redis": "^1.34.9",
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"@
|
|
10
|
+
"@opentelemetry/api": "^1.9.0",
|
|
11
|
+
"node-object-hash": "^3.1.1",
|
|
12
|
+
"vitest": "^4.0.9",
|
|
13
|
+
"@nx/vite": "22.4.5"
|
|
13
14
|
},
|
|
14
|
-
"type": "module",
|
|
15
15
|
"sideEffects": false
|
|
16
16
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "core",
|
|
3
|
+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
4
|
+
"sourceRoot": "packages/core/src",
|
|
5
|
+
"projectType": "library",
|
|
6
|
+
"release": {
|
|
7
|
+
"version": {
|
|
8
|
+
"manifestRootsToUpdate": ["dist/{projectRoot}"],
|
|
9
|
+
"currentVersionResolver": "git-tag",
|
|
10
|
+
"fallbackCurrentVersionResolver": "disk"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"tags": [],
|
|
14
|
+
"targets": {
|
|
15
|
+
"build": {
|
|
16
|
+
"executor": "@nx/esbuild:esbuild",
|
|
17
|
+
"outputs": ["{options.outputPath}"],
|
|
18
|
+
"options": {
|
|
19
|
+
"outputPath": "dist/packages/core",
|
|
20
|
+
"main": "packages/core/src/index.ts",
|
|
21
|
+
"tsConfig": "packages/core/tsconfig.lib.json",
|
|
22
|
+
"assets": ["packages/core/*.md"],
|
|
23
|
+
"format": ["esm"],
|
|
24
|
+
"bundle": false
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"nx-release-publish": {
|
|
28
|
+
"options": {
|
|
29
|
+
"packageRoot": "dist/{projectRoot}"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RequestContext } from '../schemas/session.schema.js';
|
|
2
|
-
import {
|
|
2
|
+
import { BaseCapability } from './base.capability.js';
|
|
3
3
|
import type { Cache } from '../cache/cache.interface.js';
|
|
4
4
|
import {
|
|
5
5
|
AnalyticsMutationSchema,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from '../schemas/index.js';
|
|
13
13
|
import { Reactionary } from '../decorators/reactionary.decorator.js';
|
|
14
14
|
|
|
15
|
-
export abstract class
|
|
15
|
+
export abstract class AnalyticsCapability extends BaseCapability {
|
|
16
16
|
protected override getResourceName(): string {
|
|
17
17
|
return 'analytics';
|
|
18
18
|
}
|
|
@@ -58,25 +58,25 @@ export abstract class AnalyticsProvider extends BaseProvider {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
export class
|
|
62
|
-
protected
|
|
61
|
+
export class MulticastAnalyticsCapability extends AnalyticsCapability {
|
|
62
|
+
protected capabilities: Array<AnalyticsCapability>;
|
|
63
63
|
|
|
64
64
|
constructor(
|
|
65
65
|
cache: Cache,
|
|
66
66
|
requestContext: RequestContext,
|
|
67
|
-
|
|
67
|
+
capabilities: Array<AnalyticsCapability>
|
|
68
68
|
) {
|
|
69
69
|
super(cache, requestContext);
|
|
70
70
|
|
|
71
|
-
this.
|
|
71
|
+
this.capabilities = capabilities;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
@Reactionary({
|
|
75
75
|
inputSchema: AnalyticsMutationSchema,
|
|
76
76
|
})
|
|
77
77
|
public override async track(event: AnalyticsMutation) {
|
|
78
|
-
for (const
|
|
79
|
-
|
|
78
|
+
for (const capability of this.capabilities) {
|
|
79
|
+
capability.track(event);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
}
|
package/{core/src/providers/base.provider.ts → packages/core/src/capabilities/base.capability.ts}
RENAMED
|
@@ -3,10 +3,10 @@ import { type RequestContext } from '../schemas/session.schema.js';
|
|
|
3
3
|
import { hasher } from "node-object-hash";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Base capability
|
|
6
|
+
* Base capability abstraction, responsible for mutations (changes) and queries (fetches)
|
|
7
7
|
* for a given business object domain.
|
|
8
8
|
*/
|
|
9
|
-
export abstract class
|
|
9
|
+
export abstract class BaseCapability {
|
|
10
10
|
protected cache: Cache;
|
|
11
11
|
protected context: RequestContext;
|
|
12
12
|
|
package/{core/src/providers/cart.provider.ts → packages/core/src/capabilities/cart.capability.ts}
RENAMED
|
@@ -4,12 +4,15 @@ import type { CartIdentifier } from "../schemas/models/identifiers.model.js";
|
|
|
4
4
|
import type { CartMutationApplyCoupon, CartMutationChangeCurrency, CartMutationDeleteCart, CartMutationItemAdd, CartMutationItemQuantityChange, CartMutationItemRemove, CartMutationRemoveCoupon } from "../schemas/mutations/cart.mutation.js";
|
|
5
5
|
import type { CartQueryById } from "../schemas/queries/cart.query.js";
|
|
6
6
|
import type { Result } from "../schemas/result.js";
|
|
7
|
-
import {
|
|
7
|
+
import { BaseCapability } from "./base.capability.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* @group Providers
|
|
11
11
|
*/
|
|
12
|
-
export abstract class
|
|
12
|
+
export abstract class CartCapability<
|
|
13
|
+
TCart extends Cart = Cart,
|
|
14
|
+
TCartIdentifier extends CartIdentifier = CartIdentifier,
|
|
15
|
+
> extends BaseCapability {
|
|
13
16
|
|
|
14
17
|
/**
|
|
15
18
|
* Get cart by ID.
|
|
@@ -18,7 +21,7 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
18
21
|
* @param payload
|
|
19
22
|
* @param session
|
|
20
23
|
*/
|
|
21
|
-
public abstract getById(payload: CartQueryById): Promise<Result<
|
|
24
|
+
public abstract getById(payload: CartQueryById): Promise<Result<TCart, NotFoundError>>;
|
|
22
25
|
|
|
23
26
|
|
|
24
27
|
/**
|
|
@@ -27,7 +30,7 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
27
30
|
* Usecase: Most common usecase during site load, or after login. You want to get the active cart for the user, so you can display it in the minicart.
|
|
28
31
|
* @param session
|
|
29
32
|
*/
|
|
30
|
-
public abstract getActiveCartId(): Promise<Result<
|
|
33
|
+
public abstract getActiveCartId(): Promise<Result<TCartIdentifier, NotFoundError>>;
|
|
31
34
|
|
|
32
35
|
|
|
33
36
|
/**
|
|
@@ -39,7 +42,7 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
39
42
|
* @param payload
|
|
40
43
|
* @param session
|
|
41
44
|
*/
|
|
42
|
-
public abstract add(payload: CartMutationItemAdd): Promise<Result<
|
|
45
|
+
public abstract add(payload: CartMutationItemAdd): Promise<Result<TCart>>;
|
|
43
46
|
|
|
44
47
|
/**
|
|
45
48
|
* Remove item from cart. If the cart is empty after removal, delete the cart. Returns the updated and recalculated cart.
|
|
@@ -48,7 +51,7 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
48
51
|
* @param payload
|
|
49
52
|
* @param session
|
|
50
53
|
*/
|
|
51
|
-
public abstract remove(payload: CartMutationItemRemove): Promise<Result<
|
|
54
|
+
public abstract remove(payload: CartMutationItemRemove): Promise<Result<TCart>>;
|
|
52
55
|
|
|
53
56
|
/**
|
|
54
57
|
* Change quantity of item in cart. If the cart is empty after change, delete the cart. Returns the updated and recalculated cart.
|
|
@@ -59,7 +62,7 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
59
62
|
* @param payload
|
|
60
63
|
* @param session
|
|
61
64
|
*/
|
|
62
|
-
public abstract changeQuantity(payload: CartMutationItemQuantityChange): Promise<Result<
|
|
65
|
+
public abstract changeQuantity(payload: CartMutationItemQuantityChange): Promise<Result<TCart>>;
|
|
63
66
|
|
|
64
67
|
|
|
65
68
|
/**
|
|
@@ -78,7 +81,7 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
78
81
|
* @param payload
|
|
79
82
|
* @param session
|
|
80
83
|
*/
|
|
81
|
-
public abstract applyCouponCode(payload: CartMutationApplyCoupon): Promise<Result<
|
|
84
|
+
public abstract applyCouponCode(payload: CartMutationApplyCoupon): Promise<Result<TCart>>;
|
|
82
85
|
|
|
83
86
|
|
|
84
87
|
/**
|
|
@@ -88,7 +91,7 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
88
91
|
* @param payload
|
|
89
92
|
* @param session
|
|
90
93
|
*/
|
|
91
|
-
public abstract removeCouponCode(payload: CartMutationRemoveCoupon): Promise<Result<
|
|
94
|
+
public abstract removeCouponCode(payload: CartMutationRemoveCoupon): Promise<Result<TCart>>;
|
|
92
95
|
|
|
93
96
|
/**
|
|
94
97
|
* Changes the currency of the cart.
|
|
@@ -97,10 +100,9 @@ export abstract class CartProvider extends BaseProvider {
|
|
|
97
100
|
* @param newCurrency
|
|
98
101
|
* @param session
|
|
99
102
|
*/
|
|
100
|
-
public abstract changeCurrency(payload: CartMutationChangeCurrency): Promise<Result<
|
|
103
|
+
public abstract changeCurrency(payload: CartMutationChangeCurrency): Promise<Result<TCart>>;
|
|
101
104
|
|
|
102
105
|
protected override getResourceName(): string {
|
|
103
106
|
return 'cart';
|
|
104
107
|
}
|
|
105
108
|
}
|
|
106
|
-
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import type { Category, CategoryPaginatedResult, NotFoundError, Result } from "../schemas/index.js";
|
|
2
2
|
import type { CategoryQueryById, CategoryQueryBySlug, CategoryQueryForBreadcrumb, CategoryQueryForChildCategories, CategoryQueryForTopCategories } from "../schemas/queries/category.query.js";
|
|
3
|
-
import {
|
|
3
|
+
import { BaseCapability } from "./base.capability.js";
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* CategoryCapability
|
|
9
9
|
*
|
|
10
|
-
* This
|
|
10
|
+
* This capability allows fetching of single or sets of categories.
|
|
11
11
|
*
|
|
12
12
|
* We only allow fetching one hierachy level at a time, for now. This is to avoid development patterns of "fetch 5000 categories in one go.."
|
|
13
13
|
*
|
|
14
14
|
* @group Foo
|
|
15
15
|
*/
|
|
16
|
-
export abstract class
|
|
16
|
+
export abstract class CategoryCapability<
|
|
17
|
+
TCategory extends Category = Category,
|
|
18
|
+
TCategoryPaginatedResult extends CategoryPaginatedResult = CategoryPaginatedResult,
|
|
19
|
+
> extends BaseCapability {
|
|
17
20
|
/**
|
|
18
21
|
* Get a single category by its ID. Cannot return null, because HOW did you come across a categories ID that does not exist?
|
|
19
22
|
*
|
|
@@ -29,7 +32,7 @@ export abstract class CategoryProvider extends BaseProvider {
|
|
|
29
32
|
* @param id
|
|
30
33
|
* @param session
|
|
31
34
|
*/
|
|
32
|
-
public abstract getById(payload: CategoryQueryById): Promise<Result<
|
|
35
|
+
public abstract getById(payload: CategoryQueryById): Promise<Result<TCategory, NotFoundError>>;
|
|
33
36
|
|
|
34
37
|
/**
|
|
35
38
|
* Gets a single category by its seo slug
|
|
@@ -38,7 +41,7 @@ export abstract class CategoryProvider extends BaseProvider {
|
|
|
38
41
|
* @param slug the slug
|
|
39
42
|
* @param session
|
|
40
43
|
*/
|
|
41
|
-
public abstract getBySlug(payload: CategoryQueryBySlug): Promise<Result<
|
|
44
|
+
public abstract getBySlug(payload: CategoryQueryBySlug): Promise<Result<TCategory, NotFoundError>>;
|
|
42
45
|
|
|
43
46
|
/**
|
|
44
47
|
* Gets the breadcrumb path to the category, i.e. all parents up to the root.
|
|
@@ -48,7 +51,7 @@ export abstract class CategoryProvider extends BaseProvider {
|
|
|
48
51
|
* @param id
|
|
49
52
|
* @param session
|
|
50
53
|
*/
|
|
51
|
-
public abstract getBreadcrumbPathToCategory(payload: CategoryQueryForBreadcrumb): Promise<Result<
|
|
54
|
+
public abstract getBreadcrumbPathToCategory(payload: CategoryQueryForBreadcrumb): Promise<Result<TCategory[]>>;
|
|
52
55
|
|
|
53
56
|
// hmm, this is not really good enough.... We need a type we can pass in that will allow us to specify the precise return type, but otoh we also need
|
|
54
57
|
// to be able to verify and assert the output type. FIXME
|
|
@@ -63,7 +66,7 @@ export abstract class CategoryProvider extends BaseProvider {
|
|
|
63
66
|
* @param id The ID of the parent category.
|
|
64
67
|
* @param session The session information.
|
|
65
68
|
*/
|
|
66
|
-
public abstract findChildCategories(payload: CategoryQueryForChildCategories): Promise<Result<
|
|
69
|
+
public abstract findChildCategories(payload: CategoryQueryForChildCategories): Promise<Result<TCategoryPaginatedResult>>;
|
|
67
70
|
|
|
68
71
|
/**
|
|
69
72
|
* Returns all top categories, i.e. categories without a parent.
|
|
@@ -72,7 +75,7 @@ export abstract class CategoryProvider extends BaseProvider {
|
|
|
72
75
|
* @param paginationOptions
|
|
73
76
|
* @param session
|
|
74
77
|
*/
|
|
75
|
-
public abstract findTopCategories( payload: CategoryQueryForTopCategories): Promise<Result<
|
|
78
|
+
public abstract findTopCategories( payload: CategoryQueryForTopCategories): Promise<Result<TCategoryPaginatedResult>>;
|
|
76
79
|
|
|
77
80
|
|
|
78
81
|
protected override getResourceName(): string {
|
|
@@ -80,4 +83,3 @@ export abstract class CategoryProvider extends BaseProvider {
|
|
|
80
83
|
}
|
|
81
84
|
|
|
82
85
|
}
|
|
83
|
-
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { Checkout, PaymentMethod, ShippingMethod } from "../schemas/models/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { BaseCapability } from "./base.capability.js";
|
|
3
3
|
import type { CheckoutMutationFinalizeCheckout, CheckoutMutationInitiateCheckout, CheckoutMutationSetShippingAddress, CheckoutMutationAddPaymentInstruction, CheckoutMutationRemovePaymentInstruction, CheckoutMutationSetShippingInstruction } from "../schemas/mutations/checkout.mutation.js";
|
|
4
4
|
import type { CheckoutQueryById, CheckoutQueryForAvailablePaymentMethods, CheckoutQueryForAvailableShippingMethods } from "../schemas/queries/index.js";
|
|
5
5
|
import type { Result } from "../schemas/result.js";
|
|
6
6
|
import type { NotFoundError } from "../schemas/index.js";
|
|
7
7
|
|
|
8
|
-
export abstract class
|
|
8
|
+
export abstract class CheckoutCapability<
|
|
9
|
+
TCheckout extends Checkout = Checkout,
|
|
10
|
+
TShippingMethod extends ShippingMethod = ShippingMethod,
|
|
11
|
+
TPaymentMethod extends PaymentMethod = PaymentMethod,
|
|
12
|
+
> extends BaseCapability {
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
15
|
* This starts a new checkout session for the given cart. The checkout might duplicate the cart, or just reference it, depending on implementation, but changes to the cart,
|
|
@@ -17,7 +21,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
17
21
|
* @param billingAddress the billing/shipping address to start with. This affects available shipping methods, and may be required by some payment providers.
|
|
18
22
|
* @param reqCtx
|
|
19
23
|
*/
|
|
20
|
-
public abstract initiateCheckoutForCart(payload: CheckoutMutationInitiateCheckout): Promise<Result<
|
|
24
|
+
public abstract initiateCheckoutForCart(payload: CheckoutMutationInitiateCheckout): Promise<Result<TCheckout>>;
|
|
21
25
|
|
|
22
26
|
|
|
23
27
|
/**
|
|
@@ -27,7 +31,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
27
31
|
* @param payload
|
|
28
32
|
* @param reqCtx
|
|
29
33
|
*/
|
|
30
|
-
public abstract getById(payload: CheckoutQueryById): Promise<Result<
|
|
34
|
+
public abstract getById(payload: CheckoutQueryById): Promise<Result<TCheckout, NotFoundError>>;
|
|
31
35
|
|
|
32
36
|
/**
|
|
33
37
|
* Updates the shipping address for the checkout and recalculates the shipping methods and totals.
|
|
@@ -37,7 +41,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
37
41
|
* NOTE: Unsure this is really needed.
|
|
38
42
|
* @param shippingAddress The updated shipping address. Note: This may also be the billing address, if your store does not differentiate.
|
|
39
43
|
*/
|
|
40
|
-
public abstract setShippingAddress(payload: CheckoutMutationSetShippingAddress): Promise<Result<
|
|
44
|
+
public abstract setShippingAddress(payload: CheckoutMutationSetShippingAddress): Promise<Result<TCheckout>>;
|
|
41
45
|
|
|
42
46
|
/**
|
|
43
47
|
* Returns all available shipping methods for the given checkout. This will typically depend on the shipping address, and possibly also the items in the checkout.
|
|
@@ -47,7 +51,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
47
51
|
* @param checkoutId The checkout you want to get shipping methods for.
|
|
48
52
|
* @param reqCtx
|
|
49
53
|
*/
|
|
50
|
-
public abstract getAvailableShippingMethods(payload: CheckoutQueryForAvailableShippingMethods): Promise<Result<
|
|
54
|
+
public abstract getAvailableShippingMethods(payload: CheckoutQueryForAvailableShippingMethods): Promise<Result<TShippingMethod[]>>;
|
|
51
55
|
|
|
52
56
|
/**
|
|
53
57
|
* Returns all available payment methods for the given checkout. This will typically depend mostly on the billing address and jurisdiction.
|
|
@@ -57,7 +61,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
57
61
|
* @param checkoutId The checkout you want to get payment methods for.
|
|
58
62
|
* @param reqCtx
|
|
59
63
|
*/
|
|
60
|
-
public abstract getAvailablePaymentMethods(payload: CheckoutQueryForAvailablePaymentMethods): Promise<Result<
|
|
64
|
+
public abstract getAvailablePaymentMethods(payload: CheckoutQueryForAvailablePaymentMethods): Promise<Result<TPaymentMethod[]>>;
|
|
61
65
|
|
|
62
66
|
|
|
63
67
|
/**
|
|
@@ -65,7 +69,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
65
69
|
*
|
|
66
70
|
* Usecase: User has chosen a payment method, and you need to start the payment process.
|
|
67
71
|
*/
|
|
68
|
-
public abstract addPaymentInstruction(payload: CheckoutMutationAddPaymentInstruction): Promise<Result<
|
|
72
|
+
public abstract addPaymentInstruction(payload: CheckoutMutationAddPaymentInstruction): Promise<Result<TCheckout>>;
|
|
69
73
|
|
|
70
74
|
/**
|
|
71
75
|
* Removes a payment instruction from the checkout. This will typically void the payment intent in the payment provider, and remove the payment instruction from the checkout.
|
|
@@ -73,7 +77,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
73
77
|
* Usecase: User has decided to change payment method, or has cancelled the payment process.
|
|
74
78
|
* @param paymentInstructionId
|
|
75
79
|
*/
|
|
76
|
-
public abstract removePaymentInstruction(payload: CheckoutMutationRemovePaymentInstruction): Promise<Result<
|
|
80
|
+
public abstract removePaymentInstruction(payload: CheckoutMutationRemovePaymentInstruction): Promise<Result<TCheckout>>;
|
|
77
81
|
|
|
78
82
|
|
|
79
83
|
|
|
@@ -87,7 +91,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
87
91
|
* @param shippingMethodId
|
|
88
92
|
* @param pickupPoint
|
|
89
93
|
*/
|
|
90
|
-
public abstract setShippingInstruction(payload: CheckoutMutationSetShippingInstruction): Promise<Result<
|
|
94
|
+
public abstract setShippingInstruction(payload: CheckoutMutationSetShippingInstruction): Promise<Result<TCheckout>>;
|
|
91
95
|
|
|
92
96
|
/**
|
|
93
97
|
* Finalizes the checkout process. This typically involves creating an order from the checkout and processing payment.
|
|
@@ -97,7 +101,7 @@ export abstract class CheckoutProvider extends BaseProvider {
|
|
|
97
101
|
* @param payload
|
|
98
102
|
* @param reqCtx
|
|
99
103
|
*/
|
|
100
|
-
public abstract finalizeCheckout(payload: CheckoutMutationFinalizeCheckout): Promise<Result<
|
|
104
|
+
public abstract finalizeCheckout(payload: CheckoutMutationFinalizeCheckout): Promise<Result<TCheckout>>;
|
|
101
105
|
|
|
102
106
|
|
|
103
107
|
public override getResourceName(): string {
|
|
@@ -2,20 +2,20 @@ import type { Identity } from "../schemas/models/identity.model.js";
|
|
|
2
2
|
import type { IdentityMutationLogin, IdentityMutationLogout, IdentityMutationRegister } from "../schemas/mutations/identity.mutation.js";
|
|
3
3
|
import type { IdentityQuerySelf } from "../schemas/queries/identity.query.js";
|
|
4
4
|
import type { Result } from "../schemas/result.js";
|
|
5
|
-
import {
|
|
5
|
+
import { BaseCapability } from "./base.capability.js";
|
|
6
6
|
|
|
7
|
-
export abstract class
|
|
8
|
-
public abstract getSelf(payload: IdentityQuerySelf): Promise<Result<
|
|
9
|
-
public abstract login(payload: IdentityMutationLogin): Promise<Result<
|
|
10
|
-
public abstract logout(payload: IdentityMutationLogout): Promise<Result<
|
|
11
|
-
public abstract register(payload: IdentityMutationRegister): Promise<Result<
|
|
7
|
+
export abstract class IdentityCapability<TIdentity extends Identity = Identity> extends BaseCapability {
|
|
8
|
+
public abstract getSelf(payload: IdentityQuerySelf): Promise<Result<TIdentity>>;
|
|
9
|
+
public abstract login(payload: IdentityMutationLogin): Promise<Result<TIdentity>>;
|
|
10
|
+
public abstract logout(payload: IdentityMutationLogout): Promise<Result<TIdentity>>;
|
|
11
|
+
public abstract register(payload: IdentityMutationRegister): Promise<Result<TIdentity>>;
|
|
12
12
|
|
|
13
13
|
protected override getResourceName(): string {
|
|
14
14
|
return 'identity';
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
protected updateIdentityContext(identity:
|
|
17
|
+
protected updateIdentityContext(identity: TIdentity) {
|
|
18
18
|
this.context.session.identityContext.lastUpdated = new Date();
|
|
19
|
-
this.context.session.identityContext.identity = identity;
|
|
19
|
+
this.context.session.identityContext.identity = identity as Identity;
|
|
20
20
|
}
|
|
21
21
|
}
|