@reactionary/medusa 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/capabilities/personalization-profile.capability.js +71 -0
- package/core/client.js +2 -2
- package/core/initialize.js +20 -1
- package/factories/index.js +1 -0
- package/factories/personalization-profile/personalization-profile.factory.js +16 -0
- package/index.js +1 -0
- package/package.json +2 -2
- package/schema/capabilities.schema.js +4 -2
- package/src/capabilities/personalization-profile.capability.d.ts +13 -0
- package/src/core/initialize.types.d.ts +7 -2
- package/src/factories/index.d.ts +1 -0
- package/src/factories/personalization-profile/personalization-profile.factory.d.ts +14 -0
- package/src/index.d.ts +1 -0
- package/src/schema/capabilities.schema.d.ts +9 -2
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
Reactionary,
|
|
16
|
+
PersonalizationProfileQueryGetProfileSchema,
|
|
17
|
+
success
|
|
18
|
+
} from "@reactionary/core";
|
|
19
|
+
import createDebug from "debug";
|
|
20
|
+
import { MedusaAdminAPI } from "../core/client.js";
|
|
21
|
+
const debug = createDebug("reactionary:medusa:personalization-profile");
|
|
22
|
+
class MedusaPersonalizationProfileCapability extends PersonalizationProfileCapability {
|
|
23
|
+
constructor(config, cache, context, medusaApi, factory) {
|
|
24
|
+
super(cache, context);
|
|
25
|
+
this.medusaApi = medusaApi;
|
|
26
|
+
this.config = config;
|
|
27
|
+
this.factory = factory;
|
|
28
|
+
}
|
|
29
|
+
config;
|
|
30
|
+
factory;
|
|
31
|
+
filterGroup(_group) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
async getPersonalizationProfile(payload) {
|
|
35
|
+
const identity = payload.identity;
|
|
36
|
+
debug("getPersonalizationProfile", payload);
|
|
37
|
+
if (identity.type !== "Registered") {
|
|
38
|
+
return success(
|
|
39
|
+
this.factory.parsePersonalizationProfile(this.context, {
|
|
40
|
+
customerId: "anonymous",
|
|
41
|
+
groups: []
|
|
42
|
+
})
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
const customerId = identity.id.userId;
|
|
46
|
+
const adminClient = await new MedusaAdminAPI(
|
|
47
|
+
this.config,
|
|
48
|
+
this.context
|
|
49
|
+
).getClient();
|
|
50
|
+
const customerResponse = await adminClient.admin.customer.retrieve(
|
|
51
|
+
customerId,
|
|
52
|
+
{ fields: "+groups,+groups.name" }
|
|
53
|
+
);
|
|
54
|
+
const customer = customerResponse.customer;
|
|
55
|
+
const groups = (customer["groups"] ?? []).filter((g) => this.filterGroup(g));
|
|
56
|
+
const model = this.factory.parsePersonalizationProfile(this.context, {
|
|
57
|
+
customerId,
|
|
58
|
+
groups
|
|
59
|
+
});
|
|
60
|
+
return success(model);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
__decorateClass([
|
|
64
|
+
Reactionary({
|
|
65
|
+
inputSchema: PersonalizationProfileQueryGetProfileSchema,
|
|
66
|
+
outputSchema: PersonalizationProfileSchema
|
|
67
|
+
})
|
|
68
|
+
], MedusaPersonalizationProfileCapability.prototype, "getPersonalizationProfile", 1);
|
|
69
|
+
export {
|
|
70
|
+
MedusaPersonalizationProfileCapability
|
|
71
|
+
};
|
package/core/client.js
CHANGED
|
@@ -73,7 +73,7 @@ class MedusaAdminAPI {
|
|
|
73
73
|
this.client = new Medusa({
|
|
74
74
|
baseUrl: this.config.apiUrl,
|
|
75
75
|
apiKey: this.config.adminApiKey,
|
|
76
|
-
debug:
|
|
76
|
+
debug: false,
|
|
77
77
|
globalHeaders: {
|
|
78
78
|
"x-medusa-locale": this.context.languageContext.locale
|
|
79
79
|
}
|
|
@@ -212,7 +212,7 @@ class MedusaAPI {
|
|
|
212
212
|
const authenticatedClient = new Medusa({
|
|
213
213
|
baseUrl: this.config.apiUrl,
|
|
214
214
|
publishableKey: this.config.publishable_key,
|
|
215
|
-
debug:
|
|
215
|
+
debug: false,
|
|
216
216
|
globalHeaders: {
|
|
217
217
|
"x-medusa-locale": this.context.languageContext.locale
|
|
218
218
|
},
|
package/core/initialize.js
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
ProductSchema,
|
|
15
15
|
ProductSearchResultSchema,
|
|
16
16
|
ProfileSchema,
|
|
17
|
+
PersonalizationProfileSchema,
|
|
17
18
|
ShippingMethodSchema
|
|
18
19
|
} from "@reactionary/core";
|
|
19
20
|
import { MedusaCartCapability } from "../capabilities/cart.capability.js";
|
|
@@ -29,6 +30,7 @@ import { MedusaProductRecommendationsCapability } from "../capabilities/product-
|
|
|
29
30
|
import { MedusaProductCapability } from "../capabilities/product.capability.js";
|
|
30
31
|
import { MedusaProductAssociationsCapability } from "../capabilities/product-associations.capability.js";
|
|
31
32
|
import { MedusaProfileCapability } from "../capabilities/profile.capability.js";
|
|
33
|
+
import { MedusaPersonalizationProfileCapability } from "../capabilities/personalization-profile.capability.js";
|
|
32
34
|
import {
|
|
33
35
|
MedusaCapabilitiesSchema
|
|
34
36
|
} from "../schema/capabilities.schema.js";
|
|
@@ -47,7 +49,8 @@ import {
|
|
|
47
49
|
MedusaProductAssociationsFactory,
|
|
48
50
|
MedusaProductFactory,
|
|
49
51
|
MedusaProductSearchFactory,
|
|
50
|
-
MedusaProfileFactory
|
|
52
|
+
MedusaProfileFactory,
|
|
53
|
+
MedusaPersonalizationProfileFactory
|
|
51
54
|
} from "../factories/index.js";
|
|
52
55
|
import {
|
|
53
56
|
resolveCapabilityWithFactory,
|
|
@@ -287,6 +290,22 @@ function withMedusaCapabilities(configuration, capabilities) {
|
|
|
287
290
|
buildCapabilityArgs
|
|
288
291
|
);
|
|
289
292
|
}
|
|
293
|
+
if (caps.personalizationProfile?.enabled) {
|
|
294
|
+
client.personalizationProfile = resolveCapabilityWithFactory(
|
|
295
|
+
capabilities.personalizationProfile,
|
|
296
|
+
{
|
|
297
|
+
factory: new MedusaPersonalizationProfileFactory(PersonalizationProfileSchema),
|
|
298
|
+
capability: (args) => new MedusaPersonalizationProfileCapability(
|
|
299
|
+
args.config,
|
|
300
|
+
args.cache,
|
|
301
|
+
args.context,
|
|
302
|
+
args.medusaApi,
|
|
303
|
+
args.factory
|
|
304
|
+
)
|
|
305
|
+
},
|
|
306
|
+
buildCapabilityArgs
|
|
307
|
+
);
|
|
308
|
+
}
|
|
290
309
|
return client;
|
|
291
310
|
};
|
|
292
311
|
}
|
package/factories/index.js
CHANGED
|
@@ -10,3 +10,4 @@ export * from "./product/product.factory.js";
|
|
|
10
10
|
export * from "./product-associations/product-associations.factory.js";
|
|
11
11
|
export * from "./product-search/product-search.factory.js";
|
|
12
12
|
export * from "./profile/profile.factory.js";
|
|
13
|
+
export * from "./personalization-profile/personalization-profile.factory.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class MedusaPersonalizationProfileFactory {
|
|
2
|
+
personalizationProfileSchema;
|
|
3
|
+
constructor(personalizationProfileSchema) {
|
|
4
|
+
this.personalizationProfileSchema = personalizationProfileSchema;
|
|
5
|
+
}
|
|
6
|
+
parsePersonalizationProfile(_context, data) {
|
|
7
|
+
return this.personalizationProfileSchema.parse({
|
|
8
|
+
identifier: { key: data.customerId },
|
|
9
|
+
segments: data.groups.map((g) => g.name),
|
|
10
|
+
blurb: ""
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
MedusaPersonalizationProfileFactory
|
|
16
|
+
};
|
package/index.js
CHANGED
|
@@ -18,3 +18,4 @@ export * from "./capabilities/profile.capability.js";
|
|
|
18
18
|
export * from "./capabilities/category.capability.js";
|
|
19
19
|
export * from "./capabilities/checkout.capability.js";
|
|
20
20
|
export * from "./capabilities/product.capability.js";
|
|
21
|
+
export * from "./capabilities/personalization-profile.capability.js";
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reactionary/medusa",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@medusajs/js-sdk": "^2.13.3",
|
|
9
|
-
"@reactionary/core": "0.
|
|
9
|
+
"@reactionary/core": "0.9.1",
|
|
10
10
|
"debug": "^4.4.3",
|
|
11
11
|
"@medusajs/types": "^2.13.3",
|
|
12
12
|
"zod": "4.1.9",
|
|
@@ -22,7 +22,8 @@ const MedusaCapabilitiesSchema = CapabilitiesSchema.pick({
|
|
|
22
22
|
inventory: true,
|
|
23
23
|
identity: true,
|
|
24
24
|
profile: true,
|
|
25
|
-
productAssociations: true
|
|
25
|
+
productAssociations: true,
|
|
26
|
+
personalizationProfile: true
|
|
26
27
|
}).extend({
|
|
27
28
|
product: OverridableCapabilitySchema.optional(),
|
|
28
29
|
productSearch: OverridableCapabilitySchema.optional(),
|
|
@@ -36,7 +37,8 @@ const MedusaCapabilitiesSchema = CapabilitiesSchema.pick({
|
|
|
36
37
|
identity: DirectCapabilitySchema.optional(),
|
|
37
38
|
profile: OverridableCapabilitySchema.optional(),
|
|
38
39
|
productAssociations: OverridableCapabilitySchema.optional(),
|
|
39
|
-
productRecommendations: DirectCapabilitySchema.optional()
|
|
40
|
+
productRecommendations: DirectCapabilitySchema.optional(),
|
|
41
|
+
personalizationProfile: OverridableCapabilitySchema.optional()
|
|
40
42
|
}).partial();
|
|
41
43
|
export {
|
|
42
44
|
MedusaCapabilitiesSchema
|
|
@@ -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 MedusaAPI } from '../core/client.js';
|
|
4
|
+
import type { MedusaPersonalizationProfileFactory, MedusaCustomerGroup } from '../factories/personalization-profile/personalization-profile.factory.js';
|
|
5
|
+
import type { MedusaConfiguration } from '../schema/configuration.schema.js';
|
|
6
|
+
export declare class MedusaPersonalizationProfileCapability<TFactory extends PersonalizationProfileFactory = MedusaPersonalizationProfileFactory> extends PersonalizationProfileCapability<PersonalizationProfileFactoryOutput<TFactory>> {
|
|
7
|
+
medusaApi: MedusaAPI;
|
|
8
|
+
protected config: MedusaConfiguration;
|
|
9
|
+
protected factory: PersonalizationProfileFactoryWithOutput<TFactory>;
|
|
10
|
+
constructor(config: MedusaConfiguration, cache: Cache, context: RequestContext, medusaApi: MedusaAPI, factory: PersonalizationProfileFactoryWithOutput<TFactory>);
|
|
11
|
+
protected filterGroup(_group: MedusaCustomerGroup): boolean;
|
|
12
|
+
getPersonalizationProfile(payload: PersonalizationProfileQueryGetProfile): Promise<Result<PersonalizationProfileFactoryOutput<TFactory>, NotFoundError>>;
|
|
13
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CartFactory, CategoryFactory, CheckoutFactory, ClientFromCapabilities, InventoryFactory, OrderFactory, OrderSearchFactory, PriceFactory, ProductAssociationsFactory, ProductFactory, ProductSearchFactory, ProfileFactory } from '@reactionary/core';
|
|
1
|
+
import type { CartFactory, CategoryFactory, CheckoutFactory, ClientFromCapabilities, InventoryFactory, PersonalizationProfileFactory, OrderFactory, OrderSearchFactory, PriceFactory, ProductAssociationsFactory, ProductFactory, ProductSearchFactory, ProfileFactory } from '@reactionary/core';
|
|
2
2
|
import type { MedusaCapabilities } from '../schema/capabilities.schema.js';
|
|
3
3
|
import type { MedusaCartFactory } from '../factories/cart/cart.factory.js';
|
|
4
4
|
import type { MedusaCategoryFactory } from '../factories/category/category.factory.js';
|
|
@@ -11,6 +11,7 @@ import type { MedusaProductAssociationsFactory } from '../factories/product-asso
|
|
|
11
11
|
import type { MedusaProductFactory } from '../factories/product/product.factory.js';
|
|
12
12
|
import type { MedusaProductSearchFactory } from '../factories/product-search/product-search.factory.js';
|
|
13
13
|
import type { MedusaProfileFactory } from '../factories/profile/profile.factory.js';
|
|
14
|
+
import type { MedusaPersonalizationProfileFactory } from '../factories/personalization-profile/personalization-profile.factory.js';
|
|
14
15
|
import type { MedusaCartCapability } from '../capabilities/cart.capability.js';
|
|
15
16
|
import type { MedusaCategoryCapability } from '../capabilities/category.capability.js';
|
|
16
17
|
import type { MedusaCheckoutCapability } from '../capabilities/checkout.capability.js';
|
|
@@ -22,9 +23,10 @@ import type { MedusaProductAssociationsCapability } from '../capabilities/produc
|
|
|
22
23
|
import type { MedusaProductCapability } from '../capabilities/product.capability.js';
|
|
23
24
|
import type { MedusaProductSearchCapability } from '../capabilities/product-search.capability.js';
|
|
24
25
|
import type { MedusaProfileCapability } from '../capabilities/profile.capability.js';
|
|
26
|
+
import type { MedusaPersonalizationProfileCapability } from '../capabilities/personalization-profile.capability.js';
|
|
25
27
|
import type { MedusaProductRecommendationsCapability } from '../capabilities/product-recommendations.capability.js';
|
|
26
28
|
import type { MedusaIdentityCapability } from '../capabilities/identity.capability.js';
|
|
27
|
-
type OverridableCapabilityKey = 'product' | 'productSearch' | 'cart' | 'checkout' | 'category' | 'price' | 'order' | 'orderSearch' | 'inventory' | 'profile' | 'productAssociations';
|
|
29
|
+
type OverridableCapabilityKey = 'product' | 'productSearch' | 'cart' | 'checkout' | 'category' | 'price' | 'order' | 'orderSearch' | 'inventory' | 'profile' | 'productAssociations' | 'personalizationProfile';
|
|
28
30
|
type EnabledCapability<TCapability> = TCapability extends {
|
|
29
31
|
enabled: true;
|
|
30
32
|
} ? true : false;
|
|
@@ -54,6 +56,7 @@ type FactoryContractMap = {
|
|
|
54
56
|
inventory: InventoryFactory;
|
|
55
57
|
profile: ProfileFactory;
|
|
56
58
|
productAssociations: ProductAssociationsFactory;
|
|
59
|
+
personalizationProfile: PersonalizationProfileFactory;
|
|
57
60
|
};
|
|
58
61
|
type DefaultFactoryMap = {
|
|
59
62
|
product: MedusaProductFactory;
|
|
@@ -67,6 +70,7 @@ type DefaultFactoryMap = {
|
|
|
67
70
|
inventory: MedusaInventoryFactory;
|
|
68
71
|
profile: MedusaProfileFactory;
|
|
69
72
|
productAssociations: MedusaProductAssociationsFactory;
|
|
73
|
+
personalizationProfile: MedusaPersonalizationProfileFactory;
|
|
70
74
|
};
|
|
71
75
|
type ResolvedFactoryMap<T extends MedusaCapabilities> = {
|
|
72
76
|
[K in OverridableCapabilityKey]: ExtractCapabilityFactory<T[K], FactoryContractMap[K], DefaultFactoryMap[K]>;
|
|
@@ -83,6 +87,7 @@ type DefaultCapabilityMap<T extends MedusaCapabilities> = {
|
|
|
83
87
|
inventory: MedusaInventoryCapability<ResolvedFactoryMap<T>['inventory']>;
|
|
84
88
|
profile: MedusaProfileCapability<ResolvedFactoryMap<T>['profile']>;
|
|
85
89
|
productAssociations: MedusaProductAssociationsCapability<ResolvedFactoryMap<T>['productAssociations']>;
|
|
90
|
+
personalizationProfile: MedusaPersonalizationProfileCapability<ResolvedFactoryMap<T>['personalizationProfile']>;
|
|
86
91
|
identity: MedusaIdentityCapability;
|
|
87
92
|
productRecommendations: MedusaProductRecommendationsCapability;
|
|
88
93
|
};
|
package/src/factories/index.d.ts
CHANGED
|
@@ -10,3 +10,4 @@ export * from './product/product.factory.js';
|
|
|
10
10
|
export * from './product-associations/product-associations.factory.js';
|
|
11
11
|
export * from './product-search/product-search.factory.js';
|
|
12
12
|
export * from './profile/profile.factory.js';
|
|
13
|
+
export * from './personalization-profile/personalization-profile.factory.js';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AnyPersonalizationProfileSchema, PersonalizationProfileFactory, PersonalizationProfileSchema, RequestContext } from '@reactionary/core';
|
|
2
|
+
import type * as z from 'zod';
|
|
3
|
+
export interface MedusaCustomerGroup {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class MedusaPersonalizationProfileFactory<TPersonalizationProfileSchema extends AnyPersonalizationProfileSchema = typeof PersonalizationProfileSchema> implements PersonalizationProfileFactory<TPersonalizationProfileSchema> {
|
|
8
|
+
readonly personalizationProfileSchema: TPersonalizationProfileSchema;
|
|
9
|
+
constructor(personalizationProfileSchema: TPersonalizationProfileSchema);
|
|
10
|
+
parsePersonalizationProfile(_context: RequestContext, data: {
|
|
11
|
+
customerId: string;
|
|
12
|
+
groups: MedusaCustomerGroup[];
|
|
13
|
+
}): z.output<TPersonalizationProfileSchema>;
|
|
14
|
+
}
|
package/src/index.d.ts
CHANGED
|
@@ -18,3 +18,4 @@ export * from './capabilities/profile.capability.js';
|
|
|
18
18
|
export * from './capabilities/category.capability.js';
|
|
19
19
|
export * from './capabilities/checkout.capability.js';
|
|
20
20
|
export * from './capabilities/product.capability.js';
|
|
21
|
+
export * from './capabilities/personalization-profile.capability.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CartFactory, CartFactoryWithOutput, CartCapability, CategoryFactory, CategoryFactoryWithOutput, CategoryCapability, CheckoutFactory, CheckoutFactoryWithOutput, CheckoutCapability, IdentityCapability, InventoryFactory, InventoryFactoryWithOutput, InventoryCapability, OrderFactory, OrderFactoryWithOutput, OrderCapability, OrderSearchFactory, OrderSearchFactoryWithOutput, OrderSearchCapability, PriceFactory, PriceFactoryWithOutput, PriceCapability, ProductAssociationsFactory, ProductAssociationsFactoryWithOutput, ProductAssociationsCapability, ProductFactory, ProductFactoryWithOutput, ProductCapability, ProductRecommendationsCapability, ProductSearchFactory, ProductSearchFactoryWithOutput, ProductSearchCapability, ProfileFactory, ProfileFactoryWithOutput, ProfileCapability, RequestContext, Cache } from '@reactionary/core';
|
|
1
|
+
import type { CartFactory, CartFactoryWithOutput, CartCapability, CategoryFactory, CategoryFactoryWithOutput, CategoryCapability, CheckoutFactory, CheckoutFactoryWithOutput, CheckoutCapability, IdentityCapability, InventoryFactory, InventoryFactoryWithOutput, InventoryCapability, PersonalizationProfileFactory, PersonalizationProfileFactoryWithOutput, PersonalizationProfileCapability, OrderFactory, OrderFactoryWithOutput, OrderCapability, OrderSearchFactory, OrderSearchFactoryWithOutput, OrderSearchCapability, PriceFactory, PriceFactoryWithOutput, PriceCapability, ProductAssociationsFactory, ProductAssociationsFactoryWithOutput, ProductAssociationsCapability, ProductFactory, ProductFactoryWithOutput, ProductCapability, ProductRecommendationsCapability, ProductSearchFactory, ProductSearchFactoryWithOutput, ProductSearchCapability, ProfileFactory, ProfileFactoryWithOutput, ProfileCapability, RequestContext, Cache } from '@reactionary/core';
|
|
2
2
|
import type { MedusaConfiguration } from './configuration.schema.js';
|
|
3
3
|
import type { MedusaAPI } from '../core/client.js';
|
|
4
4
|
import * as z from 'zod';
|
|
@@ -66,6 +66,11 @@ export declare const MedusaCapabilitiesSchema: z.ZodObject<{
|
|
|
66
66
|
enabled: z.ZodBoolean;
|
|
67
67
|
capability: z.ZodOptional<z.ZodUnknown>;
|
|
68
68
|
}, z.core.$loose>>>;
|
|
69
|
+
personalizationProfile: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
70
|
+
enabled: z.ZodBoolean;
|
|
71
|
+
factory: z.ZodOptional<z.ZodUnknown>;
|
|
72
|
+
capability: z.ZodOptional<z.ZodUnknown>;
|
|
73
|
+
}, z.core.$loose>>>;
|
|
69
74
|
}, z.core.$loose>;
|
|
70
75
|
export interface MedusaCapabilityFactoryArgs {
|
|
71
76
|
cache: Cache;
|
|
@@ -97,8 +102,9 @@ export type MedusaInventoryCapabilityConfig = MedusaCapabilityConfig<InventoryFa
|
|
|
97
102
|
export type MedusaIdentityCapabilityConfig = MedusaDirectCapabilityConfig<IdentityCapability>;
|
|
98
103
|
export type MedusaProfileCapabilityConfig = MedusaCapabilityConfig<ProfileFactoryWithOutput<ProfileFactory>, ProfileCapability>;
|
|
99
104
|
export type MedusaProductAssociationsCapabilityConfig = MedusaCapabilityConfig<ProductAssociationsFactoryWithOutput<ProductAssociationsFactory>, ProductAssociationsCapability>;
|
|
105
|
+
export type MedusaPersonalizationProfileCapabilityConfig = MedusaCapabilityConfig<PersonalizationProfileFactoryWithOutput<PersonalizationProfileFactory>, PersonalizationProfileCapability>;
|
|
100
106
|
export type MedusaProductRecommendationsCapabilityConfig = MedusaDirectCapabilityConfig<ProductRecommendationsCapability>;
|
|
101
|
-
export type MedusaCapabilities<TProductFactory extends ProductFactory = ProductFactory, TProductCapability extends ProductCapability = ProductCapability, TProductSearchFactory extends ProductSearchFactory = ProductSearchFactory, TProductSearchCapability extends ProductSearchCapability = ProductSearchCapability, TCartFactory extends CartFactory = CartFactory, TCartCapability extends CartCapability = CartCapability, TCheckoutFactory extends CheckoutFactory = CheckoutFactory, TCheckoutCapability extends CheckoutCapability = CheckoutCapability, TCategoryFactory extends CategoryFactory = CategoryFactory, TCategoryCapability extends CategoryCapability = CategoryCapability, TPriceFactory extends PriceFactory = PriceFactory, TPriceCapability extends PriceCapability = PriceCapability, TOrderFactory extends OrderFactory = OrderFactory, TOrderCapability extends OrderCapability = OrderCapability, TOrderSearchFactory extends OrderSearchFactory = OrderSearchFactory, TOrderSearchCapability extends OrderSearchCapability = OrderSearchCapability, TInventoryFactory extends InventoryFactory = InventoryFactory, TInventoryCapability extends InventoryCapability = InventoryCapability, TIdentityCapability extends IdentityCapability = IdentityCapability, TProfileFactory extends ProfileFactory = ProfileFactory, TProfileCapability extends ProfileCapability = ProfileCapability, TProductAssociationsFactory extends ProductAssociationsFactory = ProductAssociationsFactory, TProductAssociationsCapability extends ProductAssociationsCapability = ProductAssociationsCapability, TProductRecommendationsCapability extends ProductRecommendationsCapability = ProductRecommendationsCapability> = {
|
|
107
|
+
export type MedusaCapabilities<TProductFactory extends ProductFactory = ProductFactory, TProductCapability extends ProductCapability = ProductCapability, TProductSearchFactory extends ProductSearchFactory = ProductSearchFactory, TProductSearchCapability extends ProductSearchCapability = ProductSearchCapability, TCartFactory extends CartFactory = CartFactory, TCartCapability extends CartCapability = CartCapability, TCheckoutFactory extends CheckoutFactory = CheckoutFactory, TCheckoutCapability extends CheckoutCapability = CheckoutCapability, TCategoryFactory extends CategoryFactory = CategoryFactory, TCategoryCapability extends CategoryCapability = CategoryCapability, TPriceFactory extends PriceFactory = PriceFactory, TPriceCapability extends PriceCapability = PriceCapability, TOrderFactory extends OrderFactory = OrderFactory, TOrderCapability extends OrderCapability = OrderCapability, TOrderSearchFactory extends OrderSearchFactory = OrderSearchFactory, TOrderSearchCapability extends OrderSearchCapability = OrderSearchCapability, TInventoryFactory extends InventoryFactory = InventoryFactory, TInventoryCapability extends InventoryCapability = InventoryCapability, TIdentityCapability extends IdentityCapability = IdentityCapability, TProfileFactory extends ProfileFactory = ProfileFactory, TProfileCapability extends ProfileCapability = ProfileCapability, TProductAssociationsFactory extends ProductAssociationsFactory = ProductAssociationsFactory, TProductAssociationsCapability extends ProductAssociationsCapability = ProductAssociationsCapability, TProductRecommendationsCapability extends ProductRecommendationsCapability = ProductRecommendationsCapability, TPersonalizationProfileFactory extends PersonalizationProfileFactory = PersonalizationProfileFactory, TPersonalizationProfileCapability extends PersonalizationProfileCapability = PersonalizationProfileCapability> = {
|
|
102
108
|
product?: MedusaCapabilityConfig<ProductFactoryWithOutput<TProductFactory>, TProductCapability>;
|
|
103
109
|
productSearch?: MedusaCapabilityConfig<ProductSearchFactoryWithOutput<TProductSearchFactory>, TProductSearchCapability>;
|
|
104
110
|
cart?: MedusaCapabilityConfig<CartFactoryWithOutput<TCartFactory>, TCartCapability>;
|
|
@@ -112,5 +118,6 @@ export type MedusaCapabilities<TProductFactory extends ProductFactory = ProductF
|
|
|
112
118
|
profile?: MedusaCapabilityConfig<ProfileFactoryWithOutput<TProfileFactory>, TProfileCapability>;
|
|
113
119
|
productAssociations?: MedusaCapabilityConfig<ProductAssociationsFactoryWithOutput<TProductAssociationsFactory>, TProductAssociationsCapability>;
|
|
114
120
|
productRecommendations?: MedusaDirectCapabilityConfig<TProductRecommendationsCapability>;
|
|
121
|
+
personalizationProfile?: MedusaCapabilityConfig<PersonalizationProfileFactoryWithOutput<TPersonalizationProfileFactory>, TPersonalizationProfileCapability>;
|
|
115
122
|
};
|
|
116
123
|
export type ParsedMedusaCapabilities = z.infer<typeof MedusaCapabilitiesSchema>;
|