@reactionary/commercetools 0.9.0 → 0.9.2
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/capabilities/personalization-profile.capability.js +86 -0
- package/core/capability-descriptors.js +17 -1
- package/factories/personalization-profile/personalization-profile.factory.js +18 -0
- package/index.js +2 -0
- package/package.json +2 -2
- package/schema/capabilities.schema.js +3 -1
- package/src/capabilities/personalization-profile.capability.d.ts +13 -0
- package/src/core/capability-descriptors.d.ts +1 -1
- package/src/core/initialize.types.d.ts +6 -1
- package/src/factories/personalization-profile/personalization-profile.factory.d.ts +8 -0
- package/src/index.d.ts +2 -0
- package/src/schema/capabilities.schema.d.ts +6 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result)
|
|
9
|
+
__defProp(target, key, result);
|
|
10
|
+
return result;
|
|
11
|
+
};
|
|
12
|
+
import {
|
|
13
|
+
PersonalizationProfileCapability,
|
|
14
|
+
PersonalizationProfileSchema,
|
|
15
|
+
PersonalizationProfileQueryGetProfileSchema,
|
|
16
|
+
Reactionary,
|
|
17
|
+
success
|
|
18
|
+
} from "@reactionary/core";
|
|
19
|
+
import createDebug from "debug";
|
|
20
|
+
const debug = createDebug("reactionary:commercetools:personalization-profile");
|
|
21
|
+
class CommercetoolsPersonalizationProfileCapability extends PersonalizationProfileCapability {
|
|
22
|
+
config;
|
|
23
|
+
commercetools;
|
|
24
|
+
factory;
|
|
25
|
+
constructor(config, cache, context, commercetools, factory) {
|
|
26
|
+
super(cache, context);
|
|
27
|
+
this.config = config;
|
|
28
|
+
this.commercetools = commercetools;
|
|
29
|
+
this.factory = factory;
|
|
30
|
+
}
|
|
31
|
+
async getClient() {
|
|
32
|
+
const client = await this.commercetools.getClient();
|
|
33
|
+
return client.withProjectKey({ projectKey: this.config.projectKey });
|
|
34
|
+
}
|
|
35
|
+
async getPersonalizationProfile(payload) {
|
|
36
|
+
const identity = payload.identity;
|
|
37
|
+
debug("getPersonalizationProfile", payload);
|
|
38
|
+
if (identity.type === "Anonymous") {
|
|
39
|
+
return success(
|
|
40
|
+
this.factory.parsePersonalizationProfile(this.context, {
|
|
41
|
+
id: "anonymous:",
|
|
42
|
+
version: 0,
|
|
43
|
+
createdAt: "",
|
|
44
|
+
lastModifiedAt: "",
|
|
45
|
+
email: "",
|
|
46
|
+
addresses: [],
|
|
47
|
+
isEmailVerified: false,
|
|
48
|
+
authenticationMode: "Password",
|
|
49
|
+
customerGroupAssignments: []
|
|
50
|
+
})
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
if (identity.type === "Guest") {
|
|
54
|
+
return success(
|
|
55
|
+
this.factory.parsePersonalizationProfile(this.context, {
|
|
56
|
+
id: identity.id.userId,
|
|
57
|
+
version: 0,
|
|
58
|
+
createdAt: "",
|
|
59
|
+
lastModifiedAt: "",
|
|
60
|
+
email: "",
|
|
61
|
+
addresses: [],
|
|
62
|
+
isEmailVerified: false,
|
|
63
|
+
authenticationMode: "Password",
|
|
64
|
+
customerGroupAssignments: []
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
const client = await this.getClient();
|
|
69
|
+
const response = await client.me().get({
|
|
70
|
+
queryArgs: {
|
|
71
|
+
expand: ["customerGroupAssignments[*].customerGroup"]
|
|
72
|
+
}
|
|
73
|
+
}).execute();
|
|
74
|
+
const model = this.factory.parsePersonalizationProfile(this.context, response.body);
|
|
75
|
+
return success(model);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
__decorateClass([
|
|
79
|
+
Reactionary({
|
|
80
|
+
inputSchema: PersonalizationProfileQueryGetProfileSchema,
|
|
81
|
+
outputSchema: PersonalizationProfileSchema
|
|
82
|
+
})
|
|
83
|
+
], CommercetoolsPersonalizationProfileCapability.prototype, "getPersonalizationProfile", 1);
|
|
84
|
+
export {
|
|
85
|
+
CommercetoolsPersonalizationProfileCapability
|
|
86
|
+
};
|
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
PriceSchema,
|
|
28
28
|
ShippingMethodSchema,
|
|
29
29
|
StoreSchema,
|
|
30
|
+
PersonalizationProfileSchema,
|
|
30
31
|
CartPaginatedSearchResultSchema
|
|
31
32
|
} from "@reactionary/core";
|
|
32
33
|
import {
|
|
@@ -68,6 +69,8 @@ import { CommercetoolsCompanyFactory } from "../factories/company/company.factor
|
|
|
68
69
|
import { CommercetoolsEmployeeFactory } from "../factories/employee/employee.factory.js";
|
|
69
70
|
import { CommercetoolsEmployeeCapability } from "../capabilities/employee.capability.js";
|
|
70
71
|
import { CommercetoolsEmployeeInvitationCapability } from "../capabilities/employee-invitation.capability.js";
|
|
72
|
+
import { CommercetoolsPersonalizationProfileCapability } from "../capabilities/personalization-profile.capability.js";
|
|
73
|
+
import { CommercetoolsPersonalizationProfileFactory } from "../factories/personalization-profile/personalization-profile.factory.js";
|
|
71
74
|
import { CommercetoolsEmployeeInvitationFactory } from "../factories/employee-invitation/employee-invitation.factory.js";
|
|
72
75
|
const capabilityKeys = [
|
|
73
76
|
"product",
|
|
@@ -88,7 +91,8 @@ const capabilityKeys = [
|
|
|
88
91
|
"companyRegistration",
|
|
89
92
|
"company",
|
|
90
93
|
"employee",
|
|
91
|
-
"employeeInvitation"
|
|
94
|
+
"employeeInvitation",
|
|
95
|
+
"personalizationProfile"
|
|
92
96
|
];
|
|
93
97
|
const capabilityDescriptors = {
|
|
94
98
|
product: {
|
|
@@ -331,6 +335,18 @@ const capabilityDescriptors = {
|
|
|
331
335
|
args.commercetoolsApi,
|
|
332
336
|
args.factory
|
|
333
337
|
)
|
|
338
|
+
},
|
|
339
|
+
personalizationProfile: {
|
|
340
|
+
isEnabled: (caps) => caps.personalizationProfile?.enabled,
|
|
341
|
+
getOverride: (caps) => caps.personalizationProfile,
|
|
342
|
+
createDefaultFactory: () => new CommercetoolsPersonalizationProfileFactory(PersonalizationProfileSchema),
|
|
343
|
+
createDefaultCapability: (args) => new CommercetoolsPersonalizationProfileCapability(
|
|
344
|
+
args.config,
|
|
345
|
+
args.cache,
|
|
346
|
+
args.context,
|
|
347
|
+
args.commercetoolsApi,
|
|
348
|
+
args.factory
|
|
349
|
+
)
|
|
334
350
|
}
|
|
335
351
|
};
|
|
336
352
|
export {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
class CommercetoolsPersonalizationProfileFactory {
|
|
2
|
+
personalizationProfileSchema;
|
|
3
|
+
constructor(personalizationProfileSchema) {
|
|
4
|
+
this.personalizationProfileSchema = personalizationProfileSchema;
|
|
5
|
+
}
|
|
6
|
+
parsePersonalizationProfile(_context, data) {
|
|
7
|
+
const segments = (data.customerGroupAssignments ?? []).map((assignment) => assignment.customerGroup.obj?.key).filter((key) => key != null);
|
|
8
|
+
const result = {
|
|
9
|
+
identifier: { key: data.id },
|
|
10
|
+
segments,
|
|
11
|
+
blurb: ""
|
|
12
|
+
};
|
|
13
|
+
return this.personalizationProfileSchema.parse(result);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
CommercetoolsPersonalizationProfileFactory
|
|
18
|
+
};
|
package/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export * from "./capabilities/company-registration.capability.js";
|
|
|
13
13
|
export * from "./capabilities/company.capability.js";
|
|
14
14
|
export * from "./capabilities/employee.capability.js";
|
|
15
15
|
export * from "./capabilities/employee-invitation.capability.js";
|
|
16
|
+
export * from "./capabilities/personalization-profile.capability.js";
|
|
16
17
|
export * from "./factories/product/product.factory.js";
|
|
17
18
|
export * from "./factories/checkout/checkout.factory.js";
|
|
18
19
|
export * from "./factories/product-search/product-search.factory.js";
|
|
@@ -32,5 +33,6 @@ export * from "./factories/company-registration/company-registration.factory.js"
|
|
|
32
33
|
export * from "./factories/company/company.factory.js";
|
|
33
34
|
export * from "./factories/employee/employee.factory.js";
|
|
34
35
|
export * from "./factories/employee-invitation/employee-invitation.factory.js";
|
|
36
|
+
export * from "./factories/personalization-profile/personalization-profile.factory.js";
|
|
35
37
|
export * from "./schema/capabilities.schema.js";
|
|
36
38
|
export * from "./schema/configuration.schema.js";
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reactionary/commercetools",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"vitest": "^4.0.9",
|
|
9
9
|
"@nx/vite": "22.4.5",
|
|
10
|
-
"@reactionary/core": "0.9.
|
|
10
|
+
"@reactionary/core": "0.9.2",
|
|
11
11
|
"zod": "4.1.9",
|
|
12
12
|
"@commercetools/ts-client": "^4.9.1",
|
|
13
13
|
"@commercetools/platform-sdk": "^8.25.0",
|
|
@@ -23,7 +23,8 @@ const CommercetoolsCapabilitiesSchema = CapabilitiesSchema.pick({
|
|
|
23
23
|
price: true,
|
|
24
24
|
category: true,
|
|
25
25
|
store: true,
|
|
26
|
-
profile: true
|
|
26
|
+
profile: true,
|
|
27
|
+
personalizationProfile: true
|
|
27
28
|
}).extend({
|
|
28
29
|
productSearch: EnabledCapabilitySchema.optional(),
|
|
29
30
|
productAssociations: EnabledCapabilitySchema.optional(),
|
|
@@ -38,6 +39,7 @@ const CommercetoolsCapabilitiesSchema = CapabilitiesSchema.pick({
|
|
|
38
39
|
category: EnabledCapabilitySchema.optional(),
|
|
39
40
|
store: EnabledCapabilitySchema.optional(),
|
|
40
41
|
profile: EnabledCapabilitySchema.optional(),
|
|
42
|
+
personalizationProfile: EnabledCapabilitySchema.optional(),
|
|
41
43
|
companyRegistration: EnabledCapabilitySchema.optional(),
|
|
42
44
|
company: EnabledCapabilitySchema.optional(),
|
|
43
45
|
employee: EnabledCapabilitySchema.optional(),
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Cache, PersonalizationProfileFactory, PersonalizationProfileFactoryOutput, PersonalizationProfileFactoryWithOutput, PersonalizationProfileQueryGetProfile, NotFoundError, RequestContext, Result } from '@reactionary/core';
|
|
2
|
+
import { PersonalizationProfileCapability } from '@reactionary/core';
|
|
3
|
+
import type { CommercetoolsAPI } from '../core/client.js';
|
|
4
|
+
import type { CommercetoolsConfiguration } from '../schema/configuration.schema.js';
|
|
5
|
+
import type { CommercetoolsPersonalizationProfileFactory } from '../factories/personalization-profile/personalization-profile.factory.js';
|
|
6
|
+
export declare class CommercetoolsPersonalizationProfileCapability<TFactory extends PersonalizationProfileFactory = CommercetoolsPersonalizationProfileFactory> extends PersonalizationProfileCapability<PersonalizationProfileFactoryOutput<TFactory>> {
|
|
7
|
+
protected config: CommercetoolsConfiguration;
|
|
8
|
+
protected commercetools: CommercetoolsAPI;
|
|
9
|
+
protected factory: PersonalizationProfileFactoryWithOutput<TFactory>;
|
|
10
|
+
constructor(config: CommercetoolsConfiguration, cache: Cache, context: RequestContext, commercetools: CommercetoolsAPI, factory: PersonalizationProfileFactoryWithOutput<TFactory>);
|
|
11
|
+
protected getClient(): Promise<import("@commercetools/platform-sdk").ByProjectKeyRequestBuilder>;
|
|
12
|
+
getPersonalizationProfile(payload: PersonalizationProfileQueryGetProfile): Promise<Result<PersonalizationProfileFactoryOutput<TFactory>, NotFoundError>>;
|
|
13
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type * as z from 'zod';
|
|
2
2
|
import { type CommercetoolsCapabilities, type CommercetoolsCapabilitiesSchema } from '../schema/capabilities.schema.js';
|
|
3
|
-
export declare const capabilityKeys: readonly ["product", "profile", "productSearch", "productAssociations", "productList", "productReviews", "identity", "cart", "inventory", "price", "category", "checkout", "store", "order", "orderSearch", "companyRegistration", "company", "employee", "employeeInvitation"];
|
|
3
|
+
export declare const capabilityKeys: readonly ["product", "profile", "productSearch", "productAssociations", "productList", "productReviews", "identity", "cart", "inventory", "price", "category", "checkout", "store", "order", "orderSearch", "companyRegistration", "company", "employee", "employeeInvitation", "personalizationProfile"];
|
|
4
4
|
export type OverridableCapabilityKey = (typeof capabilityKeys)[number];
|
|
5
5
|
type ParsedCapabilities = z.infer<typeof CommercetoolsCapabilitiesSchema>;
|
|
6
6
|
export type CapabilityDescriptor = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CartFactory, CategoryFactory, CheckoutFactory, ClientFromCapabilities, IdentityFactory, InventoryFactory, OrderFactory, OrderSearchFactory, PriceFactory, ProductAssociationsFactory, ProductFactory, ProductListFactory, ProductReviewsFactory, ProductSearchFactory, ProfileFactory, StoreFactory } from '@reactionary/core';
|
|
1
|
+
import type { CartFactory, CategoryFactory, CheckoutFactory, ClientFromCapabilities, IdentityFactory, InventoryFactory, PersonalizationProfileFactory, OrderFactory, OrderSearchFactory, PriceFactory, ProductAssociationsFactory, ProductFactory, ProductListFactory, ProductReviewsFactory, ProductSearchFactory, ProfileFactory, StoreFactory } from '@reactionary/core';
|
|
2
2
|
import type { CommercetoolsCapabilities } from '../schema/capabilities.schema.js';
|
|
3
3
|
import type { OverridableCapabilityKey } from './capability-descriptors.js';
|
|
4
4
|
import type { CommercetoolsCartFactory } from '../factories/cart/cart.factory.js';
|
|
@@ -16,6 +16,7 @@ import type { CommercetoolsProductReviewsFactory } from '../factories/product-re
|
|
|
16
16
|
import type { CommercetoolsProductSearchFactory } from '../factories/product-search/product-search.factory.js';
|
|
17
17
|
import type { CommercetoolsProfileFactory } from '../factories/profile/profile.factory.js';
|
|
18
18
|
import type { CommercetoolsStoreFactory } from '../factories/store/store.factory.js';
|
|
19
|
+
import type { CommercetoolsPersonalizationProfileFactory } from '../factories/personalization-profile/personalization-profile.factory.js';
|
|
19
20
|
import type { CommercetoolsCompanyRegistrationFactory } from '../factories/company-registration/company-registration.factory.js';
|
|
20
21
|
import type { CommercetoolsCompanyFactory } from '../factories/company/company.factory.js';
|
|
21
22
|
import type { CommercetoolsEmployeeFactory } from '../factories/employee/employee.factory.js';
|
|
@@ -39,6 +40,7 @@ import type { CommercetoolsCompanyRegistrationCapability } from '../capabilities
|
|
|
39
40
|
import type { CommercetoolsCompanyCapability } from '../capabilities/company.capability.js';
|
|
40
41
|
import type { CommercetoolsEmployeeCapability } from '../capabilities/employee.capability.js';
|
|
41
42
|
import type { CommercetoolsEmployeeInvitationCapability } from '../capabilities/employee-invitation.capability.js';
|
|
43
|
+
import type { CommercetoolsPersonalizationProfileCapability } from '../capabilities/personalization-profile.capability.js';
|
|
42
44
|
type EnabledCapability<TCapability> = TCapability extends {
|
|
43
45
|
enabled: true;
|
|
44
46
|
} ? true : false;
|
|
@@ -73,6 +75,7 @@ type FactoryContractMap = {
|
|
|
73
75
|
company: CommercetoolsCompanyFactory;
|
|
74
76
|
employee: CommercetoolsEmployeeFactory;
|
|
75
77
|
employeeInvitation: CommercetoolsEmployeeInvitationFactory;
|
|
78
|
+
personalizationProfile: PersonalizationProfileFactory;
|
|
76
79
|
};
|
|
77
80
|
type DefaultFactoryMap = {
|
|
78
81
|
product: CommercetoolsProductFactory;
|
|
@@ -94,6 +97,7 @@ type DefaultFactoryMap = {
|
|
|
94
97
|
company: CommercetoolsCompanyFactory;
|
|
95
98
|
employee: CommercetoolsEmployeeFactory;
|
|
96
99
|
employeeInvitation: CommercetoolsEmployeeInvitationFactory;
|
|
100
|
+
personalizationProfile: CommercetoolsPersonalizationProfileFactory;
|
|
97
101
|
};
|
|
98
102
|
type ResolvedFactoryMap<T extends CommercetoolsCapabilities> = {
|
|
99
103
|
[K in OverridableCapabilityKey]: ExtractCapabilityFactory<T[K], FactoryContractMap[K], DefaultFactoryMap[K]>;
|
|
@@ -118,6 +122,7 @@ type DefaultCapabilityMap<T extends CommercetoolsCapabilities> = {
|
|
|
118
122
|
company: CommercetoolsCompanyCapability;
|
|
119
123
|
employee: CommercetoolsEmployeeCapability;
|
|
120
124
|
employeeInvitation: CommercetoolsEmployeeInvitationCapability;
|
|
125
|
+
personalizationProfile: CommercetoolsPersonalizationProfileCapability<ResolvedFactoryMap<T>['personalizationProfile']>;
|
|
121
126
|
};
|
|
122
127
|
type CapabilityImplementationMap<T extends CommercetoolsCapabilities> = {
|
|
123
128
|
[K in OverridableCapabilityKey]: ExtractCapabilityImplementation<T[K], DefaultCapabilityMap<T>[K]>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AnyPersonalizationProfileSchema, PersonalizationProfileFactory, PersonalizationProfileSchema, RequestContext } from '@reactionary/core';
|
|
2
|
+
import type { Customer } from '@commercetools/platform-sdk';
|
|
3
|
+
import type * as z from 'zod';
|
|
4
|
+
export declare class CommercetoolsPersonalizationProfileFactory<TPersonalizationProfileSchema extends AnyPersonalizationProfileSchema = typeof PersonalizationProfileSchema> implements PersonalizationProfileFactory<TPersonalizationProfileSchema> {
|
|
5
|
+
readonly personalizationProfileSchema: TPersonalizationProfileSchema;
|
|
6
|
+
constructor(personalizationProfileSchema: TPersonalizationProfileSchema);
|
|
7
|
+
parsePersonalizationProfile(_context: RequestContext, data: Customer): z.output<TPersonalizationProfileSchema>;
|
|
8
|
+
}
|
package/src/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * from './capabilities/company-registration.capability.js';
|
|
|
13
13
|
export * from './capabilities/company.capability.js';
|
|
14
14
|
export * from './capabilities/employee.capability.js';
|
|
15
15
|
export * from './capabilities/employee-invitation.capability.js';
|
|
16
|
+
export * from './capabilities/personalization-profile.capability.js';
|
|
16
17
|
export * from './factories/product/product.factory.js';
|
|
17
18
|
export * from './factories/checkout/checkout.factory.js';
|
|
18
19
|
export * from './factories/product-search/product-search.factory.js';
|
|
@@ -32,5 +33,6 @@ export * from './factories/company-registration/company-registration.factory.js'
|
|
|
32
33
|
export * from './factories/company/company.factory.js';
|
|
33
34
|
export * from './factories/employee/employee.factory.js';
|
|
34
35
|
export * from './factories/employee-invitation/employee-invitation.factory.js';
|
|
36
|
+
export * from './factories/personalization-profile/personalization-profile.factory.js';
|
|
35
37
|
export * from './schema/capabilities.schema.js';
|
|
36
38
|
export * from './schema/configuration.schema.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Cache, CartFactory, CartFactoryWithOutput, CartCapability, CategoryFactory, CategoryFactoryWithOutput, CategoryCapability, CheckoutFactory, CheckoutFactoryWithOutput, CheckoutCapability, IdentityFactory, IdentityFactoryWithOutput, IdentityCapability, InventoryFactory, InventoryFactoryWithOutput, InventoryCapability, OrderFactory, OrderFactoryWithOutput, OrderCapability, OrderSearchFactory, OrderSearchFactoryWithOutput, OrderSearchCapability, PriceFactory, PriceFactoryWithOutput, PriceCapability, ProductAssociationsFactory, ProductAssociationsFactoryWithOutput, ProductAssociationsCapability, ProductFactory, ProductFactoryWithOutput, ProductListFactory, ProductListFactoryWithOutput, ProductListCapability, ProductCapability, ProductReviewsFactory, ProductReviewsFactoryWithOutput, ProductReviewsCapability, ProductSearchFactory, ProductSearchFactoryWithOutput, ProductSearchCapability, ProfileFactory, ProfileFactoryWithOutput, ProfileCapability, RequestContext, StoreFactory, StoreFactoryWithOutput, StoreCapability, CompanyRegistrationCapability, CompanyCapability, EmployeeCapability, EmployeeInvitationCapability } from '@reactionary/core';
|
|
1
|
+
import type { Cache, CartFactory, CartFactoryWithOutput, CartCapability, CategoryFactory, CategoryFactoryWithOutput, CategoryCapability, CheckoutFactory, CheckoutFactoryWithOutput, CheckoutCapability, IdentityFactory, IdentityFactoryWithOutput, IdentityCapability, InventoryFactory, InventoryFactoryWithOutput, InventoryCapability, OrderFactory, OrderFactoryWithOutput, OrderCapability, OrderSearchFactory, OrderSearchFactoryWithOutput, OrderSearchCapability, PriceFactory, PriceFactoryWithOutput, PriceCapability, ProductAssociationsFactory, ProductAssociationsFactoryWithOutput, ProductAssociationsCapability, ProductFactory, ProductFactoryWithOutput, ProductListFactory, ProductListFactoryWithOutput, ProductListCapability, ProductCapability, ProductReviewsFactory, ProductReviewsFactoryWithOutput, ProductReviewsCapability, ProductSearchFactory, ProductSearchFactoryWithOutput, ProductSearchCapability, ProfileFactory, ProfileFactoryWithOutput, ProfileCapability, RequestContext, StoreFactory, StoreFactoryWithOutput, StoreCapability, PersonalizationProfileFactory, PersonalizationProfileFactoryWithOutput, PersonalizationProfileCapability, CompanyRegistrationCapability, CompanyCapability, EmployeeCapability, EmployeeInvitationCapability } from '@reactionary/core';
|
|
2
2
|
import type { CommercetoolsAPI } from '../core/client.js';
|
|
3
3
|
import type { CommercetoolsConfiguration } from './configuration.schema.js';
|
|
4
4
|
import type { CommercetoolsCompanyRegistrationFactory } from '../factories/company-registration/company-registration.factory.js';
|
|
@@ -46,6 +46,9 @@ export declare const CommercetoolsCapabilitiesSchema: z.ZodObject<{
|
|
|
46
46
|
profile: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
47
47
|
enabled: z.ZodBoolean;
|
|
48
48
|
}, z.core.$loose>>>;
|
|
49
|
+
personalizationProfile: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
50
|
+
enabled: z.ZodBoolean;
|
|
51
|
+
}, z.core.$loose>>>;
|
|
49
52
|
companyRegistration: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
50
53
|
enabled: z.ZodBoolean;
|
|
51
54
|
}, z.core.$loose>>>;
|
|
@@ -98,6 +101,7 @@ export type CommercetoolsStoreCapabilityConfig = CommercetoolsCapabilityConfig<S
|
|
|
98
101
|
export type CommercetoolsProfileCapabilityConfig = CommercetoolsCapabilityConfig<ProfileFactoryWithOutput<ProfileFactory>, ProfileCapability>;
|
|
99
102
|
export type CommercetoolsOrderCapabilityConfig = CommercetoolsCapabilityConfig<OrderFactoryWithOutput<OrderFactory>, OrderCapability>;
|
|
100
103
|
export type CommercetoolsOrderSearchCapabilityConfig = CommercetoolsCapabilityConfig<OrderSearchFactoryWithOutput<OrderSearchFactory>, OrderSearchCapability>;
|
|
104
|
+
export type CommercetoolsPersonalizationProfileCapabilityConfig = CommercetoolsCapabilityConfig<PersonalizationProfileFactoryWithOutput<PersonalizationProfileFactory>, PersonalizationProfileCapability>;
|
|
101
105
|
export type CommercetoolsCompanyRegistrationCapabilityConfig = CommercetoolsCapabilityConfig<CommercetoolsCompanyRegistrationFactory, CompanyRegistrationCapability>;
|
|
102
106
|
export type CommercetoolsCompanyCapabilityConfig = CommercetoolsCapabilityConfig<CommercetoolsCompanyFactory, CompanyCapability>;
|
|
103
107
|
export type CommercetoolsEmployeeCapabilityConfig = CommercetoolsCapabilityConfig<CommercetoolsEmployeeFactory, EmployeeCapability>;
|
|
@@ -121,6 +125,7 @@ export type CommercetoolsCapabilityConfigMap<TProductFactory extends ProductFact
|
|
|
121
125
|
company: EnabledCapabilityConfig<CommercetoolsCompanyFactory, CompanyCapability>;
|
|
122
126
|
employee: EnabledCapabilityConfig<CommercetoolsEmployeeFactory, EmployeeCapability>;
|
|
123
127
|
employeeInvitation: EnabledCapabilityConfig<CommercetoolsEmployeeInvitationFactory, EmployeeInvitationCapability>;
|
|
128
|
+
personalizationProfile: EnabledCapabilityConfig<PersonalizationProfileFactoryWithOutput<PersonalizationProfileFactory>, PersonalizationProfileCapability>;
|
|
124
129
|
};
|
|
125
130
|
type CommercetoolsCapabilitiesBase = z.infer<typeof CommercetoolsCapabilitiesSchema>;
|
|
126
131
|
export type CommercetoolsCapabilities<TProductFactory extends ProductFactory = ProductFactory, TProductCapability extends ProductCapability = ProductCapability, TCheckoutFactory extends CheckoutFactory = CheckoutFactory, TCheckoutCapability extends CheckoutCapability = CheckoutCapability> = Omit<CommercetoolsCapabilitiesBase, keyof CommercetoolsCapabilityConfigMap<TProductFactory, TProductCapability, TCheckoutFactory, TCheckoutCapability>> & Partial<CommercetoolsCapabilityConfigMap<TProductFactory, TProductCapability, TCheckoutFactory, TCheckoutCapability>>;
|