@mercurjs/core 2.2.0-canary.22 → 2.2.0-canary.23
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/.medusa/server/src/api/admin/collections/query-config.js +7 -7
- package/.medusa/server/src/api/admin/product-categories/query-config.js +7 -7
- package/.medusa/server/src/api/store/products/middlewares.js +20 -6
- package/.medusa/server/src/api/vendor/collections/query-config.js +7 -7
- package/.medusa/server/src/api/vendor/product-categories/query-config.js +7 -7
- package/.medusa/server/src/links/media-product-category-link.d.ts +11 -3
- package/.medusa/server/src/links/media-product-category-link.js +16 -5
- package/.medusa/server/src/links/media-product-collection-link.d.ts +8 -1
- package/.medusa/server/src/links/media-product-collection-link.js +13 -3
- package/.medusa/server/src/modules/media/index.d.ts +5 -5
- package/.medusa/server/src/modules/media/models/index.d.ts +1 -1
- package/.medusa/server/src/modules/media/models/index.js +4 -4
- package/.medusa/server/src/modules/media/models/{image.d.ts → media-image.d.ts} +9 -5
- package/.medusa/server/src/modules/media/models/media-image.js +41 -0
- package/.medusa/server/src/modules/media/service.d.ts +2 -2
- package/.medusa/server/src/modules/media/service.js +2 -2
- package/.medusa/server/src/workflows/media/steps/create-images.js +3 -3
- package/.medusa/server/src/workflows/media/steps/delete-images.js +3 -3
- package/.medusa/server/src/workflows/media/workflows/set-category-images.js +5 -5
- package/.medusa/server/src/workflows/media/workflows/set-collection-images.js +5 -5
- package/package.json +1 -1
- package/.medusa/server/src/modules/media/models/image.js +0 -37
|
@@ -8,12 +8,12 @@ exports.adminCollectionFields = [
|
|
|
8
8
|
"created_at",
|
|
9
9
|
"updated_at",
|
|
10
10
|
"metadata",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
11
|
+
"media_images.id",
|
|
12
|
+
"media_images.url",
|
|
13
|
+
"media_images.type",
|
|
14
|
+
"media_images.is_thumbnail",
|
|
15
|
+
"media_images.is_banner",
|
|
16
|
+
"media_images.rank",
|
|
17
17
|
];
|
|
18
18
|
exports.adminCollectionQueryConfig = {
|
|
19
19
|
list: {
|
|
@@ -26,4 +26,4 @@ exports.adminCollectionQueryConfig = {
|
|
|
26
26
|
isList: false,
|
|
27
27
|
},
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9hZG1pbi9jb2xsZWN0aW9ucy9xdWVyeS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxJQUFJO0lBQ0osT0FBTztJQUNQLFFBQVE7SUFDUixZQUFZO0lBQ1osWUFBWTtJQUNaLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLG1CQUFtQjtDQUNwQixDQUFBO0FBRVksUUFBQSwwQkFBMEIsR0FBRztJQUN4QyxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsNkJBQXFCO1FBQy9CLFlBQVksRUFBRSxFQUFFO1FBQ2hCLE1BQU0sRUFBRSxJQUFJO0tBQ2I7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsNkJBQXFCO1FBQy9CLE1BQU0sRUFBRSxLQUFLO0tBQ2Q7Q0FDRixDQUFBIn0=
|
|
@@ -16,12 +16,12 @@ exports.adminProductCategoryFields = [
|
|
|
16
16
|
"metadata",
|
|
17
17
|
"*parent_category",
|
|
18
18
|
"*category_children",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
19
|
+
"media_images.id",
|
|
20
|
+
"media_images.url",
|
|
21
|
+
"media_images.type",
|
|
22
|
+
"media_images.is_thumbnail",
|
|
23
|
+
"media_images.is_banner",
|
|
24
|
+
"media_images.rank",
|
|
25
25
|
];
|
|
26
26
|
exports.adminProductCategoryQueryConfig = {
|
|
27
27
|
list: {
|
|
@@ -34,4 +34,4 @@ exports.adminProductCategoryQueryConfig = {
|
|
|
34
34
|
isList: false,
|
|
35
35
|
},
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9hZG1pbi9wcm9kdWN0LWNhdGVnb3JpZXMvcXVlcnktY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsMEJBQTBCLEdBQUc7SUFDeEMsSUFBSTtJQUNKLE1BQU07SUFDTixhQUFhO0lBQ2IsUUFBUTtJQUNSLFdBQVc7SUFDWCxhQUFhO0lBQ2IsZUFBZTtJQUNmLE1BQU07SUFDTixvQkFBb0I7SUFDcEIsWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLG1CQUFtQjtDQUNwQixDQUFBO0FBRVksUUFBQSwrQkFBK0IsR0FBRztJQUM3QyxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsa0NBQTBCO1FBQ3BDLFlBQVksRUFBRSxFQUFFO1FBQ2hCLE1BQU0sRUFBRSxJQUFJO0tBQ2I7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsa0NBQTBCO1FBQ3BDLE1BQU0sRUFBRSxLQUFLO0tBQ2Q7Q0FDRixDQUFBIn0=
|
|
@@ -7,11 +7,25 @@ const framework_1 = require("@medusajs/framework");
|
|
|
7
7
|
const query_config_1 = require("./query-config");
|
|
8
8
|
const validators_1 = require("./validators");
|
|
9
9
|
const types_1 = require("@mercurjs/types");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Apply the store-facing defaults that vanilla Medusa applies on its own
|
|
12
|
+
* `/store/products` route. Besides forcing the `published` status, this
|
|
13
|
+
* translates the Medusa-standard `category_id` query param into the
|
|
14
|
+
* `categories` relation filter. The `Product` entity has no `category_id`
|
|
15
|
+
* column, so passing it straight to `query.graph` raises
|
|
16
|
+
* `Trying to query by not existing property Product.category_id` (#974).
|
|
17
|
+
*/
|
|
18
|
+
const applyProductFilters = (0, http_1.applyDefaultFilters)({
|
|
19
|
+
status: types_1.ProductStatus.PUBLISHED,
|
|
20
|
+
categories: (filters) => {
|
|
21
|
+
const categoryIds = filters.category_id;
|
|
22
|
+
delete filters.category_id;
|
|
23
|
+
if (!(0, utils_1.isPresent)(categoryIds)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
return { id: categoryIds, is_internal: false, is_active: true };
|
|
27
|
+
},
|
|
28
|
+
});
|
|
15
29
|
/**
|
|
16
30
|
* Resolve sellers that are currently OPEN and not within an active
|
|
17
31
|
* closure window, then expose their IDs as `seller_id` so the link
|
|
@@ -66,4 +80,4 @@ exports.storeProductsMiddlewares = [
|
|
|
66
80
|
],
|
|
67
81
|
},
|
|
68
82
|
];
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3Byb2R1Y3RzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQU9pQztBQUNqQyxxREFBZ0Y7QUFDaEYsbURBQStEO0FBRS9ELGlEQUF3RDtBQUN4RCw2Q0FHcUI7QUFDckIsMkNBQTZEO0FBRTdEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLElBQUEsMEJBQW1CLEVBQUM7SUFDOUMsTUFBTSxFQUFFLHFCQUFhLENBQUMsU0FBUztJQUMvQixVQUFVLEVBQUUsQ0FBQyxPQUFnQyxFQUFFLEVBQUU7UUFDL0MsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUE7UUFFMUIsSUFBSSxDQUFDLElBQUEsaUJBQVMsRUFBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU07UUFDUixDQUFDO1FBRUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDakUsQ0FBQztDQUNGLENBQUMsQ0FBQTtBQUVGOzs7OztHQUtHO0FBQ0gsS0FBSyxVQUFVLDJCQUEyQixDQUN4QyxHQUFrQixFQUNsQixJQUFvQixFQUNwQixJQUF3QjtJQUV4QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFBO0lBRXRCLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2pELE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLE9BQU8sRUFBRTtZQUNQLE1BQU0sRUFBRSxvQkFBWSxDQUFDLElBQUk7WUFDekIsSUFBSSxFQUFFO2dCQUNKLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUMvRCxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRTthQUM1RDtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLGdCQUFnQixLQUFLLEVBQUUsQ0FBQTtJQUMzQixHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQ2pELENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDNUIsQ0FBQTtJQUVELElBQUksRUFBRSxDQUFBO0FBQ1IsQ0FBQztBQUVZLFFBQUEsd0JBQXdCLEdBQXNCO0lBQ3pEO1FBQ0UsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ2YsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixXQUFXLEVBQUU7WUFDWCxJQUFBLHFDQUF5QixFQUN2QixtQ0FBc0IsRUFDdEIsc0NBQXVCLENBQUMsSUFBSSxDQUM3QjtZQUNELG1CQUFtQjtZQUNuQiwyQkFBMkI7WUFDM0IsSUFBQSwyQkFBb0IsRUFBQztnQkFDbkIsVUFBVSxFQUFFLGdCQUFnQjtnQkFDNUIsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLGVBQWUsRUFBRSxXQUFXO2FBQzdCLENBQUM7U0FDSDtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQixzQ0FBdUIsQ0FBQyxRQUFRLENBQ2pDO1lBQ0QsbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixJQUFBLDJCQUFvQixFQUFDO2dCQUNuQixVQUFVLEVBQUUsZ0JBQWdCO2dCQUM1QixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsZUFBZSxFQUFFLFdBQVc7YUFDN0IsQ0FBQztTQUNIO0tBQ0Y7Q0FDRixDQUFBIn0=
|
|
@@ -8,12 +8,12 @@ exports.defaultVendorCollectionFields = [
|
|
|
8
8
|
"created_at",
|
|
9
9
|
"updated_at",
|
|
10
10
|
"metadata",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
11
|
+
"media_images.id",
|
|
12
|
+
"media_images.url",
|
|
13
|
+
"media_images.type",
|
|
14
|
+
"media_images.is_thumbnail",
|
|
15
|
+
"media_images.is_banner",
|
|
16
|
+
"media_images.rank",
|
|
17
17
|
];
|
|
18
18
|
exports.retrieveTransformQueryConfig = {
|
|
19
19
|
defaults: exports.defaultVendorCollectionFields,
|
|
@@ -23,4 +23,4 @@ exports.listTransformQueryConfig = {
|
|
|
23
23
|
...exports.retrieveTransformQueryConfig,
|
|
24
24
|
isList: true,
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS92ZW5kb3IvY29sbGVjdGlvbnMvcXVlcnktY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsSUFBSTtJQUNKLE9BQU87SUFDUCxRQUFRO0lBQ1IsWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLHdCQUF3QjtJQUN4QixtQkFBbUI7Q0FDcEIsQ0FBQTtBQUVZLFFBQUEsNEJBQTRCLEdBQUc7SUFDMUMsUUFBUSxFQUFFLHFDQUE2QjtJQUN2QyxNQUFNLEVBQUUsS0FBSztDQUNkLENBQUE7QUFFWSxRQUFBLHdCQUF3QixHQUFHO0lBQ3RDLEdBQUcsb0NBQTRCO0lBQy9CLE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQSJ9
|
|
@@ -16,12 +16,12 @@ exports.vendorProductCategoryFields = [
|
|
|
16
16
|
"metadata",
|
|
17
17
|
"*parent_category",
|
|
18
18
|
"*category_children",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
19
|
+
"media_images.id",
|
|
20
|
+
"media_images.url",
|
|
21
|
+
"media_images.type",
|
|
22
|
+
"media_images.is_thumbnail",
|
|
23
|
+
"media_images.is_banner",
|
|
24
|
+
"media_images.rank",
|
|
25
25
|
];
|
|
26
26
|
exports.vendorProductCategoryQueryConfig = {
|
|
27
27
|
list: {
|
|
@@ -34,4 +34,4 @@ exports.vendorProductCategoryQueryConfig = {
|
|
|
34
34
|
isList: false,
|
|
35
35
|
},
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS92ZW5kb3IvcHJvZHVjdC1jYXRlZ29yaWVzL3F1ZXJ5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLDJCQUEyQixHQUFHO0lBQ3pDLElBQUk7SUFDSixNQUFNO0lBQ04sYUFBYTtJQUNiLFFBQVE7SUFDUixXQUFXO0lBQ1gsYUFBYTtJQUNiLGVBQWU7SUFDZixNQUFNO0lBQ04sb0JBQW9CO0lBQ3BCLFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLHdCQUF3QjtJQUN4QixtQkFBbUI7Q0FDcEIsQ0FBQTtBQUVZLFFBQUEsZ0NBQWdDLEdBQUc7SUFDOUMsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLG1DQUEyQjtRQUNyQyxZQUFZLEVBQUUsRUFBRTtRQUNoQixNQUFNLEVBQUUsSUFBSTtLQUNiO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLG1DQUEyQjtRQUNyQyxNQUFNLEVBQUUsS0FBSztLQUNkO0NBQ0YsQ0FBQSJ9
|
|
@@ -3,10 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Direction is category → media: the category owns its images, so
|
|
5
5
|
* `productCategory` is the parent linkable and `isList: true` sits on the
|
|
6
|
-
* image side. A category resolves its gallery + icon via
|
|
6
|
+
* image side. A category resolves its gallery + icon via
|
|
7
|
+
* `category.media_images`.
|
|
7
8
|
*
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
9
|
+
* The reverse alias is `media_images`, NOT the bare `images`: ProductCategory
|
|
10
|
+
* lives in the Medusa product module, whose service config also owns the
|
|
11
|
+
* `Product.images` relation. Registering an `images` link alias on that shared
|
|
12
|
+
* service shadows the native relation and makes the joiner throw
|
|
13
|
+
* `Cannot resolve alias path "" that matches entity Product` on every product
|
|
14
|
+
* query. A distinct alias avoids the collision.
|
|
15
|
+
*
|
|
16
|
+
* The same `Image` model is reused for product collections via a second,
|
|
17
|
+
* analogous link — keep this entity-agnostic.
|
|
10
18
|
*/
|
|
11
19
|
declare const _default: import("@medusajs/framework/utils").DefineLinkExport;
|
|
12
20
|
export default _default;
|
|
@@ -11,13 +11,24 @@ const media_1 = __importDefault(require("../modules/media"));
|
|
|
11
11
|
*
|
|
12
12
|
* Direction is category → media: the category owns its images, so
|
|
13
13
|
* `productCategory` is the parent linkable and `isList: true` sits on the
|
|
14
|
-
* image side. A category resolves its gallery + icon via
|
|
14
|
+
* image side. A category resolves its gallery + icon via
|
|
15
|
+
* `category.media_images`.
|
|
15
16
|
*
|
|
16
|
-
* The
|
|
17
|
-
*
|
|
17
|
+
* The reverse alias is `media_images`, NOT the bare `images`: ProductCategory
|
|
18
|
+
* lives in the Medusa product module, whose service config also owns the
|
|
19
|
+
* `Product.images` relation. Registering an `images` link alias on that shared
|
|
20
|
+
* service shadows the native relation and makes the joiner throw
|
|
21
|
+
* `Cannot resolve alias path "" that matches entity Product` on every product
|
|
22
|
+
* query. A distinct alias avoids the collision.
|
|
23
|
+
*
|
|
24
|
+
* The same `Image` model is reused for product collections via a second,
|
|
25
|
+
* analogous link — keep this entity-agnostic.
|
|
18
26
|
*/
|
|
19
27
|
exports.default = (0, utils_1.defineLink)(product_1.default.linkable.productCategory, {
|
|
20
|
-
linkable:
|
|
28
|
+
linkable: {
|
|
29
|
+
...media_1.default.linkable.mediaImage,
|
|
30
|
+
alias: "media_images",
|
|
31
|
+
},
|
|
21
32
|
isList: true,
|
|
22
33
|
});
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcHJvZHVjdC1jYXRlZ29yeS1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpbmtzL21lZGlhLXByb2R1Y3QtY2F0ZWdvcnktbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUFzRDtBQUN0RCx1RUFBb0Q7QUFFcEQsNkRBQTBDO0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILGtCQUFlLElBQUEsa0JBQVUsRUFDdkIsaUJBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUN0QztJQUNFLFFBQVEsRUFBRTtRQUNSLEdBQUcsZUFBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVO1FBQ2xDLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUNGLENBQUEifQ==
|
|
@@ -3,7 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Mirrors `media-product-category-link`: the collection owns its images, so
|
|
5
5
|
* `productCollection` is the parent linkable and `isList: true` sits on the
|
|
6
|
-
* image side. A collection resolves its gallery + icon via
|
|
6
|
+
* image side. A collection resolves its gallery + icon via
|
|
7
|
+
* `collection.media_images`.
|
|
8
|
+
*
|
|
9
|
+
* The reverse alias is `media_images`, NOT the bare `images`: ProductCollection
|
|
10
|
+
* lives in the Medusa product module, whose service config also owns the
|
|
11
|
+
* `Product.images` relation. An `images` link alias there shadows the native
|
|
12
|
+
* relation and breaks every product `query.graph` (see
|
|
13
|
+
* `media-product-category-link`).
|
|
7
14
|
*
|
|
8
15
|
* Reuses the same entity-agnostic `Image` model as categories.
|
|
9
16
|
*/
|
|
@@ -11,12 +11,22 @@ const media_1 = __importDefault(require("../modules/media"));
|
|
|
11
11
|
*
|
|
12
12
|
* Mirrors `media-product-category-link`: the collection owns its images, so
|
|
13
13
|
* `productCollection` is the parent linkable and `isList: true` sits on the
|
|
14
|
-
* image side. A collection resolves its gallery + icon via
|
|
14
|
+
* image side. A collection resolves its gallery + icon via
|
|
15
|
+
* `collection.media_images`.
|
|
16
|
+
*
|
|
17
|
+
* The reverse alias is `media_images`, NOT the bare `images`: ProductCollection
|
|
18
|
+
* lives in the Medusa product module, whose service config also owns the
|
|
19
|
+
* `Product.images` relation. An `images` link alias there shadows the native
|
|
20
|
+
* relation and breaks every product `query.graph` (see
|
|
21
|
+
* `media-product-category-link`).
|
|
15
22
|
*
|
|
16
23
|
* Reuses the same entity-agnostic `Image` model as categories.
|
|
17
24
|
*/
|
|
18
25
|
exports.default = (0, utils_1.defineLink)(product_1.default.linkable.productCollection, {
|
|
19
|
-
linkable:
|
|
26
|
+
linkable: {
|
|
27
|
+
...media_1.default.linkable.mediaImage,
|
|
28
|
+
alias: "media_images",
|
|
29
|
+
},
|
|
20
30
|
isList: true,
|
|
21
31
|
});
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcHJvZHVjdC1jb2xsZWN0aW9uLWxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlua3MvbWVkaWEtcHJvZHVjdC1jb2xsZWN0aW9uLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBc0Q7QUFDdEQsdUVBQW9EO0FBRXBELDZEQUEwQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxrQkFBZSxJQUFBLGtCQUFVLEVBQ3ZCLGlCQUFhLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUN4QztJQUNFLFFBQVEsRUFBRTtRQUNSLEdBQUcsZUFBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVO1FBQ2xDLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUNGLENBQUEifQ==
|
|
@@ -2,17 +2,17 @@ import { MercurModules } from "@mercurjs/types";
|
|
|
2
2
|
import MediaModuleService from "./service";
|
|
3
3
|
declare const _default: import("@mercurjs/types").ModuleExports<typeof MediaModuleService> & {
|
|
4
4
|
linkable: {
|
|
5
|
-
readonly
|
|
5
|
+
readonly mediaImage: {
|
|
6
6
|
id: {
|
|
7
7
|
serviceName: MercurModules.MEDIA;
|
|
8
|
-
field: "
|
|
9
|
-
linkable: "
|
|
8
|
+
field: "mediaImage";
|
|
9
|
+
linkable: "media_image_id";
|
|
10
10
|
primaryKey: "id";
|
|
11
11
|
};
|
|
12
12
|
toJSON: () => {
|
|
13
13
|
serviceName: MercurModules.MEDIA;
|
|
14
|
-
field: "
|
|
15
|
-
linkable: "
|
|
14
|
+
field: "mediaImage";
|
|
15
|
+
linkable: "media_image_id";
|
|
16
16
|
primaryKey: "id";
|
|
17
17
|
};
|
|
18
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as
|
|
1
|
+
export { default as MediaImage } from "./media-image";
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
var
|
|
8
|
-
Object.defineProperty(exports, "
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
exports.MediaImage = void 0;
|
|
7
|
+
var media_image_1 = require("./media-image");
|
|
8
|
+
Object.defineProperty(exports, "MediaImage", { enumerable: true, get: function () { return __importDefault(media_image_1).default; } });
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWRpYS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQXFEO0FBQTVDLDBIQUFBLE9BQU8sT0FBYyJ9
|
|
@@ -10,10 +10,14 @@
|
|
|
10
10
|
* `setCategoryImages` workflow, not by DB constraints (they span the link
|
|
11
11
|
* table).
|
|
12
12
|
*
|
|
13
|
-
* Table is `media_image`, NOT `image
|
|
14
|
-
*
|
|
13
|
+
* Table is `media_image`, NOT `image`, AND the model name is `MediaImage`,
|
|
14
|
+
* NOT `Image`: Medusa's product module already owns both a table named
|
|
15
|
+
* `image` and a model named `Image` (its ProductImage). Reusing either name
|
|
16
|
+
* collides in the joiner's entity map, so the `media_images` link alias
|
|
17
|
+
* resolves ambiguously and every product `query.graph` throws
|
|
18
|
+
* `Cannot resolve alias path "" that matches entity Product`.
|
|
15
19
|
*/
|
|
16
|
-
declare const
|
|
20
|
+
declare const MediaImage: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
17
21
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
18
22
|
url: import("@medusajs/framework/utils").TextProperty;
|
|
19
23
|
type: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
@@ -23,6 +27,6 @@ declare const Image: import("@medusajs/framework/utils").DmlEntity<import("@medu
|
|
|
23
27
|
metadata: import("@medusajs/framework/utils").NullableModifier<Record<string, unknown>, import("@medusajs/framework/utils").JSONProperty>;
|
|
24
28
|
}>, {
|
|
25
29
|
readonly tableName: "media_image";
|
|
26
|
-
readonly name: "
|
|
30
|
+
readonly name: "MediaImage";
|
|
27
31
|
}>;
|
|
28
|
-
export default
|
|
32
|
+
export default MediaImage;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
/**
|
|
5
|
+
* A generic image record owned (via module link) by a marketplace entity
|
|
6
|
+
* such as a product category — and, in a later iteration, a product
|
|
7
|
+
* collection. The owner id is NOT stored here; it lives in the link table.
|
|
8
|
+
*
|
|
9
|
+
* `type` discriminates the icon (`"icon"`) from gallery images (`null`).
|
|
10
|
+
* Among gallery images, `is_thumbnail` / `is_banner` mark the storefront
|
|
11
|
+
* roles; the same image may carry both flags or neither. The single-
|
|
12
|
+
* thumbnail / single-banner / single-icon invariants are enforced in the
|
|
13
|
+
* `setCategoryImages` workflow, not by DB constraints (they span the link
|
|
14
|
+
* table).
|
|
15
|
+
*
|
|
16
|
+
* Table is `media_image`, NOT `image`, AND the model name is `MediaImage`,
|
|
17
|
+
* NOT `Image`: Medusa's product module already owns both a table named
|
|
18
|
+
* `image` and a model named `Image` (its ProductImage). Reusing either name
|
|
19
|
+
* collides in the joiner's entity map, so the `media_images` link alias
|
|
20
|
+
* resolves ambiguously and every product `query.graph` throws
|
|
21
|
+
* `Cannot resolve alias path "" that matches entity Product`.
|
|
22
|
+
*/
|
|
23
|
+
const MediaImage = utils_1.model
|
|
24
|
+
.define({ tableName: "media_image", name: "MediaImage" }, {
|
|
25
|
+
id: utils_1.model.id({ prefix: "medimg" }).primaryKey(),
|
|
26
|
+
url: utils_1.model.text(),
|
|
27
|
+
type: utils_1.model.text().nullable(),
|
|
28
|
+
is_thumbnail: utils_1.model.boolean().default(false),
|
|
29
|
+
is_banner: utils_1.model.boolean().default(false),
|
|
30
|
+
rank: utils_1.model.number().default(0),
|
|
31
|
+
metadata: utils_1.model.json().nullable(),
|
|
32
|
+
})
|
|
33
|
+
.indexes([
|
|
34
|
+
{
|
|
35
|
+
name: "IDX_media_image_type",
|
|
36
|
+
on: ["type"],
|
|
37
|
+
where: "deleted_at IS NULL",
|
|
38
|
+
},
|
|
39
|
+
]);
|
|
40
|
+
exports.default = MediaImage;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWRpYS9tb2RlbHMvbWVkaWEtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBaUQ7QUFFakQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sVUFBVSxHQUFHLGFBQUs7S0FDckIsTUFBTSxDQUNMLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQ2hEO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDL0MsR0FBRyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDakIsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsWUFBWSxFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVDLFNBQVMsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUN6QyxJQUFJLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0IsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDbEMsQ0FDRjtLQUNBLE9BQU8sQ0FBQztJQUNQO1FBQ0UsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDWixLQUFLLEVBQUUsb0JBQW9CO0tBQzVCO0NBQ0YsQ0FBQyxDQUFBO0FBRUosa0JBQWUsVUFBVSxDQUFBIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare const MediaModuleService_base: import("@medusajs/framework/utils").MedusaServiceReturnType<import("@medusajs/framework/utils").ModelConfigurationsToConfigTemplate<{
|
|
2
|
-
readonly
|
|
2
|
+
readonly MediaImage: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
|
|
3
3
|
id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
|
|
4
4
|
url: import("@medusajs/framework/utils").TextProperty;
|
|
5
5
|
type: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
|
|
@@ -9,7 +9,7 @@ declare const MediaModuleService_base: import("@medusajs/framework/utils").Medus
|
|
|
9
9
|
metadata: import("@medusajs/framework/utils").NullableModifier<Record<string, unknown>, import("@medusajs/framework/utils").JSONProperty>;
|
|
10
10
|
}>, {
|
|
11
11
|
readonly tableName: "media_image";
|
|
12
|
-
readonly name: "
|
|
12
|
+
readonly name: "MediaImage";
|
|
13
13
|
}>;
|
|
14
14
|
}>>;
|
|
15
15
|
declare class MediaModuleService extends MediaModuleService_base {
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const utils_1 = require("@medusajs/framework/utils");
|
|
4
4
|
const models_1 = require("./models");
|
|
5
5
|
class MediaModuleService extends (0, utils_1.MedusaService)({
|
|
6
|
-
|
|
6
|
+
MediaImage: models_1.MediaImage,
|
|
7
7
|
}) {
|
|
8
8
|
}
|
|
9
9
|
exports.default = MediaModuleService;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL21lZGlhL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBeUQ7QUFFekQscUNBQXFDO0FBRXJDLE1BQU0sa0JBQW1CLFNBQVEsSUFBQSxxQkFBYSxFQUFDO0lBQzdDLFVBQVUsRUFBVixtQkFBVTtDQUNYLENBQUM7Q0FBSTtBQUVOLGtCQUFlLGtCQUFrQixDQUFBIn0=
|
|
@@ -12,13 +12,13 @@ exports.createImagesStep = (0, workflows_sdk_1.createStep)(exports.createImagesS
|
|
|
12
12
|
return new workflows_sdk_1.StepResponse([], []);
|
|
13
13
|
}
|
|
14
14
|
const service = container.resolve(types_1.MercurModules.MEDIA);
|
|
15
|
-
const created = await service.
|
|
15
|
+
const created = await service.createMediaImages(input);
|
|
16
16
|
return new workflows_sdk_1.StepResponse(created, created.map((image) => image.id));
|
|
17
17
|
}, async (createdIds, { container }) => {
|
|
18
18
|
if (!createdIds?.length) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
const service = container.resolve(types_1.MercurModules.MEDIA);
|
|
22
|
-
await service.
|
|
22
|
+
await service.deleteMediaImages(createdIds);
|
|
23
23
|
});
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWltYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWVkaWEvc3RlcHMvY3JlYXRlLWltYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUFDNUUsMkNBQStDO0FBWWxDLFFBQUEsa0JBQWtCLEdBQUcscUJBQXFCLENBQUE7QUFFdkQ7O0dBRUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDeEMsMEJBQWtCLEVBQ2xCLEtBQUssRUFBRSxLQUF5QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBcUIscUJBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxRSxNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV0RCxPQUFPLElBQUksNEJBQVksQ0FDckIsT0FBTyxFQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQ2pELENBQUE7QUFDSCxDQUFDLEVBQ0QsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN4QixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQXFCLHFCQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUUsTUFBTSxPQUFPLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDN0MsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -12,13 +12,13 @@ exports.deleteImagesStep = (0, workflows_sdk_1.createStep)(exports.deleteImagesS
|
|
|
12
12
|
return new workflows_sdk_1.StepResponse(void 0, []);
|
|
13
13
|
}
|
|
14
14
|
const service = container.resolve(types_1.MercurModules.MEDIA);
|
|
15
|
-
await service.
|
|
15
|
+
await service.softDeleteMediaImages(ids);
|
|
16
16
|
return new workflows_sdk_1.StepResponse(void 0, ids);
|
|
17
17
|
}, async (prevIds, { container }) => {
|
|
18
18
|
if (!prevIds?.length) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
21
|
const service = container.resolve(types_1.MercurModules.MEDIA);
|
|
22
|
-
await service.
|
|
22
|
+
await service.restoreMediaImages(prevIds);
|
|
23
23
|
});
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWltYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWVkaWEvc3RlcHMvZGVsZXRlLWltYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNEU7QUFDNUUsMkNBQStDO0FBTWxDLFFBQUEsa0JBQWtCLEdBQUcscUJBQXFCLENBQUE7QUFFdkQ7O0dBRUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDeEMsMEJBQWtCLEVBQ2xCLEtBQUssRUFBRSxHQUEwQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFxQixxQkFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFFLE1BQU0sT0FBTyxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXhDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ3RDLENBQUMsRUFDRCxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMvQixJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBcUIscUJBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxRSxNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUMzQyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -20,7 +20,7 @@ exports.setCategoryImagesWorkflowId = "mercur-set-category-images";
|
|
|
20
20
|
exports.setCategoryImagesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.setCategoryImagesWorkflowId, (input) => {
|
|
21
21
|
const existing = (0, core_flows_1.useQueryGraphStep)({
|
|
22
22
|
entity: "product_category",
|
|
23
|
-
fields: ["id", "
|
|
23
|
+
fields: ["id", "media_images.id", "media_images.type"],
|
|
24
24
|
filters: { id: input.category_id },
|
|
25
25
|
});
|
|
26
26
|
const toCreate = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
|
|
@@ -56,11 +56,11 @@ exports.setCategoryImagesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.
|
|
|
56
56
|
const created = (0, create_images_1.createImagesStep)(toCreate);
|
|
57
57
|
const linksToCreate = (0, workflows_sdk_1.transform)({ created, input }, ({ created, input }) => (created ?? []).map((image) => ({
|
|
58
58
|
[utils_1.Modules.PRODUCT]: { product_category_id: input.category_id },
|
|
59
|
-
[types_1.MercurModules.MEDIA]: {
|
|
59
|
+
[types_1.MercurModules.MEDIA]: { media_image_id: image.id },
|
|
60
60
|
})));
|
|
61
61
|
(0, core_flows_1.createRemoteLinkStep)(linksToCreate);
|
|
62
62
|
const toRemoveIds = (0, workflows_sdk_1.transform)({ existing, input }, ({ existing, input }) => {
|
|
63
|
-
const images = existing.data?.[0]?.
|
|
63
|
+
const images = existing.data?.[0]?.media_images ?? [];
|
|
64
64
|
const ids = [];
|
|
65
65
|
if (input.media !== undefined) {
|
|
66
66
|
ids.push(...images.filter((img) => !img.type).map((img) => img.id));
|
|
@@ -72,9 +72,9 @@ exports.setCategoryImagesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.
|
|
|
72
72
|
});
|
|
73
73
|
const linksToDismiss = (0, workflows_sdk_1.transform)({ toRemoveIds, input }, ({ toRemoveIds, input }) => toRemoveIds.map((image_id) => ({
|
|
74
74
|
[utils_1.Modules.PRODUCT]: { product_category_id: input.category_id },
|
|
75
|
-
[types_1.MercurModules.MEDIA]: { image_id },
|
|
75
|
+
[types_1.MercurModules.MEDIA]: { media_image_id: image_id },
|
|
76
76
|
})));
|
|
77
77
|
(0, core_flows_1.dismissRemoteLinkStep)(linksToDismiss);
|
|
78
78
|
(0, delete_images_1.deleteImagesStep)(toRemoveIds);
|
|
79
79
|
});
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWNhdGVnb3J5LWltYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWVkaWEvd29ya2Zsb3dzL3NldC1jYXRlZ29yeS1pbWFnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBRzBDO0FBQzFDLDREQUlvQztBQUNwQyxxREFBbUQ7QUFDbkQsMkNBQStDO0FBRS9DLDBEQUF5RDtBQUN6RCwwREFBeUQ7QUFpQjVDLFFBQUEsMkJBQTJCLEdBQUcsNEJBQTRCLENBQUE7QUFFdkU7Ozs7Ozs7O0dBUUc7QUFDVSxRQUFBLHlCQUF5QixHQUFHLElBQUEsOEJBQWMsRUFDckQsbUNBQTJCLEVBQzNCLENBQUMsS0FBcUMsRUFBRSxFQUFFO0lBQ3hDLE1BQU0sUUFBUSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDakMsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUM7UUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUU7S0FDbkMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDbEQsTUFBTSxJQUFJLEdBTUosRUFBRSxDQUFBO1FBRVIsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQTtZQUMxQixJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUE7WUFDdkIsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJ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
|
|
@@ -21,7 +21,7 @@ exports.setCollectionImagesWorkflowId = "mercur-set-collection-images";
|
|
|
21
21
|
exports.setCollectionImagesWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.setCollectionImagesWorkflowId, (input) => {
|
|
22
22
|
const existing = (0, core_flows_1.useQueryGraphStep)({
|
|
23
23
|
entity: "product_collection",
|
|
24
|
-
fields: ["id", "
|
|
24
|
+
fields: ["id", "media_images.id", "media_images.type"],
|
|
25
25
|
filters: { id: input.collection_id },
|
|
26
26
|
});
|
|
27
27
|
const toCreate = (0, workflows_sdk_1.transform)({ input }, ({ input }) => {
|
|
@@ -57,11 +57,11 @@ exports.setCollectionImagesWorkflow = (0, workflows_sdk_1.createWorkflow)(export
|
|
|
57
57
|
const created = (0, create_images_1.createImagesStep)(toCreate);
|
|
58
58
|
const linksToCreate = (0, workflows_sdk_1.transform)({ created, input }, ({ created, input }) => (created ?? []).map((image) => ({
|
|
59
59
|
[utils_1.Modules.PRODUCT]: { product_collection_id: input.collection_id },
|
|
60
|
-
[types_1.MercurModules.MEDIA]: {
|
|
60
|
+
[types_1.MercurModules.MEDIA]: { media_image_id: image.id },
|
|
61
61
|
})));
|
|
62
62
|
(0, core_flows_1.createRemoteLinkStep)(linksToCreate);
|
|
63
63
|
const toRemoveIds = (0, workflows_sdk_1.transform)({ existing, input }, ({ existing, input }) => {
|
|
64
|
-
const images = existing.data?.[0]?.
|
|
64
|
+
const images = existing.data?.[0]?.media_images ?? [];
|
|
65
65
|
const ids = [];
|
|
66
66
|
if (input.media !== undefined) {
|
|
67
67
|
ids.push(...images.filter((img) => !img.type).map((img) => img.id));
|
|
@@ -73,9 +73,9 @@ exports.setCollectionImagesWorkflow = (0, workflows_sdk_1.createWorkflow)(export
|
|
|
73
73
|
});
|
|
74
74
|
const linksToDismiss = (0, workflows_sdk_1.transform)({ toRemoveIds, input }, ({ toRemoveIds, input }) => toRemoveIds.map((image_id) => ({
|
|
75
75
|
[utils_1.Modules.PRODUCT]: { product_collection_id: input.collection_id },
|
|
76
|
-
[types_1.MercurModules.MEDIA]: { image_id },
|
|
76
|
+
[types_1.MercurModules.MEDIA]: { media_image_id: image_id },
|
|
77
77
|
})));
|
|
78
78
|
(0, core_flows_1.dismissRemoteLinkStep)(linksToDismiss);
|
|
79
79
|
(0, delete_images_1.deleteImagesStep)(toRemoveIds);
|
|
80
80
|
});
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWNvbGxlY3Rpb24taW1hZ2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZWRpYS93b3JrZmxvd3Mvc2V0LWNvbGxlY3Rpb24taW1hZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUcwQztBQUMxQyw0REFJb0M7QUFDcEMscURBQW1EO0FBQ25ELDJDQUErQztBQUUvQywwREFBeUQ7QUFDekQsMERBQXlEO0FBaUI1QyxRQUFBLDZCQUE2QixHQUFHLDhCQUE4QixDQUFBO0FBRTNFOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsSUFBQSw4QkFBYyxFQUN2RCxxQ0FBNkIsRUFDN0IsQ0FBQyxLQUF1QyxFQUFFLEVBQUU7SUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNqQyxNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQztRQUN0RCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRTtLQUNyQyxDQUFDLENBQUE7SUFFRixNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUNsRCxNQUFNLElBQUksR0FNSixFQUFFLENBQUE7UUFFUixJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxjQUFjLEdBQUcsS0FBSyxDQUFBO1lBQzFCLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQTtZQUN2QixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDL0IsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZ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
|
package/package.json
CHANGED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
-
/**
|
|
5
|
-
* A generic image record owned (via module link) by a marketplace entity
|
|
6
|
-
* such as a product category — and, in a later iteration, a product
|
|
7
|
-
* collection. The owner id is NOT stored here; it lives in the link table.
|
|
8
|
-
*
|
|
9
|
-
* `type` discriminates the icon (`"icon"`) from gallery images (`null`).
|
|
10
|
-
* Among gallery images, `is_thumbnail` / `is_banner` mark the storefront
|
|
11
|
-
* roles; the same image may carry both flags or neither. The single-
|
|
12
|
-
* thumbnail / single-banner / single-icon invariants are enforced in the
|
|
13
|
-
* `setCategoryImages` workflow, not by DB constraints (they span the link
|
|
14
|
-
* table).
|
|
15
|
-
*
|
|
16
|
-
* Table is `media_image`, NOT `image`: Medusa's product module already
|
|
17
|
-
* owns a table named `image` (its ProductImage) — reusing it would collide.
|
|
18
|
-
*/
|
|
19
|
-
const Image = utils_1.model
|
|
20
|
-
.define({ tableName: "media_image", name: "Image" }, {
|
|
21
|
-
id: utils_1.model.id({ prefix: "medimg" }).primaryKey(),
|
|
22
|
-
url: utils_1.model.text(),
|
|
23
|
-
type: utils_1.model.text().nullable(),
|
|
24
|
-
is_thumbnail: utils_1.model.boolean().default(false),
|
|
25
|
-
is_banner: utils_1.model.boolean().default(false),
|
|
26
|
-
rank: utils_1.model.number().default(0),
|
|
27
|
-
metadata: utils_1.model.json().nullable(),
|
|
28
|
-
})
|
|
29
|
-
.indexes([
|
|
30
|
-
{
|
|
31
|
-
name: "IDX_media_image_type",
|
|
32
|
-
on: ["type"],
|
|
33
|
-
where: "deleted_at IS NULL",
|
|
34
|
-
},
|
|
35
|
-
]);
|
|
36
|
-
exports.default = Image;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWRpYS9tb2RlbHMvaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBaUQ7QUFFakQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLEtBQUssR0FBRyxhQUFLO0tBQ2hCLE1BQU0sQ0FDTCxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUMzQztJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQy9DLEdBQUcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ2pCLElBQUksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFlBQVksRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QyxTQUFTLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDekMsSUFBSSxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9CLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2xDLENBQ0Y7S0FDQSxPQUFPLENBQUM7SUFDUDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ1osS0FBSyxFQUFFLG9CQUFvQjtLQUM1QjtDQUNGLENBQUMsQ0FBQTtBQUVKLGtCQUFlLEtBQUssQ0FBQSJ9
|