@csbeker/medusa-product-attributes 2.2.0
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/admin/index.js +9012 -0
- package/.medusa/server/src/admin/index.mjs +9010 -0
- package/.medusa/server/src/api/admin/middlewares.js +10 -0
- package/.medusa/server/src/api/admin/plugin/attribute-set/[id]/attributes/route.js +17 -0
- package/.medusa/server/src/api/admin/plugin/attribute-set/[id]/route.js +33 -0
- package/.medusa/server/src/api/admin/plugin/attribute-set/middlewares.js +44 -0
- package/.medusa/server/src/api/admin/plugin/attribute-set/query-config.js +22 -0
- package/.medusa/server/src/api/admin/plugin/attribute-set/route.js +25 -0
- package/.medusa/server/src/api/admin/plugin/attribute-set/validators.js +37 -0
- package/.medusa/server/src/api/admin/plugin/attributes/[id]/route.js +68 -0
- package/.medusa/server/src/api/admin/plugin/attributes/[id]/values/[valueId]/route.js +37 -0
- package/.medusa/server/src/api/admin/plugin/attributes/[id]/values/route.js +31 -0
- package/.medusa/server/src/api/admin/plugin/attributes/middlewares.js +103 -0
- package/.medusa/server/src/api/admin/plugin/attributes/query-config.js +41 -0
- package/.medusa/server/src/api/admin/plugin/attributes/route.js +28 -0
- package/.medusa/server/src/api/admin/plugin/attributes/validators.js +69 -0
- package/.medusa/server/src/api/admin/plugin/route.js +7 -0
- package/.medusa/server/src/api/middlewares.js +12 -0
- package/.medusa/server/src/api/store/middlewares.js +8 -0
- package/.medusa/server/src/api/store/plugin/attributes/middlewares.js +64 -0
- package/.medusa/server/src/api/store/plugin/attributes/products/middlewares.js +100 -0
- package/.medusa/server/src/api/store/plugin/attributes/products/query-config.js +20 -0
- package/.medusa/server/src/api/store/plugin/attributes/products/route.js +48 -0
- package/.medusa/server/src/api/store/plugin/attributes/products/validators.js +39 -0
- package/.medusa/server/src/api/store/plugin/attributes/query-config.js +21 -0
- package/.medusa/server/src/api/store/plugin/attributes/route.js +15 -0
- package/.medusa/server/src/api/store/plugin/attributes/validators.js +14 -0
- package/.medusa/server/src/api/store/plugin/route.js +7 -0
- package/.medusa/server/src/api/utils/common-validators.js +23 -0
- package/.medusa/server/src/api/utils/constants.js +6 -0
- package/.medusa/server/src/api/utils/middlewares.js +34 -0
- package/.medusa/server/src/links/attribute-product-category.js +16 -0
- package/.medusa/server/src/links/attribute-value-product.js +16 -0
- package/.medusa/server/src/modules/attribute/events/index.js +8 -0
- package/.medusa/server/src/modules/attribute/index.js +13 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250319161229.js +24 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250320182643.js +16 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250321162638.js +14 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250505144933.js +23 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250505201747.js +21 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250506162300.js +14 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250611160552.js +14 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250611173345.js +16 -0
- package/.medusa/server/src/modules/attribute/migrations/Migration20250612192857.js +16 -0
- package/.medusa/server/src/modules/attribute/models/attribute-possible-value.js +24 -0
- package/.medusa/server/src/modules/attribute/models/attribute-set.js +22 -0
- package/.medusa/server/src/modules/attribute/models/attribute-value.js +17 -0
- package/.medusa/server/src/modules/attribute/models/attribute.js +27 -0
- package/.medusa/server/src/modules/attribute/service.js +84 -0
- package/.medusa/server/src/modules/attribute/types/attribute/common.js +13 -0
- package/.medusa/server/src/modules/attribute/types/attribute/index.js +18 -0
- package/.medusa/server/src/modules/attribute/types/attribute-set/index.js +18 -0
- package/.medusa/server/src/modules/attribute/types/attribute-set/mutations.js +3 -0
- package/.medusa/server/src/modules/attribute/types/attribute-value/index.js +18 -0
- package/.medusa/server/src/modules/attribute/types/attribute-value/mutations.js +3 -0
- package/.medusa/server/src/modules/attribute/types/index.js +20 -0
- package/.medusa/server/src/types/attribute/common.js +3 -0
- package/.medusa/server/src/types/attribute/http/attribute/admin/index.js +3 -0
- package/.medusa/server/src/types/attribute/http/attribute/index.js +18 -0
- package/.medusa/server/src/types/attribute/http/attribute-set/index.js +3 -0
- package/.medusa/server/src/types/attribute/http/index.js +19 -0
- package/.medusa/server/src/types/attribute/index.js +19 -0
- package/.medusa/server/src/utils/index.js +18 -0
- package/.medusa/server/src/utils/products-created-handler.js +22 -0
- package/.medusa/server/src/utils/products-updated-handler.js +58 -0
- package/.medusa/server/src/utils/validate-attribute-values-to-link.js +43 -0
- package/.medusa/server/src/workflows/attribute/index.js +19 -0
- package/.medusa/server/src/workflows/attribute/steps/create-attribute-possible-values.js +18 -0
- package/.medusa/server/src/workflows/attribute/steps/create-attributes.js +27 -0
- package/.medusa/server/src/workflows/attribute/steps/delete-attribute.js +31 -0
- package/.medusa/server/src/workflows/attribute/steps/index.js +21 -0
- package/.medusa/server/src/workflows/attribute/steps/update-attributes.js +34 -0
- package/.medusa/server/src/workflows/attribute/workflows/create-attribute-possible-values.js +11 -0
- package/.medusa/server/src/workflows/attribute/workflows/create-attributes.js +46 -0
- package/.medusa/server/src/workflows/attribute/workflows/delete-attribute.js +10 -0
- package/.medusa/server/src/workflows/attribute/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/attribute/workflows/update-attributes.js +73 -0
- package/.medusa/server/src/workflows/attribute-set/steps/batch-link-attribute-set-attributes.js +66 -0
- package/.medusa/server/src/workflows/attribute-set/steps/create-attribute-set.js +24 -0
- package/.medusa/server/src/workflows/attribute-set/steps/index.js +20 -0
- package/.medusa/server/src/workflows/attribute-set/steps/update-attribute-set.js +22 -0
- package/.medusa/server/src/workflows/attribute-set/workflows/batch-link-attribute-set-attributes.js +10 -0
- package/.medusa/server/src/workflows/attribute-set/workflows/create-attribute-set.js +11 -0
- package/.medusa/server/src/workflows/attribute-set/workflows/index.js +20 -0
- package/.medusa/server/src/workflows/attribute-set/workflows/update-attribute-set.js +10 -0
- package/.medusa/server/src/workflows/attribute-value/steps/create-attribute-value.js +18 -0
- package/.medusa/server/src/workflows/attribute-value/steps/delete-attribute-value.js +18 -0
- package/.medusa/server/src/workflows/attribute-value/steps/index.js +20 -0
- package/.medusa/server/src/workflows/attribute-value/steps/validate-attribute-value.js +53 -0
- package/.medusa/server/src/workflows/attribute-value/workflow/create-attribute-value.js +28 -0
- package/.medusa/server/src/workflows/attribute-value/workflow/delete-attribute-value.js +38 -0
- package/.medusa/server/src/workflows/attribute-value/workflow/index.js +19 -0
- package/.medusa/server/src/workflows/attribute_possible_value/index.js +19 -0
- package/.medusa/server/src/workflows/attribute_possible_value/steps/index.js +18 -0
- package/.medusa/server/src/workflows/attribute_possible_value/steps/update-attribute-possible-value.js +18 -0
- package/.medusa/server/src/workflows/attribute_possible_value/workflows/index.js +18 -0
- package/.medusa/server/src/workflows/attribute_possible_value/workflows/update-attribute-possible-value.js +11 -0
- package/.medusa/server/src/workflows/index.js +18 -0
- package/CHANGELOG.md +104 -0
- package/README.md +86 -0
- package/package.json +90 -0
- package/src/admin/README.md +31 -0
- package/src/admin/components/metadata-editor/index.tsx +101 -0
- package/src/admin/components/section-row.tsx +41 -0
- package/src/admin/hooks/api/attribute-set.ts +122 -0
- package/src/admin/hooks/api/attributes.ts +126 -0
- package/src/admin/hooks/table/columns/index.ts +1 -0
- package/src/admin/hooks/table/columns/use-attribute-table-columns.tsx +280 -0
- package/src/admin/layouts/single-column.tsx +11 -0
- package/src/admin/lib/config.ts +8 -0
- package/src/admin/lib/query-key-factory.ts +53 -0
- package/src/admin/routes/attributes/[id]/edit/page.tsx +133 -0
- package/src/admin/routes/attributes/[id]/edit-possible-value/page.tsx +174 -0
- package/src/admin/routes/attributes/[id]/page.tsx +127 -0
- package/src/admin/routes/attributes/components/AttributeForm.tsx +301 -0
- package/src/admin/routes/attributes/components/AttributeSetTable.tsx +108 -0
- package/src/admin/routes/attributes/components/category-selection-modal.tsx +82 -0
- package/src/admin/routes/attributes/components/possible-values-table.tsx +119 -0
- package/src/admin/routes/attributes/create/components/MultiSelectCategory.tsx +148 -0
- package/src/admin/routes/attributes/create/components/PossibleValuesList.tsx +151 -0
- package/src/admin/routes/attributes/create/page.tsx +123 -0
- package/src/admin/routes/attributes/create-set/page.tsx +110 -0
- package/src/admin/routes/attributes/page.tsx +346 -0
- package/src/admin/routes/attributes/set/[id]/attributes/page.tsx +35 -0
- package/src/admin/routes/attributes/set/[id]/components/AttributeSetAttributesSection.tsx +114 -0
- package/src/admin/routes/attributes/set/[id]/components/AttributeSetGeneralSection.tsx +42 -0
- package/src/admin/routes/attributes/set/[id]/components/attribute-set-attributes-form.tsx +143 -0
- package/src/admin/routes/attributes/set/[id]/components/index.ts +2 -0
- package/src/admin/routes/attributes/set/[id]/edit/page.tsx +119 -0
- package/src/admin/routes/attributes/set/[id]/page.tsx +45 -0
- package/src/admin/tsconfig.json +27 -0
- package/src/admin/types/global.d.ts +3 -0
- package/src/admin/vite-env.d.ts +1 -0
- package/src/api/README.md +133 -0
- package/src/api/admin/middlewares.ts +8 -0
- package/src/api/admin/plugin/attribute-set/[id]/attributes/route.ts +17 -0
- package/src/api/admin/plugin/attribute-set/[id]/route.ts +41 -0
- package/src/api/admin/plugin/attribute-set/middlewares.ts +42 -0
- package/src/api/admin/plugin/attribute-set/query-config.ts +20 -0
- package/src/api/admin/plugin/attribute-set/route.ts +34 -0
- package/src/api/admin/plugin/attribute-set/validators.ts +45 -0
- package/src/api/admin/plugin/attributes/[id]/route.ts +85 -0
- package/src/api/admin/plugin/attributes/[id]/values/[valueId]/route.ts +41 -0
- package/src/api/admin/plugin/attributes/[id]/values/route.ts +39 -0
- package/src/api/admin/plugin/attributes/middlewares.ts +91 -0
- package/src/api/admin/plugin/attributes/query-config.ts +42 -0
- package/src/api/admin/plugin/attributes/route.ts +33 -0
- package/src/api/admin/plugin/attributes/validators.ts +91 -0
- package/src/api/admin/plugin/route.ts +8 -0
- package/src/api/middlewares.ts +10 -0
- package/src/api/store/middlewares.ts +6 -0
- package/src/api/store/plugin/attributes/middlewares.ts +33 -0
- package/src/api/store/plugin/attributes/products/middlewares.ts +73 -0
- package/src/api/store/plugin/attributes/products/query-config.ts +19 -0
- package/src/api/store/plugin/attributes/products/route.ts +68 -0
- package/src/api/store/plugin/attributes/products/validators.ts +55 -0
- package/src/api/store/plugin/attributes/query-config.ts +19 -0
- package/src/api/store/plugin/attributes/route.ts +13 -0
- package/src/api/store/plugin/attributes/validators.ts +14 -0
- package/src/api/store/plugin/route.ts +8 -0
- package/src/api/utils/common-validators.ts +24 -0
- package/src/api/utils/constants.ts +2 -0
- package/src/api/utils/middlewares.ts +31 -0
- package/src/jobs/README.md +36 -0
- package/src/links/README.md +26 -0
- package/src/links/attribute-product-category.ts +14 -0
- package/src/links/attribute-value-product.ts +14 -0
- package/src/modules/README.md +116 -0
- package/src/modules/attribute/events/index.ts +4 -0
- package/src/modules/attribute/index.ts +8 -0
- package/src/modules/attribute/migrations/.snapshot-medusa-attribute.json +624 -0
- package/src/modules/attribute/migrations/Migration20250319161229.ts +27 -0
- package/src/modules/attribute/migrations/Migration20250320182643.ts +15 -0
- package/src/modules/attribute/migrations/Migration20250321162638.ts +13 -0
- package/src/modules/attribute/migrations/Migration20250505144933.ts +26 -0
- package/src/modules/attribute/migrations/Migration20250505201747.ts +23 -0
- package/src/modules/attribute/migrations/Migration20250506162300.ts +13 -0
- package/src/modules/attribute/migrations/Migration20250611160552.ts +13 -0
- package/src/modules/attribute/migrations/Migration20250611173345.ts +17 -0
- package/src/modules/attribute/migrations/Migration20250612192857.ts +17 -0
- package/src/modules/attribute/models/attribute-possible-value.ts +20 -0
- package/src/modules/attribute/models/attribute-set.ts +18 -0
- package/src/modules/attribute/models/attribute-value.ts +13 -0
- package/src/modules/attribute/models/attribute.ts +23 -0
- package/src/modules/attribute/service.ts +102 -0
- package/src/modules/attribute/types/attribute/common.ts +94 -0
- package/src/modules/attribute/types/attribute/index.ts +1 -0
- package/src/modules/attribute/types/attribute-set/index.ts +1 -0
- package/src/modules/attribute/types/attribute-set/mutations.ts +7 -0
- package/src/modules/attribute/types/attribute-value/index.ts +1 -0
- package/src/modules/attribute/types/attribute-value/mutations.ts +5 -0
- package/src/modules/attribute/types/index.ts +3 -0
- package/src/providers/README.md +30 -0
- package/src/subscribers/README.md +59 -0
- package/src/types/attribute/common.ts +173 -0
- package/src/types/attribute/http/attribute/admin/index.ts +0 -0
- package/src/types/attribute/http/attribute/index.ts +42 -0
- package/src/types/attribute/http/attribute-set/index.ts +10 -0
- package/src/types/attribute/http/index.ts +2 -0
- package/src/types/attribute/index.ts +2 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/products-created-handler.ts +35 -0
- package/src/utils/products-updated-handler.ts +74 -0
- package/src/utils/validate-attribute-values-to-link.ts +67 -0
- package/src/workflows/README.md +79 -0
- package/src/workflows/attribute/index.ts +2 -0
- package/src/workflows/attribute/steps/create-attribute-possible-values.ts +29 -0
- package/src/workflows/attribute/steps/create-attributes.ts +35 -0
- package/src/workflows/attribute/steps/delete-attribute.ts +41 -0
- package/src/workflows/attribute/steps/index.ts +4 -0
- package/src/workflows/attribute/steps/update-attributes.ts +45 -0
- package/src/workflows/attribute/workflows/create-attribute-possible-values.ts +17 -0
- package/src/workflows/attribute/workflows/create-attributes.ts +56 -0
- package/src/workflows/attribute/workflows/delete-attribute.ts +15 -0
- package/src/workflows/attribute/workflows/index.ts +3 -0
- package/src/workflows/attribute/workflows/update-attributes.ts +103 -0
- package/src/workflows/attribute-set/steps/batch-link-attribute-set-attributes.ts +82 -0
- package/src/workflows/attribute-set/steps/create-attribute-set.ts +34 -0
- package/src/workflows/attribute-set/steps/index.ts +3 -0
- package/src/workflows/attribute-set/steps/update-attribute-set.ts +32 -0
- package/src/workflows/attribute-set/workflows/batch-link-attribute-set-attributes.ts +12 -0
- package/src/workflows/attribute-set/workflows/create-attribute-set.ts +17 -0
- package/src/workflows/attribute-set/workflows/index.ts +3 -0
- package/src/workflows/attribute-set/workflows/update-attribute-set.ts +14 -0
- package/src/workflows/attribute-value/steps/create-attribute-value.ts +26 -0
- package/src/workflows/attribute-value/steps/delete-attribute-value.ts +26 -0
- package/src/workflows/attribute-value/steps/index.ts +3 -0
- package/src/workflows/attribute-value/steps/validate-attribute-value.ts +95 -0
- package/src/workflows/attribute-value/workflow/create-attribute-value.ts +36 -0
- package/src/workflows/attribute-value/workflow/delete-attribute-value.ts +46 -0
- package/src/workflows/attribute-value/workflow/index.ts +2 -0
- package/src/workflows/attribute_possible_value/index.ts +2 -0
- package/src/workflows/attribute_possible_value/steps/index.ts +1 -0
- package/src/workflows/attribute_possible_value/steps/update-attribute-possible-value.ts +25 -0
- package/src/workflows/attribute_possible_value/workflows/index.ts +1 -0
- package/src/workflows/attribute_possible_value/workflows/update-attribute-possible-value.ts +15 -0
- package/src/workflows/index.ts +1 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storeMiddlewaresRoutes = void 0;
|
|
4
|
+
const middlewares_1 = require("./plugin/attributes/middlewares");
|
|
5
|
+
exports.storeMiddlewaresRoutes = [
|
|
6
|
+
...middlewares_1.storeAttributesMiddlewaresRoute
|
|
7
|
+
];
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlFQUFrRjtBQUVyRSxRQUFBLHNCQUFzQixHQUFzQjtJQUNyRCxHQUFHLDZDQUErQjtDQUNyQyxDQUFBIn0=
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.storeAttributesMiddlewaresRoute = void 0;
|
|
40
|
+
const framework_1 = require("@medusajs/framework");
|
|
41
|
+
const constants_1 = require("../../../utils/constants");
|
|
42
|
+
const validators_1 = require("./validators");
|
|
43
|
+
const QueryConfig = __importStar(require("./query-config"));
|
|
44
|
+
const middlewares_1 = require("./products/middlewares");
|
|
45
|
+
const attribute_product_category_1 = __importDefault(require("../../../../links/attribute-product-category"));
|
|
46
|
+
const middlewares_2 = require("../../../utils/middlewares");
|
|
47
|
+
exports.storeAttributesMiddlewaresRoute = [
|
|
48
|
+
{
|
|
49
|
+
methods: ["GET"],
|
|
50
|
+
matcher: constants_1.storeAttributesBaseRoute,
|
|
51
|
+
middlewares: [
|
|
52
|
+
(0, framework_1.validateAndTransformQuery)(validators_1.StoreGetAttributesParams, QueryConfig.storeListAttributesQueryConfig),
|
|
53
|
+
(0, framework_1.maybeApplyLinkFilter)({
|
|
54
|
+
entryPoint: attribute_product_category_1.default.entryPoint,
|
|
55
|
+
resourceId: 'attribute_id',
|
|
56
|
+
filterableField: 'product_category_id'
|
|
57
|
+
}),
|
|
58
|
+
(0, middlewares_2.addGlobalAttributesIfNecessary)(),
|
|
59
|
+
(0, framework_1.clearFiltersByKey)(['include_globals']),
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
...middlewares_1.storeAttributesProductsMiddlewares,
|
|
63
|
+
];
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BsdWdpbi9hdHRyaWJ1dGVzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUs2QjtBQUM3Qix3REFBb0U7QUFDcEUsNkNBQXdEO0FBQ3hELDREQUE4QztBQUM5Qyx3REFBNEU7QUFDNUUsOEdBQW9GO0FBQ3BGLDREQUE0RTtBQUUvRCxRQUFBLCtCQUErQixHQUFzQjtJQUNoRTtRQUNFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNoQixPQUFPLEVBQUUsb0NBQXdCO1FBQ2pDLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLHFDQUF3QixFQUN4QixXQUFXLENBQUMsOEJBQThCLENBQzNDO1lBQ0QsSUFBQSxnQ0FBb0IsRUFBQztnQkFDbkIsVUFBVSxFQUFFLG9DQUF3QixDQUFDLFVBQVU7Z0JBQy9DLFVBQVUsRUFBRSxjQUFjO2dCQUMxQixlQUFlLEVBQUUscUJBQXFCO2FBQ3ZDLENBQUM7WUFDRixJQUFBLDRDQUE4QixHQUFFO1lBQ2hDLElBQUEsNkJBQWlCLEVBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3ZDO0tBQ0Y7SUFDRCxHQUFHLGdEQUFrQztDQUN0QyxDQUFDIn0=
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.storeAttributesProductsMiddlewares = void 0;
|
|
40
|
+
const framework_1 = require("@medusajs/framework");
|
|
41
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
42
|
+
const index_1 = require("@medusajs/medusa/api/utils/middlewares/index");
|
|
43
|
+
const OriginalQueryConfig = __importStar(require("@medusajs/medusa/api/store/products/query-config"));
|
|
44
|
+
const validators_1 = require("./validators");
|
|
45
|
+
const attribute_value_product_1 = __importDefault(require("../../../../../links/attribute-value-product"));
|
|
46
|
+
// TODO: Remove once https://github.com/medusajs/medusa/pull/13714 is merged and import instead
|
|
47
|
+
const IndexEngineFeatureFlag = {
|
|
48
|
+
key: "index_engine",
|
|
49
|
+
default_val: false,
|
|
50
|
+
env_key: "MEDUSA_FF_INDEX_ENGINE",
|
|
51
|
+
description: "Enable Medusa to use the index engine in some part of the core",
|
|
52
|
+
};
|
|
53
|
+
exports.storeAttributesProductsMiddlewares = [
|
|
54
|
+
{
|
|
55
|
+
method: ["GET"],
|
|
56
|
+
matcher: "/store/plugin/attributes/products",
|
|
57
|
+
middlewares: [
|
|
58
|
+
(0, framework_1.authenticate)("customer", ["session", "bearer"], {
|
|
59
|
+
allowUnauthenticated: true,
|
|
60
|
+
}),
|
|
61
|
+
(0, framework_1.validateAndTransformQuery)(validators_1.ExtendedStoreGetProductsParams, OriginalQueryConfig.listProductQueryConfig),
|
|
62
|
+
(0, index_1.filterByValidSalesChannels)(),
|
|
63
|
+
(req, res, next) => {
|
|
64
|
+
const canUseIndex = !((0, utils_1.isPresent)(req.filterableFields.tags) ||
|
|
65
|
+
(0, utils_1.isPresent)(req.filterableFields.categories));
|
|
66
|
+
if (utils_1.FeatureFlag.isFeatureEnabled(IndexEngineFeatureFlag.key) &&
|
|
67
|
+
canUseIndex) {
|
|
68
|
+
return next();
|
|
69
|
+
}
|
|
70
|
+
return (0, framework_1.maybeApplyLinkFilter)({
|
|
71
|
+
entryPoint: "product_sales_channel",
|
|
72
|
+
resourceId: "product_id",
|
|
73
|
+
filterableField: "sales_channel_id",
|
|
74
|
+
})(req, res, next);
|
|
75
|
+
},
|
|
76
|
+
(0, framework_1.applyDefaultFilters)({
|
|
77
|
+
status: utils_1.ProductStatus.PUBLISHED,
|
|
78
|
+
// TODO: the type here seems off and the implementation does not take into account $and and $or possible filters. Might be worth re working (original type used here was StoreGetProductsParamsType)
|
|
79
|
+
categories: (filters, fields) => {
|
|
80
|
+
const categoryIds = filters.category_id;
|
|
81
|
+
delete filters.category_id;
|
|
82
|
+
if (!(0, utils_1.isPresent)(categoryIds)) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
return { id: categoryIds, is_internal: false, is_active: true };
|
|
86
|
+
},
|
|
87
|
+
}),
|
|
88
|
+
(0, framework_1.maybeApplyLinkFilter)({
|
|
89
|
+
entryPoint: attribute_value_product_1.default.entryPoint,
|
|
90
|
+
filterableField: 'attribute_value_id',
|
|
91
|
+
resourceId: 'product_id'
|
|
92
|
+
}),
|
|
93
|
+
(0, index_1.normalizeDataForContext)(),
|
|
94
|
+
(0, index_1.setPricingContext)(),
|
|
95
|
+
(0, index_1.setTaxContext)(),
|
|
96
|
+
(0, framework_1.clearFiltersByKey)(["region_id", "country_code", "province", "cart_id"]),
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BsdWdpbi9hdHRyaWJ1dGVzL3Byb2R1Y3RzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUE2SjtBQUM3SixxREFBa0Y7QUFFbEYsd0VBQXFKO0FBQ3JKLHNHQUF1RjtBQUN2Riw2Q0FBOEQ7QUFDOUQsMkdBQWlGO0FBRWpGLCtGQUErRjtBQUMvRixNQUFNLHNCQUFzQixHQUFHO0lBQzdCLEdBQUcsRUFBRSxjQUFjO0lBQ25CLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLE9BQU8sRUFBRSx3QkFBd0I7SUFDakMsV0FBVyxFQUFFLGdFQUFnRTtDQUM5RSxDQUFDO0FBRVcsUUFBQSxrQ0FBa0MsR0FBc0I7SUFDakU7UUFDSSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUsbUNBQW1DO1FBQzVDLFdBQVcsRUFBRTtZQUNYLElBQUEsd0JBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQzlDLG9CQUFvQixFQUFFLElBQUk7YUFDM0IsQ0FBQztZQUNGLElBQUEscUNBQXlCLEVBQ3ZCLDJDQUE4QixFQUM5QixtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FDM0M7WUFDRCxJQUFBLGtDQUEwQixHQUFFO1lBQzVCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUNuQixJQUFBLGlCQUFTLEVBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztvQkFDcEMsSUFBQSxpQkFBUyxFQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FDM0MsQ0FBQTtnQkFDRCxJQUNFLG1CQUFXLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDO29CQUN4RCxXQUFXLEVBQ1gsQ0FBQztvQkFDRCxPQUFPLElBQUksRUFBRSxDQUFBO2dCQUNmLENBQUM7Z0JBRUQsT0FBTyxJQUFBLGdDQUFvQixFQUFDO29CQUMxQixVQUFVLEVBQUUsdUJBQXVCO29CQUNuQyxVQUFVLEVBQUUsWUFBWTtvQkFDeEIsZUFBZSxFQUFFLGtCQUFrQjtpQkFDcEMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDcEIsQ0FBQztZQUNELElBQUEsK0JBQW1CLEVBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxxQkFBYSxDQUFDLFNBQVM7Z0JBQy9CLG9NQUFvTTtnQkFDcE0sVUFBVSxFQUFFLENBQUMsT0FBWSxFQUFFLE1BQWdCLEVBQUUsRUFBRTtvQkFDN0MsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtvQkFDdkMsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFBO29CQUUxQixJQUFJLENBQUMsSUFBQSxpQkFBUyxFQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7d0JBQzVCLE9BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQTtnQkFDakUsQ0FBQzthQUNGLENBQUM7WUFDRixJQUFBLGdDQUFvQixFQUFDO2dCQUNuQixVQUFVLEVBQUUsaUNBQXFCLENBQUMsVUFBVTtnQkFDNUMsZUFBZSxFQUFFLG9CQUFvQjtnQkFDckMsVUFBVSxFQUFFLFlBQVk7YUFDekIsQ0FBQztZQUNGLElBQUEsK0JBQXVCLEdBQUU7WUFDekIsSUFBQSx5QkFBaUIsR0FBRTtZQUNuQixJQUFBLHFCQUFhLEdBQUU7WUFDZixJQUFBLDZCQUFpQixFQUFDLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDeEU7S0FDRjtDQUNOLENBQUEifQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listProductQueryConfig = exports.retrieveProductQueryConfig = void 0;
|
|
4
|
+
const query_config_1 = require("@medusajs/medusa/api/store/products/query-config");
|
|
5
|
+
const defaultExtendedStoreProductFields = [
|
|
6
|
+
'*attribute_values',
|
|
7
|
+
];
|
|
8
|
+
exports.retrieveProductQueryConfig = {
|
|
9
|
+
defaults: [
|
|
10
|
+
...query_config_1.defaultStoreProductFields,
|
|
11
|
+
...defaultExtendedStoreProductFields
|
|
12
|
+
],
|
|
13
|
+
isList: false,
|
|
14
|
+
};
|
|
15
|
+
exports.listProductQueryConfig = {
|
|
16
|
+
...exports.retrieveProductQueryConfig,
|
|
17
|
+
isList: true,
|
|
18
|
+
defaultLimit: 50,
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9zdG9yZS9wbHVnaW4vYXR0cmlidXRlcy9wcm9kdWN0cy9xdWVyeS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUZBQTZGO0FBRTdGLE1BQU0saUNBQWlDLEdBQUc7SUFDdEMsbUJBQW1CO0NBQ3RCLENBQUE7QUFFWSxRQUFBLDBCQUEwQixHQUFHO0lBQ3RDLFFBQVEsRUFBRTtRQUNOLEdBQUcsd0NBQXlCO1FBQzVCLEdBQUcsaUNBQWlDO0tBQ3ZDO0lBQ0QsTUFBTSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQTtBQUVZLFFBQUEsc0JBQXNCLEdBQUc7SUFDbEMsR0FBRyxrQ0FBMEI7SUFDN0IsTUFBTSxFQUFFLElBQUk7SUFDWixZQUFZLEVBQUUsRUFBRTtDQUNuQixDQUFBIn0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// TODO: This is messy, but since Medusa doesn't allow to extend Core GET routes
|
|
3
|
+
// params validators, the only way i see to query core routes with linked
|
|
4
|
+
// custom modules entities, is to recreate route (in a custom one) middleware and
|
|
5
|
+
// apply the custom params validator
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.GET = void 0;
|
|
8
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
9
|
+
const helpers_1 = require("@medusajs/medusa/api/store/products/helpers");
|
|
10
|
+
const index_1 = require("@medusajs/medusa/api/utils/middlewares/index");
|
|
11
|
+
const GET = async (req, res) => {
|
|
12
|
+
return await getProducts(req, res);
|
|
13
|
+
};
|
|
14
|
+
exports.GET = GET;
|
|
15
|
+
async function getProducts(req, res) {
|
|
16
|
+
const remoteQuery = req.scope.resolve(utils_1.ContainerRegistrationKeys.REMOTE_QUERY);
|
|
17
|
+
const context = {};
|
|
18
|
+
const withInventoryQuantity = req.queryConfig.fields.some((field) => field.includes("variants.inventory_quantity"));
|
|
19
|
+
if (withInventoryQuantity) {
|
|
20
|
+
req.queryConfig.fields = req.queryConfig.fields.filter((field) => !field.includes("variants.inventory_quantity"));
|
|
21
|
+
}
|
|
22
|
+
if ((0, utils_1.isPresent)(req.pricingContext)) {
|
|
23
|
+
context["variants.calculated_price"] = {
|
|
24
|
+
context: req.pricingContext,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const queryObject = (0, utils_1.remoteQueryObjectFromString)({
|
|
28
|
+
entryPoint: "product",
|
|
29
|
+
variables: {
|
|
30
|
+
filters: req.filterableFields,
|
|
31
|
+
...req.queryConfig.pagination,
|
|
32
|
+
...context,
|
|
33
|
+
},
|
|
34
|
+
fields: req.queryConfig.fields,
|
|
35
|
+
});
|
|
36
|
+
const { rows: products, metadata } = await remoteQuery(queryObject);
|
|
37
|
+
if (withInventoryQuantity) {
|
|
38
|
+
await (0, index_1.wrapVariantsWithInventoryQuantityForSalesChannel)(req, products.map((product) => product.variants).flat(1));
|
|
39
|
+
}
|
|
40
|
+
await (0, helpers_1.wrapProductsWithTaxPrices)(req, products);
|
|
41
|
+
res.json({
|
|
42
|
+
products,
|
|
43
|
+
count: metadata.count,
|
|
44
|
+
offset: metadata.skip,
|
|
45
|
+
limit: metadata.take,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BsdWdpbi9hdHRyaWJ1dGVzL3Byb2R1Y3RzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnRkFBZ0Y7QUFDaEYseUVBQXlFO0FBQ3pFLGlGQUFpRjtBQUNqRixvQ0FBb0M7OztBQUlwQyxxREFBOEc7QUFDOUcseUVBQTRHO0FBQzVHLHdFQUFnSDtBQUd6RyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQTJELEVBQzNELEdBQXVELEVBQ3ZELEVBQUU7SUFDRixPQUFPLE1BQU0sV0FBVyxDQUFDLEdBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUM7QUFMVyxRQUFBLEdBQUcsT0FLZDtBQUVGLEtBQUssVUFBVSxXQUFXLENBQ3hCLEdBQXlELEVBQ3pELEdBQXVEO0lBRXZELE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlFLE1BQU0sT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUMzQixNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2xFLEtBQUssQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQUMsQ0FDOUMsQ0FBQztJQUVGLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUMxQixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3BELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQUMsQ0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLElBQUEsaUJBQVMsRUFBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsR0FBRztZQUNyQyxPQUFPLEVBQUUsR0FBRyxDQUFDLGNBQWM7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLG1DQUEyQixFQUFDO1FBQzlDLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLFNBQVMsRUFBRTtZQUNULE9BQU8sRUFBRSxHQUFHLENBQUMsZ0JBQWdCO1lBQzdCLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQzdCLEdBQUcsT0FBTztTQUNYO1FBQ0QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtLQUMvQixDQUFDLENBQUM7SUFFSCxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUVwRSxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFBLHdEQUFnRCxFQUNwRCxHQUFHLEVBQ0gsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLElBQUEsbUNBQXlCLEVBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxRQUFRO1FBQ1IsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1FBQ3JCLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSTtRQUNyQixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUk7S0FDckIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtendedStoreGetProductsParams = void 0;
|
|
4
|
+
const validators_1 = require("@medusajs/medusa/api/store/products/validators");
|
|
5
|
+
const common_1 = require("@medusajs/medusa/api/utils/common-validators/common");
|
|
6
|
+
const index_1 = require("@medusajs/medusa/api/utils/common-validators/index");
|
|
7
|
+
const validators_2 = require("@medusajs/medusa/api/utils/validators");
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
//TODO: this is messy, but since Medusa exports an effect, the only way (AFAIK) to extend the schema
|
|
10
|
+
// and to keep the logic of the effects at the same time, the only way is to recreate
|
|
11
|
+
// the Medusa zod object, merge with the custom one and apply the effect
|
|
12
|
+
const OriginalStoreGetProductsParamsWithoutEffect = (0, validators_2.createFindParams)({
|
|
13
|
+
offset: 0,
|
|
14
|
+
limit: 50,
|
|
15
|
+
})
|
|
16
|
+
.merge(validators_1.StoreGetProductsParamsFields)
|
|
17
|
+
.merge(zod_1.z
|
|
18
|
+
.object({
|
|
19
|
+
variants: zod_1.z
|
|
20
|
+
.object({
|
|
21
|
+
options: zod_1.z
|
|
22
|
+
.object({
|
|
23
|
+
value: zod_1.z.string().optional(),
|
|
24
|
+
option_id: zod_1.z.string().optional(),
|
|
25
|
+
})
|
|
26
|
+
.optional(),
|
|
27
|
+
})
|
|
28
|
+
.merge((0, common_1.applyAndAndOrOperators)(validators_1.StoreGetProductVariantsParamsFields))
|
|
29
|
+
.optional(),
|
|
30
|
+
})
|
|
31
|
+
.merge((0, common_1.applyAndAndOrOperators)(index_1.StoreGetProductParamsDirectFields))
|
|
32
|
+
.strict());
|
|
33
|
+
const CustomStoreGetProductsParams = zod_1.z.object({
|
|
34
|
+
attribute_value_id: zod_1.z.array(zod_1.z.string()).optional(),
|
|
35
|
+
});
|
|
36
|
+
exports.ExtendedStoreGetProductsParams = OriginalStoreGetProductsParamsWithoutEffect.merge(CustomStoreGetProductsParams)
|
|
37
|
+
// .merge(applyAndAndOrOperators(CustomStoreGetProductsParams))
|
|
38
|
+
.transform((0, common_1.recursivelyNormalizeSchema)(index_1.transformProductParams));
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvcGx1Z2luL2F0dHJpYnV0ZXMvcHJvZHVjdHMvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrRUFHd0Q7QUFDeEQsZ0ZBRzZEO0FBQzdELDhFQUc0RDtBQUM1RCxzRUFBeUU7QUFDekUsNkJBQXdCO0FBRXhCLG9HQUFvRztBQUNwRyxxRkFBcUY7QUFDckYsd0VBQXdFO0FBQ3hFLE1BQU0sMkNBQTJDLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUNuRSxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQztLQUNDLEtBQUssQ0FBQyx5Q0FBNEIsQ0FBQztLQUNuQyxLQUFLLENBQ0osT0FBQztLQUNFLE1BQU0sQ0FBQztJQUNOLFFBQVEsRUFBRSxPQUFDO1NBQ1IsTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLE9BQUM7YUFDUCxNQUFNLENBQUM7WUFDTixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUM1QixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUNqQyxDQUFDO2FBQ0QsUUFBUSxFQUFFO0tBQ2QsQ0FBQztTQUNELEtBQUssQ0FBQyxJQUFBLCtCQUFzQixFQUFDLGdEQUFtQyxDQUFDLENBQUM7U0FDbEUsUUFBUSxFQUFFO0NBQ2QsQ0FBQztLQUNELEtBQUssQ0FBQyxJQUFBLCtCQUFzQixFQUFDLHlDQUFpQyxDQUFDLENBQUM7S0FDaEUsTUFBTSxFQUFFLENBQ1osQ0FBQztBQUVKLE1BQU0sNEJBQTRCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxrQkFBa0IsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUNuRCxDQUFDLENBQUM7QUFLVSxRQUFBLDhCQUE4QixHQUN6QywyQ0FBMkMsQ0FBQyxLQUFLLENBQy9DLDRCQUE0QixDQUM3QjtJQUNDLCtEQUErRDtLQUM5RCxTQUFTLENBQUMsSUFBQSxtQ0FBMEIsRUFBQyw4QkFBc0IsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storeListAttributesQueryConfig = exports.retrieveStoreAttributesQueryConfig = exports.storeDefaultAttributeFields = void 0;
|
|
4
|
+
exports.storeDefaultAttributeFields = [
|
|
5
|
+
'id',
|
|
6
|
+
'name',
|
|
7
|
+
'description',
|
|
8
|
+
'handle',
|
|
9
|
+
'metadata',
|
|
10
|
+
'*possible_values',
|
|
11
|
+
];
|
|
12
|
+
exports.retrieveStoreAttributesQueryConfig = {
|
|
13
|
+
defaults: exports.storeDefaultAttributeFields,
|
|
14
|
+
isList: false,
|
|
15
|
+
};
|
|
16
|
+
exports.storeListAttributesQueryConfig = {
|
|
17
|
+
...exports.retrieveStoreAttributesQueryConfig,
|
|
18
|
+
isList: true,
|
|
19
|
+
defaultLimit: 50,
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9zdG9yZS9wbHVnaW4vYXR0cmlidXRlcy9xdWVyeS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSwyQkFBMkIsR0FBRztJQUN2QyxJQUFJO0lBQ0osTUFBTTtJQUNOLGFBQWE7SUFDYixRQUFRO0lBQ1IsVUFBVTtJQUNWLGtCQUFrQjtDQUNyQixDQUFBO0FBRVksUUFBQSxrQ0FBa0MsR0FBRztJQUM5QyxRQUFRLEVBQUUsbUNBQTJCO0lBQ3JDLE1BQU0sRUFBRSxLQUFLO0NBQ2hCLENBQUE7QUFFWSxRQUFBLDhCQUE4QixHQUFHO0lBQzFDLEdBQUcsMENBQWtDO0lBQ3JDLE1BQU0sRUFBRSxJQUFJO0lBQ1osWUFBWSxFQUFFLEVBQUU7Q0FDbkIsQ0FBQSJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
7
|
+
const { data: attributes, metadata } = await query.graph({
|
|
8
|
+
entity: 'attribute',
|
|
9
|
+
...req.queryConfig,
|
|
10
|
+
filters: req.filterableFields,
|
|
11
|
+
});
|
|
12
|
+
return res.status(200).json({ attributes, count: metadata?.count, limit: metadata?.take, offset: metadata?.skip });
|
|
13
|
+
};
|
|
14
|
+
exports.GET = GET;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BsdWdpbi9hdHRyaWJ1dGVzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFzRTtBQUcvRCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBZ0QsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDL0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JELE1BQU0sRUFBRSxXQUFXO1FBQ25CLEdBQUcsR0FBRyxDQUFDLFdBQVc7UUFDbEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7S0FDaEMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7QUFDdEgsQ0FBQyxDQUFBO0FBUlksUUFBQSxHQUFHLE9BUWYifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StoreGetAttributesParams = exports.StoreGetAttributesParamsFields = void 0;
|
|
4
|
+
const validators_1 = require("@medusajs/medusa/api/utils/validators");
|
|
5
|
+
const common_validators_1 = require("../../../utils/common-validators");
|
|
6
|
+
const common_1 = require("@medusajs/medusa/api/utils/common-validators/common");
|
|
7
|
+
exports.StoreGetAttributesParamsFields = common_validators_1.GetAttributesParams.strict();
|
|
8
|
+
exports.StoreGetAttributesParams = (0, validators_1.createFindParams)({
|
|
9
|
+
offset: 0,
|
|
10
|
+
limit: 50,
|
|
11
|
+
})
|
|
12
|
+
.merge(exports.StoreGetAttributesParamsFields)
|
|
13
|
+
.merge((0, common_1.applyAndAndOrOperators)(common_validators_1.StoreGetAttributeParamsDirectFields).strict());
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvc3RvcmUvcGx1Z2luL2F0dHJpYnV0ZXMvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzRUFBeUU7QUFFekUsd0VBQTRHO0FBQzVHLGdGQUE2RjtBQUVoRixRQUFBLDhCQUE4QixHQUFHLHVDQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO0FBRzlELFFBQUEsd0JBQXdCLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUN2RCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQztLQUNDLEtBQUssQ0FBQyxzQ0FBOEIsQ0FBQztLQUNyQyxLQUFLLENBQUMsSUFBQSwrQkFBc0IsRUFBQyx1REFBbUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
async function GET(req, res) {
|
|
5
|
+
res.sendStatus(200);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BsdWdpbi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGtCQUtDO0FBTE0sS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0QixDQUFDIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GetAttributesParams = exports.StoreGetAttributeParamsDirectFields = void 0;
|
|
4
|
+
const validators_1 = require("@medusajs/medusa/api/utils/validators");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
exports.StoreGetAttributeParamsDirectFields = zod_1.z.object({
|
|
7
|
+
id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
|
|
8
|
+
name: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
|
|
9
|
+
description: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
|
|
10
|
+
handle: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
|
|
11
|
+
created_at: (0, validators_1.createOperatorMap)().optional(),
|
|
12
|
+
updated_at: (0, validators_1.createOperatorMap)().optional(),
|
|
13
|
+
deleted_at: (0, validators_1.createOperatorMap)().optional(),
|
|
14
|
+
});
|
|
15
|
+
exports.GetAttributesParams = zod_1.z
|
|
16
|
+
.object({
|
|
17
|
+
product_category_id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
|
|
18
|
+
include_globals: zod_1.z.preprocess((val) => {
|
|
19
|
+
return val === 'true';
|
|
20
|
+
}, zod_1.z.boolean().default(true))
|
|
21
|
+
})
|
|
22
|
+
.merge(exports.StoreGetAttributeParamsDirectFields);
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2NvbW1vbi12YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNFQUF5RTtBQUN6RSw2QkFBdUI7QUFFVixRQUFBLG1DQUFtQyxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEQsRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3pELElBQUksRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMzRCxXQUFXLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbEUsTUFBTSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzdELFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdDLENBQUMsQ0FBQTtBQUVXLFFBQUEsbUJBQW1CLEdBQUcsT0FBQztLQUMvQixNQUFNLENBQUM7SUFDSixtQkFBbUIsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxRSxlQUFlLEVBQUUsT0FBQyxDQUFDLFVBQVUsQ0FDekIsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNKLE9BQU8sR0FBRyxLQUFLLE1BQU0sQ0FBQTtJQUN6QixDQUFDLEVBQ0QsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDNUI7Q0FDSixDQUFDO0tBQ0QsS0FBSyxDQUFDLDJDQUFtQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storeAttributesBaseRoute = exports.adminAttributesRoutePath = void 0;
|
|
4
|
+
exports.adminAttributesRoutePath = '/admin/plugin/attributes';
|
|
5
|
+
exports.storeAttributesBaseRoute = '/store/plugin/attributes';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS91dGlscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSx3QkFBd0IsR0FBRywwQkFBMEIsQ0FBQTtBQUNyRCxRQUFBLHdCQUF3QixHQUFHLDBCQUEwQixDQUFBIn0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addGlobalAttributesIfNecessary = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const attribute_product_category_1 = __importDefault(require("../../links/attribute-product-category"));
|
|
9
|
+
const addGlobalAttributesIfNecessary = () => async (req, res, next) => {
|
|
10
|
+
const filterableFields = req.filterableFields || {};
|
|
11
|
+
const shouldIncludeGlobals = filterableFields.include_globals;
|
|
12
|
+
if (!shouldIncludeGlobals) {
|
|
13
|
+
return next();
|
|
14
|
+
}
|
|
15
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
16
|
+
const { data: allAttributes } = await query.graph({
|
|
17
|
+
entity: 'attribute',
|
|
18
|
+
fields: ['id']
|
|
19
|
+
});
|
|
20
|
+
const { data: attributesWithCategories } = await query.graph({
|
|
21
|
+
entity: attribute_product_category_1.default.entryPoint,
|
|
22
|
+
fields: ['attribute_id']
|
|
23
|
+
});
|
|
24
|
+
const alreadyFilteredAttributeIds = (filterableFields.id || []);
|
|
25
|
+
const allAttributesIds = allAttributes.map(attr => attr.id);
|
|
26
|
+
const attributesWithCategoriesIds = (0, utils_1.deduplicate)(attributesWithCategories.map(attrCat => attrCat.attribute_id));
|
|
27
|
+
req.filterableFields.id = [
|
|
28
|
+
...alreadyFilteredAttributeIds,
|
|
29
|
+
...(0, utils_1.arrayDifference)(allAttributesIds, attributesWithCategoriesIds)
|
|
30
|
+
];
|
|
31
|
+
return next();
|
|
32
|
+
};
|
|
33
|
+
exports.addGlobalAttributesIfNecessary = addGlobalAttributesIfNecessary;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3V0aWxzL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHFEQUFvRztBQUNwRyx3R0FBOEU7QUFFdkUsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLElBQXdCLEVBQUUsRUFBRTtJQUM1SCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUE7SUFDbkQsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUE7SUFFN0QsSUFBRyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdkIsT0FBTyxJQUFJLEVBQUUsQ0FBQTtJQUNqQixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDOUMsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO0tBQ2pCLENBQUMsQ0FBQTtJQUNGLE1BQU0sRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekQsTUFBTSxFQUFFLG9DQUF3QixDQUFDLFVBQVU7UUFDM0MsTUFBTSxFQUFFLENBQUMsY0FBYyxDQUFDO0tBQzNCLENBQUMsQ0FBQTtJQUVGLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFhLENBQUE7SUFDM0UsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzNELE1BQU0sMkJBQTJCLEdBQUcsSUFBQSxtQkFBVyxFQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO0lBQzlHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUc7UUFDdEIsR0FBRywyQkFBMkI7UUFDOUIsR0FBRyxJQUFBLHVCQUFlLEVBQUMsZ0JBQWdCLEVBQUUsMkJBQTJCLENBQUM7S0FDcEUsQ0FBQTtJQUNELE9BQU8sSUFBSSxFQUFFLENBQUE7QUFDakIsQ0FBQyxDQUFBO0FBMUJZLFFBQUEsOEJBQThCLGtDQTBCMUMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const attribute_1 = __importDefault(require("../modules/attribute"));
|
|
8
|
+
const product_1 = __importDefault(require("@medusajs/medusa/product"));
|
|
9
|
+
exports.default = (0, utils_1.defineLink)({
|
|
10
|
+
linkable: attribute_1.default.linkable.attribute,
|
|
11
|
+
isList: true
|
|
12
|
+
}, {
|
|
13
|
+
linkable: product_1.default.linkable.productCategory,
|
|
14
|
+
isList: true
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXByb2R1Y3QtY2F0ZWdvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlua3MvYXR0cmlidXRlLXByb2R1Y3QtY2F0ZWdvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBdUQ7QUFDdkQscUVBQWtEO0FBQ2xELHVFQUFxRDtBQUVyRCxrQkFBZSxJQUFBLGtCQUFVLEVBQ3JCO0lBQ0ksUUFBUSxFQUFFLG1CQUFlLENBQUMsUUFBUSxDQUFDLFNBQVM7SUFDNUMsTUFBTSxFQUFFLElBQUk7Q0FDZixFQUNEO0lBQ0ksUUFBUSxFQUFFLGlCQUFhLENBQUMsUUFBUSxDQUFDLGVBQWU7SUFDaEQsTUFBTSxFQUFFLElBQUk7Q0FDZixDQUNKLENBQUEifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const attribute_1 = __importDefault(require("../modules/attribute"));
|
|
8
|
+
const product_1 = __importDefault(require("@medusajs/medusa/product"));
|
|
9
|
+
exports.default = (0, utils_1.defineLink)({
|
|
10
|
+
linkable: attribute_1.default.linkable.attributeValue,
|
|
11
|
+
isList: true,
|
|
12
|
+
}, {
|
|
13
|
+
linkable: product_1.default.linkable.product,
|
|
14
|
+
isList: true,
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXZhbHVlLXByb2R1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlua3MvYXR0cmlidXRlLXZhbHVlLXByb2R1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBc0Q7QUFDdEQscUVBQWtEO0FBQ2xELHVFQUFvRDtBQUVwRCxrQkFBZSxJQUFBLGtCQUFVLEVBQ3JCO0lBQ0ksUUFBUSxFQUFFLG1CQUFlLENBQUMsUUFBUSxDQUFDLGNBQWM7SUFDakQsTUFBTSxFQUFFLElBQUk7Q0FDZixFQUNEO0lBQ0ksUUFBUSxFQUFFLGlCQUFhLENBQUMsUUFBUSxDQUFDLE9BQU87SUFDeEMsTUFBTSxFQUFFLElBQUk7Q0FDZixDQUNKLENBQUEifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AttributeWorkflowsEvents = void 0;
|
|
4
|
+
exports.AttributeWorkflowsEvents = {
|
|
5
|
+
CREATED: 'attribute.created',
|
|
6
|
+
UPDATED: 'attribute.updated',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdHRyaWJ1dGUvZXZlbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsd0JBQXdCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixPQUFPLEVBQUUsbUJBQW1CO0NBQy9CLENBQUEifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ATTRIBUTE_MODULE = void 0;
|
|
7
|
+
const service_1 = __importDefault(require("./service"));
|
|
8
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
9
|
+
exports.ATTRIBUTE_MODULE = 'attribute';
|
|
10
|
+
exports.default = (0, utils_1.Module)(exports.ATTRIBUTE_MODULE, {
|
|
11
|
+
service: service_1.default,
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdHRyaWJ1dGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQThDO0FBQzlDLHFEQUFrRDtBQUVyQyxRQUFBLGdCQUFnQixHQUFHLFdBQVcsQ0FBQTtBQUUzQyxrQkFBZSxJQUFBLGNBQU0sRUFBQyx3QkFBZ0IsRUFBRTtJQUNwQyxPQUFPLEVBQUUsaUJBQXNCO0NBQ2xDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250319161229 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250319161229 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "attribute" drop constraint if exists "attribute_handle_unique";`);
|
|
8
|
+
this.addSql(`create table if not exists "attribute" ("id" text not null, "name" text not null, "description" text null, "is_variant_defining" boolean not null default true, "is_filterable" boolean not null default true, "handle" text not null, "metadata" jsonb null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "attribute_pkey" primary key ("id"));`);
|
|
9
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_ATTRIBUTE_NAME" ON "attribute" (name) WHERE deleted_at IS NULL;`);
|
|
10
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_attribute_handle_unique" ON "attribute" (handle) WHERE deleted_at IS NULL;`);
|
|
11
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_attribute_deleted_at" ON "attribute" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
12
|
+
this.addSql(`create table if not exists "attribute_value" ("id" text not null, "value" text not null, "rank" integer not null, "metadata" jsonb null, "attribute_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "attribute_value_pkey" primary key ("id"));`);
|
|
13
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_attribute_value_attribute_id" ON "attribute_value" (attribute_id) WHERE deleted_at IS NULL;`);
|
|
14
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_attribute_value_deleted_at" ON "attribute_value" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
15
|
+
this.addSql(`alter table if exists "attribute_value" add constraint "attribute_value_attribute_id_foreign" foreign key ("attribute_id") references "attribute" ("id") on update cascade on delete cascade;`);
|
|
16
|
+
}
|
|
17
|
+
async down() {
|
|
18
|
+
this.addSql(`alter table if exists "attribute_value" drop constraint if exists "attribute_value_attribute_id_foreign";`);
|
|
19
|
+
this.addSql(`drop table if exists "attribute" cascade;`);
|
|
20
|
+
this.addSql(`drop table if exists "attribute_value" cascade;`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.Migration20250319161229 = Migration20250319161229;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTAzMTkxNjEyMjkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdHRyaWJ1dGUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDMxOTE2MTIyOS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsd0ZBQXdGLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsTUFBTSxDQUFDLGliQUFpYixDQUFDLENBQUM7UUFDL2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpR0FBaUcsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxNQUFNLENBQUMsbUhBQW1ILENBQUMsQ0FBQztRQUNqSSxJQUFJLENBQUMsTUFBTSxDQUFDLDZHQUE2RyxDQUFDLENBQUM7UUFFM0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnV0FBZ1csQ0FBQyxDQUFDO1FBQzlXLElBQUksQ0FBQyxNQUFNLENBQUMsNkhBQTZILENBQUMsQ0FBQztRQUMzSSxJQUFJLENBQUMsTUFBTSxDQUFDLHlIQUF5SCxDQUFDLENBQUM7UUFFdkksSUFBSSxDQUFDLE1BQU0sQ0FBQywrTEFBK0wsQ0FBQyxDQUFDO0lBQy9NLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLDJHQUEyRyxDQUFDLENBQUM7UUFFekgsSUFBSSxDQUFDLE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBRUY7QUF4QkQsMERBd0JDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250320182643 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250320182643 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "UQ_attribute_id_value" ON "attribute_value" (attribute_id, value) WHERE deleted_at IS NULL;`);
|
|
8
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "UQ_attribute_id_rank" ON "attribute_value" (attribute_id, rank) WHERE deleted_at IS NULL;`);
|
|
9
|
+
}
|
|
10
|
+
async down() {
|
|
11
|
+
this.addSql(`drop index if exists "UQ_attribute_id_value";`);
|
|
12
|
+
this.addSql(`drop index if exists "UQ_attribute_id_rank";`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Migration20250320182643 = Migration20250320182643;
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTAzMjAxODI2NDMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdHRyaWJ1dGUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDMyMDE4MjY0My50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsZ0lBQWdJLENBQUMsQ0FBQztRQUM5SSxJQUFJLENBQUMsTUFBTSxDQUFDLDhIQUE4SCxDQUFDLENBQUM7SUFDOUksQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUVGO0FBWkQsMERBWUMifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250321162638 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250321162638 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`drop index if exists "UQ_attribute_id_rank";`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "UQ_attribute_id_rank" ON "attribute_value" (attribute_id, rank) WHERE deleted_at IS NULL;`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.Migration20250321162638 = Migration20250321162638;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTAzMjExNjI2MzguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdHRyaWJ1dGUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDMyMTE2MjYzOC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw4SEFBOEgsQ0FBQyxDQUFDO0lBQzlJLENBQUM7Q0FFRjtBQVZELDBEQVVDIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250505144933 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250505144933 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "attribute_set" drop constraint if exists "attribute_set_handle_unique";`);
|
|
8
|
+
this.addSql(`create table if not exists "attribute_set" ("id" text not null, "name" text not null, "description" text null, "handle" text not null, "metadata" jsonb null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "attribute_set_pkey" primary key ("id"));`);
|
|
9
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_ATTRIBUTE_SET_NAME" ON "attribute_set" (name) WHERE deleted_at IS NULL;`);
|
|
10
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_attribute_set_handle_unique" ON "attribute_set" (handle) WHERE deleted_at IS NULL;`);
|
|
11
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_attribute_set_deleted_at" ON "attribute_set" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
12
|
+
this.addSql(`create table if not exists "attribute_set_attributes" ("attribute_set_id" text not null, "attribute_id" text not null, constraint "attribute_set_attributes_pkey" primary key ("attribute_set_id", "attribute_id"));`);
|
|
13
|
+
this.addSql(`alter table if exists "attribute_set_attributes" add constraint "attribute_set_attributes_attribute_set_id_foreign" foreign key ("attribute_set_id") references "attribute_set" ("id") on update cascade on delete cascade;`);
|
|
14
|
+
this.addSql(`alter table if exists "attribute_set_attributes" add constraint "attribute_set_attributes_attribute_id_foreign" foreign key ("attribute_id") references "attribute" ("id") on update cascade on delete cascade;`);
|
|
15
|
+
}
|
|
16
|
+
async down() {
|
|
17
|
+
this.addSql(`alter table if exists "attribute_set_attributes" drop constraint if exists "attribute_set_attributes_attribute_set_id_foreign";`);
|
|
18
|
+
this.addSql(`drop table if exists "attribute_set" cascade;`);
|
|
19
|
+
this.addSql(`drop table if exists "attribute_set_attributes" cascade;`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.Migration20250505144933 = Migration20250505144933;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDUxNDQ5MzMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdHRyaWJ1dGUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUwNTE0NDkzMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsZ0dBQWdHLENBQUMsQ0FBQztRQUM5RyxJQUFJLENBQUMsTUFBTSxDQUFDLHFWQUFxVixDQUFDLENBQUM7UUFDblcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5R0FBeUcsQ0FBQyxDQUFDO1FBQ3ZILElBQUksQ0FBQyxNQUFNLENBQUMsMkhBQTJILENBQUMsQ0FBQztRQUN6SSxJQUFJLENBQUMsTUFBTSxDQUFDLHFIQUFxSCxDQUFDLENBQUM7UUFFbkksSUFBSSxDQUFDLE1BQU0sQ0FBQyxzTkFBc04sQ0FBQyxDQUFDO1FBRXBPLElBQUksQ0FBQyxNQUFNLENBQUMsNk5BQTZOLENBQUMsQ0FBQztRQUMzTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlOQUFpTixDQUFDLENBQUM7SUFDak8sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsaUlBQWlJLENBQUMsQ0FBQztRQUUvSSxJQUFJLENBQUMsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FFRjtBQXZCRCwwREF1QkMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20250505201747 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20250505201747 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`create table if not exists "attribute_possible_value" ("id" text not null, "value" text not null, "rank" integer not null, "metadata" jsonb null, "attribute_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "attribute_possible_value_pkey" primary key ("id"));`);
|
|
8
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_attribute_possible_value_attribute_id" ON "attribute_possible_value" (attribute_id) WHERE deleted_at IS NULL;`);
|
|
9
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_attribute_possible_value_deleted_at" ON "attribute_possible_value" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
10
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "UQ_attribute_id_value" ON "attribute_possible_value" (attribute_id, value) WHERE deleted_at IS NULL;`);
|
|
11
|
+
this.addSql(`alter table if exists "attribute_possible_value" drop constraint if exists "attribute_possible_value_attribute_id_foreign";`);
|
|
12
|
+
this.addSql(`alter table if exists "attribute_possible_value" add constraint "attribute_possible_value_attribute_id_foreign" foreign key ("attribute_id") references "attribute" ("id") on update cascade;`);
|
|
13
|
+
this.addSql(`drop index if exists "UQ_attribute_id_value";`);
|
|
14
|
+
}
|
|
15
|
+
async down() {
|
|
16
|
+
this.addSql(`drop table if exists "attribute_possible_value" cascade;`);
|
|
17
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "UQ_attribute_id_value" ON "attribute_value" (attribute_id, value) WHERE deleted_at IS NULL;`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.Migration20250505201747 = Migration20250505201747;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MDUyMDE3NDcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdHRyaWJ1dGUvbWlncmF0aW9ucy9NaWdyYXRpb24yMDI1MDUwNTIwMTc0Ny50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBa0Q7QUFFbEQsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUUzQyxLQUFLLENBQUMsRUFBRTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsa1hBQWtYLENBQUMsQ0FBQztRQUNoWSxJQUFJLENBQUMsTUFBTSxDQUFDLCtJQUErSSxDQUFDLENBQUM7UUFDN0osSUFBSSxDQUFDLE1BQU0sQ0FBQywySUFBMkksQ0FBQyxDQUFDO1FBQ3pKLElBQUksQ0FBQyxNQUFNLENBQUMseUlBQXlJLENBQUMsQ0FBQztRQUV2SixJQUFJLENBQUMsTUFBTSxDQUFDLDZIQUE2SCxDQUFDLENBQUM7UUFDM0ksSUFBSSxDQUFDLE1BQU0sQ0FBQywrTEFBK0wsQ0FBQyxDQUFDO1FBRTdNLElBQUksQ0FBQyxNQUFNLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBRXhFLElBQUksQ0FBQyxNQUFNLENBQUMsZ0lBQWdJLENBQUMsQ0FBQztJQUNoSixDQUFDO0NBRUY7QUFwQkQsMERBb0JDIn0=
|