@devx-commerce/plugin-gati 0.0.2-beta.38 → 0.0.2-beta.39
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/erp/webhook/config.js +88 -0
- package/.medusa/server/src/api/erp/webhook/route.js +32 -126
- package/.medusa/server/src/api/erp/webhook/utils.js +61 -0
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250620030100.js +36 -0
- package/.medusa/server/src/modules/extended-product/models/extended-product.js +4 -3
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030335.js +32 -0
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250620030522.js +20 -0
- package/.medusa/server/src/modules/extended-variant/models/extended-variant.js +6 -5
- package/.medusa/server/src/subscribers/party-master-location.js +1 -2
- package/.medusa/server/src/workflows/create-extended-product-from-product/index.js +13 -3
- package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-extended-product.js +1 -1
- package/.medusa/server/src/workflows/create-extended-product-from-product/steps/create-style-exploration-lines.js +1 -2
- package/.medusa/server/src/workflows/create-extended-variant-from-variant/index.js +13 -3
- package/.medusa/server/src/workflows/party-master/index.js +22 -4
- package/.medusa/server/src/workflows/party-style-master/index.js +19 -0
- package/.medusa/server/src/workflows/party-style-master/steps/delete-party-style-master.js +40 -0
- package/.medusa/server/src/workflows/party-style-master/steps/fetch-party-styles.js +70 -0
- package/.medusa/server/src/workflows/party-style-master/steps/index.js +19 -0
- package/.medusa/server/src/workflows/{create-or-update-party-style-master/index.js → party-style-master/workflows/create-or-update-party-style-master.js} +6 -6
- package/.medusa/server/src/workflows/party-style-master/workflows/delete-party-style-master.js +13 -0
- package/.medusa/server/src/workflows/party-style-master/workflows/index.js +19 -0
- package/.medusa/server/src/workflows/raw-master/steps/create-raw.js +1 -2
- package/.medusa/server/src/workflows/style-master/index.js +19 -0
- package/.medusa/server/src/workflows/style-master/steps/delete-style-master.js +38 -0
- package/.medusa/server/src/workflows/style-master/steps/fetch-styles.js +70 -0
- package/.medusa/server/src/workflows/style-master/steps/index.js +19 -0
- package/.medusa/server/src/workflows/style-master/workflows/create-or-update-style-master.js +326 -0
- package/.medusa/server/src/workflows/style-master/workflows/delete-style-master.js +24 -0
- package/.medusa/server/src/workflows/style-master/workflows/index.js +19 -0
- package/.medusa/server/src/workflows/types/index.js +1 -1
- package/package.json +1 -1
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250519043358.js +0 -27
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250601030519.js +0 -23
- package/.medusa/server/src/modules/extended-product/migrations/Migration20250613064237.js +0 -14
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250507055941.js +0 -27
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250508025507.js +0 -14
- package/.medusa/server/src/modules/extended-variant/migrations/Migration20250601045242.js +0 -18
- package/.medusa/server/src/workflows/create-or-update-party-style-master/steps/fetch-party-styles.js +0 -70
- package/.medusa/server/src/workflows/create-or-update-style-master/index.js +0 -326
- package/.medusa/server/src/workflows/create-or-update-style-master/steps/fetch-styles.js +0 -70
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchStyleData = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const BATCH_SIZE = 50; // Process 50 items at a time
|
|
6
|
+
const MAX_RETRIES = 3;
|
|
7
|
+
const RETRY_DELAY = 1000; // 1 second delay between retries
|
|
8
|
+
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
9
|
+
const processBatch = async (erpService, datafor, batch, retryCount = 0) => {
|
|
10
|
+
try {
|
|
11
|
+
const results = await Promise.all(batch.map(async (transactionId) => {
|
|
12
|
+
try {
|
|
13
|
+
return await erpService.getMasterData(datafor, transactionId);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
console.error(`Error fetching data for ID ${transactionId}:`, error);
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}));
|
|
20
|
+
// Filter out failed requests
|
|
21
|
+
const successfulResults = results.filter((result) => result !== null);
|
|
22
|
+
// If we have failed requests and haven't exceeded max retries, retry them
|
|
23
|
+
if (results.length !== successfulResults.length &&
|
|
24
|
+
retryCount < MAX_RETRIES) {
|
|
25
|
+
const failedIds = batch.filter((_, index) => results[index] === null);
|
|
26
|
+
console.log(`Retrying ${failedIds.length} failed requests (attempt ${retryCount + 1})`);
|
|
27
|
+
await sleep(RETRY_DELAY);
|
|
28
|
+
const retryResults = await processBatch(erpService, datafor, failedIds, retryCount + 1);
|
|
29
|
+
return [...successfulResults, ...retryResults];
|
|
30
|
+
}
|
|
31
|
+
return successfulResults;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error("Batch processing error:", error);
|
|
35
|
+
if (retryCount < MAX_RETRIES) {
|
|
36
|
+
console.log(`Retrying entire batch (attempt ${retryCount + 1})`);
|
|
37
|
+
await sleep(RETRY_DELAY);
|
|
38
|
+
return processBatch(erpService, datafor, batch, retryCount + 1);
|
|
39
|
+
}
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Step to fetch style data from ERP system
|
|
45
|
+
* This step processes data in batches to avoid timeouts and handle large datasets
|
|
46
|
+
* @param input - Contains datafor type and array of transaction IDs
|
|
47
|
+
* @param container - Dependency injection container to resolve services
|
|
48
|
+
*/
|
|
49
|
+
exports.fetchStyleData = (0, workflows_sdk_1.createStep)("fetch-style-data", async (input, { container }) => {
|
|
50
|
+
const erpService = container.resolve("erp");
|
|
51
|
+
const { datafor, data } = input;
|
|
52
|
+
// Split data into batches
|
|
53
|
+
const batches = [];
|
|
54
|
+
for (let i = 0; i < data.length; i += BATCH_SIZE) {
|
|
55
|
+
batches.push(data.slice(i, i + BATCH_SIZE));
|
|
56
|
+
}
|
|
57
|
+
console.log(`Processing ${data.length} items in ${batches.length} batches`);
|
|
58
|
+
// Process each batch sequentially
|
|
59
|
+
const allResults = [];
|
|
60
|
+
for (let i = 0; i < batches.length; i++) {
|
|
61
|
+
console.log(`Processing batch ${i + 1}/${batches.length}`);
|
|
62
|
+
const batchResults = await processBatch(erpService, datafor, batches[i]);
|
|
63
|
+
allResults.push(...batchResults);
|
|
64
|
+
}
|
|
65
|
+
console.log(`Successfully processed ${allResults.length} items`);
|
|
66
|
+
return new workflows_sdk_1.StepResponse(allResults);
|
|
67
|
+
}, async (result, { container }) => {
|
|
68
|
+
console.log("Something went wrong in fetch-style-data");
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdHlsZS1tYXN0ZXIvc3RlcHMvZmV0Y2gtc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUk3RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyw2QkFBNkI7QUFDcEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztBQUUzRCxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxLQUFLLEVBQ3hCLFVBQTRCLEVBQzVCLE9BQWUsRUFDZixLQUFlLEVBQ2YsVUFBVSxHQUFHLENBQUMsRUFDRSxFQUFFO0lBQ2xCLElBQUksQ0FBQztRQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixhQUFhLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLDZCQUE2QjtRQUM3QixNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMs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
|
|
@@ -0,0 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./fetch-styles"), exports);
|
|
18
|
+
__exportStar(require("./delete-style-master"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLHdEQUFzQyJ9
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createOrUpdateStyleMasterWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const product_helper_1 = require("../../helpers/product-helper");
|
|
7
|
+
const fetch_styles_1 = require("../steps/fetch-styles");
|
|
8
|
+
/**
|
|
9
|
+
* Main workflow for handling StyleMst operations
|
|
10
|
+
* This workflow:
|
|
11
|
+
* 1. Fetches style data from ERP
|
|
12
|
+
* 2. Gets required sales channels and shipping profiles
|
|
13
|
+
* 3. Conditionally creates products based on operation type
|
|
14
|
+
*
|
|
15
|
+
* @param input - Contains operation type, datafor type, and transaction IDs
|
|
16
|
+
*/
|
|
17
|
+
exports.createOrUpdateStyleMasterWorkflow = (0, workflows_sdk_1.createWorkflow)("create-or-update-style-master", (input) => {
|
|
18
|
+
// Step 1: Fetch style data from ERP system
|
|
19
|
+
const styleData = (0, fetch_styles_1.fetchStyleData)(input);
|
|
20
|
+
// Step 2: Get all sales channels for product creation
|
|
21
|
+
const { data: salesChannels } = (0, core_flows_1.useQueryGraphStep)({
|
|
22
|
+
entity: "sales_channel",
|
|
23
|
+
fields: ["id", "name"],
|
|
24
|
+
}).config({ name: "sales-channels" });
|
|
25
|
+
// Step 3: Get shipping profile for product creation
|
|
26
|
+
const { data: shippingProfiles } = (0, core_flows_1.useQueryGraphStep)({
|
|
27
|
+
entity: "shipping_profile",
|
|
28
|
+
fields: ["id"],
|
|
29
|
+
pagination: {
|
|
30
|
+
take: 1,
|
|
31
|
+
},
|
|
32
|
+
}).config({ name: "shipping-profile" });
|
|
33
|
+
const externalIdsFilters = (0, workflows_sdk_1.transform)({
|
|
34
|
+
styleData,
|
|
35
|
+
}, (data) => {
|
|
36
|
+
return data.styleData.map((product) => `${product.StyleId}`);
|
|
37
|
+
});
|
|
38
|
+
const externalCollectionFilters = (0, workflows_sdk_1.transform)({
|
|
39
|
+
styleData,
|
|
40
|
+
}, (data) => {
|
|
41
|
+
return data.styleData.map((product) => {
|
|
42
|
+
const collection = product?.StyleMstCollection?.find((collection) => collection.CollectionGroupName.toLowerCase() === "collection")?.Collection;
|
|
43
|
+
return collection;
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
const externalCollectionGroupFilters = (0, workflows_sdk_1.transform)({
|
|
47
|
+
styleData,
|
|
48
|
+
}, (data) => {
|
|
49
|
+
return data.styleData
|
|
50
|
+
.map((product) => {
|
|
51
|
+
return product?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.CollectionGroupNo);
|
|
52
|
+
})
|
|
53
|
+
.flat()
|
|
54
|
+
.filter(Boolean);
|
|
55
|
+
});
|
|
56
|
+
const externalCollectionCategoryFilters = (0, workflows_sdk_1.transform)({
|
|
57
|
+
styleData,
|
|
58
|
+
}, (data) => {
|
|
59
|
+
return data.styleData
|
|
60
|
+
.map((product) => {
|
|
61
|
+
return product?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.DesgNo);
|
|
62
|
+
})
|
|
63
|
+
.flat()
|
|
64
|
+
.filter(Boolean);
|
|
65
|
+
});
|
|
66
|
+
const externalCategoryGroupFilters = (0, workflows_sdk_1.transform)({
|
|
67
|
+
styleData,
|
|
68
|
+
}, (data) => {
|
|
69
|
+
return data.styleData.map((product) => product?.GrpGroupNo);
|
|
70
|
+
});
|
|
71
|
+
const externalCategoryFilters = (0, workflows_sdk_1.transform)({
|
|
72
|
+
styleData,
|
|
73
|
+
}, (data) => {
|
|
74
|
+
return data.styleData.map((product) => product?.GrpNo);
|
|
75
|
+
});
|
|
76
|
+
const externalSubCategoryFilters = (0, workflows_sdk_1.transform)({
|
|
77
|
+
styleData,
|
|
78
|
+
}, (data) => {
|
|
79
|
+
return data.styleData.map((product) => product?.SubItmNo);
|
|
80
|
+
});
|
|
81
|
+
const combinedCategoryFilters = (0, workflows_sdk_1.transform)({
|
|
82
|
+
externalCategoryFilters,
|
|
83
|
+
externalSubCategoryFilters,
|
|
84
|
+
}, (data) => [
|
|
85
|
+
...data.externalCategoryFilters,
|
|
86
|
+
...data.externalSubCategoryFilters,
|
|
87
|
+
]);
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
|
|
90
|
+
entity: "product",
|
|
91
|
+
fields: ["id", "external_id", "variants.*"],
|
|
92
|
+
filters: {
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
external_id: externalIdsFilters,
|
|
95
|
+
},
|
|
96
|
+
}).config({ name: "existing-products" });
|
|
97
|
+
const { data: existingCollection } = (0, core_flows_1.useQueryGraphStep)({
|
|
98
|
+
entity: "collection_master",
|
|
99
|
+
fields: ["*"],
|
|
100
|
+
filters: {
|
|
101
|
+
collection_code: externalCollectionFilters,
|
|
102
|
+
},
|
|
103
|
+
}).config({ name: "existing-collection" });
|
|
104
|
+
const { data: existingCategoryGroup } = (0, core_flows_1.useQueryGraphStep)({
|
|
105
|
+
entity: "category_group_master",
|
|
106
|
+
fields: ["*"],
|
|
107
|
+
filters: {
|
|
108
|
+
grp_no: externalCategoryGroupFilters,
|
|
109
|
+
},
|
|
110
|
+
}).config({ name: "existing-category-group" });
|
|
111
|
+
const { data: existingCategory } = (0, core_flows_1.useQueryGraphStep)({
|
|
112
|
+
entity: "category_master",
|
|
113
|
+
fields: ["*"],
|
|
114
|
+
filters: {
|
|
115
|
+
grp_no: combinedCategoryFilters,
|
|
116
|
+
},
|
|
117
|
+
}).config({ name: "existing-category" });
|
|
118
|
+
const { data: existingSubCategory } = (0, core_flows_1.useQueryGraphStep)({
|
|
119
|
+
entity: "sub_category_master",
|
|
120
|
+
fields: ["*"],
|
|
121
|
+
filters: {
|
|
122
|
+
sub_item_no: externalSubCategoryFilters,
|
|
123
|
+
},
|
|
124
|
+
}).config({ name: "existing-sub-category" });
|
|
125
|
+
const { data: existingCollectionGroup } = (0, core_flows_1.useQueryGraphStep)({
|
|
126
|
+
entity: "collection_group_master",
|
|
127
|
+
fields: ["*"],
|
|
128
|
+
filters: {
|
|
129
|
+
collection_group_no: externalCollectionGroupFilters,
|
|
130
|
+
},
|
|
131
|
+
}).config({ name: "existing-collection-group" });
|
|
132
|
+
const { data: existingCollectionCategory } = (0, core_flows_1.useQueryGraphStep)({
|
|
133
|
+
entity: "collection_master",
|
|
134
|
+
fields: ["*"],
|
|
135
|
+
filters: {
|
|
136
|
+
collection_no: externalCollectionCategoryFilters,
|
|
137
|
+
},
|
|
138
|
+
}).config({ name: "existing-collection-category" });
|
|
139
|
+
(0, workflows_sdk_1.when)(input, (input) => {
|
|
140
|
+
return input.operation === "add" || input.operation === "update";
|
|
141
|
+
}).then(() => {
|
|
142
|
+
const { productsToCreate, productsToUpdate } = (0, workflows_sdk_1.transform)({
|
|
143
|
+
styleData,
|
|
144
|
+
shippingProfiles,
|
|
145
|
+
salesChannels,
|
|
146
|
+
existingProducts,
|
|
147
|
+
existingCollection,
|
|
148
|
+
existingCategoryGroup,
|
|
149
|
+
existingCategory,
|
|
150
|
+
existingSubCategory,
|
|
151
|
+
existingCollectionGroup,
|
|
152
|
+
existingCollectionCategory,
|
|
153
|
+
}, (data) => {
|
|
154
|
+
const productsToCreate = [];
|
|
155
|
+
const productsToUpdate = [];
|
|
156
|
+
data.styleData.forEach((styleData) => {
|
|
157
|
+
// Calculate costs based on raw codes
|
|
158
|
+
const { metal_total_cost, diamond_total_cost, stone_total_cost, cpf_total_cost, metal_total_amount, diamond_total_amount, stone_total_amount, cpf_total_amount, } = (0, product_helper_1.calculateStyleCostsAndAmounts)(styleData.StyleMstDetail);
|
|
159
|
+
const productTitle = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode === "Product Name")?.ExplorationValue ||
|
|
160
|
+
`Style ${styleData.StyleCode}-${styleData.StyleId}`;
|
|
161
|
+
const productDescription = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode === "PD")?.ExplorationValue || "";
|
|
162
|
+
const productAvailabilityInOnline = styleData.StyleMstExploration?.find((exploration) => exploration.ExplorationCode.toLowerCase() === "web indicator")?.ExplorationValue.toLowerCase() === "true";
|
|
163
|
+
const { baseMetal, baseMetalPurity, baseMetalColor } = (0, product_helper_1.getBaseMetalDetails)(styleData.StyleMstDetail);
|
|
164
|
+
let collectionId = "";
|
|
165
|
+
const categoryIds = [];
|
|
166
|
+
const collection = styleData?.StyleMstCollection?.find((collection) => collection.CollectionGroupName.toLowerCase() === "collection")?.Collection;
|
|
167
|
+
if (styleData.GrpGroupNo) {
|
|
168
|
+
const existingCategoryGroupData = data.existingCategoryGroup.find((c) => c.grp_no === styleData.GrpGroupNo);
|
|
169
|
+
if (existingCategoryGroupData) {
|
|
170
|
+
categoryIds.push(existingCategoryGroupData?.mapping_id);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (styleData.GrpNo) {
|
|
174
|
+
const existingCategoryData = data.existingCategory.find((c) => c.grp_no === styleData.GrpNo);
|
|
175
|
+
if (existingCategoryData) {
|
|
176
|
+
categoryIds.push(existingCategoryData?.mapping_id);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (styleData.SubItmNo) {
|
|
180
|
+
const existingSubCategoryData = data.existingSubCategory.find((c) => c.sub_item_no === styleData.SubItmNo);
|
|
181
|
+
if (existingSubCategoryData) {
|
|
182
|
+
categoryIds.push(existingSubCategoryData?.mapping_id);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const categories = styleData?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.DesgNo);
|
|
186
|
+
if (categories?.length > 0) {
|
|
187
|
+
for (const category of categories) {
|
|
188
|
+
const existingCollectionCategoryData = data.existingCollectionCategory.find((c) => c.collection_no === category);
|
|
189
|
+
if (existingCollectionCategoryData) {
|
|
190
|
+
categoryIds.push(existingCollectionCategoryData?.mapping_id);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const categoriesByGroup = styleData?.StyleMstCollection?.filter((collection) => collection.CollectionGroupName.toLowerCase() !== "collection")?.map((collection) => collection.CollectionGroupNo);
|
|
195
|
+
if (categoriesByGroup?.length > 0) {
|
|
196
|
+
for (const category of categoriesByGroup) {
|
|
197
|
+
const existingCollectionGroupData = data.existingCollectionGroup.find((c) => c.collection_group_no === category);
|
|
198
|
+
if (existingCollectionGroupData) {
|
|
199
|
+
categoryIds.push(existingCollectionGroupData?.mapping_id);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
if (collection) {
|
|
204
|
+
const existingCollectionData = data.existingCollection.find((c) => c.collection_code === collection);
|
|
205
|
+
if (existingCollectionData) {
|
|
206
|
+
collectionId = existingCollectionData?.mapping_id;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const onlineSalesChannelId = data.salesChannels.find((channel) => channel.name.toLowerCase() === "online")?.id || "";
|
|
210
|
+
const offlineSalesChannelId = data.salesChannels.find((channel) => channel.name.toLowerCase() === "offline")?.id || "";
|
|
211
|
+
const width = parseFloat(styleData.StyleMstExploration.find((i) => i.ExplorationName.toLowerCase() === "width")?.ExplorationValue?.split(" ")[0] || "0");
|
|
212
|
+
const height = parseFloat(styleData.StyleMstExploration.find((i) => i.ExplorationName.toLowerCase() === "height")?.ExplorationValue?.split(" ")[0] || "0");
|
|
213
|
+
//TODO: Add category ids
|
|
214
|
+
const product = {
|
|
215
|
+
external_id: `${styleData.StyleId}`,
|
|
216
|
+
title: productTitle || "",
|
|
217
|
+
description: productDescription || styleData.WebDescription || "",
|
|
218
|
+
status: "draft",
|
|
219
|
+
options: [
|
|
220
|
+
{
|
|
221
|
+
title: "Default",
|
|
222
|
+
values: ["Default"],
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
origin_country: "IN",
|
|
226
|
+
material: styleData.StyleMstDetail.find((i) => i.RawType === "Metal" && i.IsBase)?.RawCode || "",
|
|
227
|
+
height,
|
|
228
|
+
width,
|
|
229
|
+
handle: (0, product_helper_1.toKebabCase)([productTitle, styleData.StyleCode]),
|
|
230
|
+
variants: [],
|
|
231
|
+
shipping_profile_id: data.shippingProfiles[0].id,
|
|
232
|
+
category_ids: categoryIds.filter(Boolean),
|
|
233
|
+
sales_channels: [
|
|
234
|
+
{
|
|
235
|
+
id: productAvailabilityInOnline
|
|
236
|
+
? onlineSalesChannelId
|
|
237
|
+
: offlineSalesChannelId,
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
};
|
|
241
|
+
const existingProduct = data.existingProducts.find((p) => p.external_id === product.external_id);
|
|
242
|
+
if (collectionId) {
|
|
243
|
+
product.collection_id = collectionId;
|
|
244
|
+
}
|
|
245
|
+
if (existingProduct) {
|
|
246
|
+
product.id = existingProduct.id;
|
|
247
|
+
product.status = existingProduct.status;
|
|
248
|
+
product.title = existingProduct.title;
|
|
249
|
+
product.description = existingProduct.description;
|
|
250
|
+
product.handle = existingProduct.handle;
|
|
251
|
+
}
|
|
252
|
+
const extendedProductData = (0, product_helper_1.getExtendedProductData)(styleData, { baseMetal, baseMetalPurity, baseMetalColor }, {
|
|
253
|
+
metal_total_cost,
|
|
254
|
+
diamond_total_cost,
|
|
255
|
+
stone_total_cost,
|
|
256
|
+
cpf_total_cost,
|
|
257
|
+
metal_total_amount,
|
|
258
|
+
diamond_total_amount,
|
|
259
|
+
stone_total_amount,
|
|
260
|
+
cpf_total_amount,
|
|
261
|
+
});
|
|
262
|
+
const styleDetails = (0, product_helper_1.getStyleDetailLines)(styleData?.StyleMstDetail || []);
|
|
263
|
+
const styleExploration = (0, product_helper_1.getStyleExplorationLines)(styleData?.StyleMstExploration || []);
|
|
264
|
+
const styleCollection = (0, product_helper_1.getStyleCollectionLines)(styleData?.StyleMstCollection || []);
|
|
265
|
+
if (existingProduct) {
|
|
266
|
+
productsToUpdate.push({
|
|
267
|
+
product: product,
|
|
268
|
+
additional_data: {
|
|
269
|
+
extendedProductData,
|
|
270
|
+
styleDetails,
|
|
271
|
+
styleExploration,
|
|
272
|
+
styleCollection,
|
|
273
|
+
},
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
productsToCreate.push({
|
|
278
|
+
product: product,
|
|
279
|
+
additional_data: {
|
|
280
|
+
extendedProductData,
|
|
281
|
+
styleDetails,
|
|
282
|
+
styleExploration,
|
|
283
|
+
styleCollection,
|
|
284
|
+
},
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
return {
|
|
289
|
+
productsToCreate: {
|
|
290
|
+
products: productsToCreate.map((p) => p.product),
|
|
291
|
+
additional_data: productsToCreate.reduce((acc, p) => {
|
|
292
|
+
const externalId = p?.product?.external_id;
|
|
293
|
+
if (externalId) {
|
|
294
|
+
acc[externalId] = p.additional_data;
|
|
295
|
+
}
|
|
296
|
+
return acc;
|
|
297
|
+
}, {}),
|
|
298
|
+
},
|
|
299
|
+
productsToUpdate: {
|
|
300
|
+
products: productsToUpdate.map((p) => p.product),
|
|
301
|
+
additional_data: productsToUpdate.reduce((acc, p) => {
|
|
302
|
+
const externalId = p?.product?.external_id;
|
|
303
|
+
if (externalId) {
|
|
304
|
+
acc[externalId] = p.additional_data;
|
|
305
|
+
}
|
|
306
|
+
return acc;
|
|
307
|
+
}, {}),
|
|
308
|
+
},
|
|
309
|
+
};
|
|
310
|
+
});
|
|
311
|
+
core_flows_1.createProductsWorkflow.runAsStep({
|
|
312
|
+
input: {
|
|
313
|
+
...productsToCreate,
|
|
314
|
+
},
|
|
315
|
+
});
|
|
316
|
+
core_flows_1.updateProductsWorkflow.runAsStep({
|
|
317
|
+
input: {
|
|
318
|
+
...productsToUpdate,
|
|
319
|
+
},
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
323
|
+
success: true,
|
|
324
|
+
});
|
|
325
|
+
});
|
|
326
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLXVwZGF0ZS1zdHlsZS1tYXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci93b3JrZmxvd3MvY3JlYXRlLW9yLXVwZGF0ZS1zdHlsZS1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscUVBSzJDO0FBQzNDLDREQUlxQztBQUdyQyxpRUFRc0M7QUFFdEMsd0RBQXVEO0FBRXZEOzs7Ozs7OztHQVFHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBRyxJQUFBLDhCQUFjLEVBQzdELCtCQUErQixFQUMvQixDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2QiwyQ0FBMkM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBQSw2QkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhDLHNEQUFzRDtJQUN0RCxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDaEQsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztLQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUV0QyxvREFBb0Q7SUFDcEQsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDZCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsQ0FBQztTQUNSO0tBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFFeEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHlCQUFTLEVBQ2xDO1FBQ0UsU0FBUztLQUNWLEVBQ0QsQ0FBQyxJQUFJ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
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteStyleMasterWorkflow = exports.deleteStyleMasterWorkflowId = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const steps_1 = require("../steps");
|
|
7
|
+
exports.deleteStyleMasterWorkflowId = "delete-style-master";
|
|
8
|
+
exports.deleteStyleMasterWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.deleteStyleMasterWorkflowId, (input) => {
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
|
|
11
|
+
entity: "product",
|
|
12
|
+
fields: ["id", "external_id", "variants.*"],
|
|
13
|
+
filters: {
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
external_id: input.ids,
|
|
16
|
+
},
|
|
17
|
+
}).config({ name: "existing-products" });
|
|
18
|
+
const deletedStyleMaster = (0, steps_1.deleteStyleMasterStep)({
|
|
19
|
+
ids: input.ids,
|
|
20
|
+
existingProducts,
|
|
21
|
+
});
|
|
22
|
+
return new workflows_sdk_1.WorkflowResponse(deletedStyleMaster);
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXN0eWxlLW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3R5bGUtbWFzdGVyL3dvcmtmbG93cy9kZWxldGUtc3R5bGUtbWFzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUkyQztBQUMzQyw0REFJcUM7QUFFckMsb0NBQWlEO0FBY3BDLFFBQUEsMkJBQTJCLEdBQUcscUJBQXFCLENBQUM7QUFFcEQsUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELG1DQUEyQixFQUMzQixDQUFDLEtBQW1ELEVBQUUsRUFBRTtJQUN0RCxhQUFhO0lBQ2IsTUFBTSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDbkQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7UUFDM0MsT0FBTyxFQUFFO1lBQ1AsYUFBYTtZQUNiLFdBQVcsRUFBRSxLQUFLLENBQUMsR0FBRztTQUN2QjtLQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSw2QkFBcUIsRUFBQztRQUMvQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7UUFDZCxnQkFBZ0I7S0FDakIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./create-or-update-style-master"), exports);
|
|
18
|
+
__exportStar(require("./delete-style-master"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0eWxlLW1hc3Rlci93b3JrZmxvd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtFQUFnRDtBQUNoRCx3REFBc0MifQ==
|
|
@@ -8,4 +8,4 @@ var Gender;
|
|
|
8
8
|
Gender["UN"] = "Unisex";
|
|
9
9
|
Gender["KD"] = "Kids";
|
|
10
10
|
})(Gender || (exports.Gender = Gender = {}));
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlEQSxJQUFZLE1BS1g7QUFMRCxXQUFZLE1BQU07SUFDaEIsb0JBQVUsQ0FBQTtJQUNWLHNCQUFZLENBQUE7SUFDWix1QkFBYSxDQUFBO0lBQ2IscUJBQVcsQ0FBQTtBQUNiLENBQUMsRUFMVyxNQUFNLHNCQUFOLE1BQU0sUUFLakIifQ==
|
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Migration20250519043358 = void 0;
|
|
4
|
-
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
-
class Migration20250519043358 extends migrations_1.Migration {
|
|
6
|
-
async up() {
|
|
7
|
-
this.addSql(`create table if not exists "extended_product" ("id" text not null, "style_id" integer not null, "style_date" timestamptz not null, "style_code" text not null, "style_alias_no" text not null, "category" text not null, "sub_category" text not null, "manufacturer" text not null, "manufacturer_no" text not null, "make_type" text not null, "stock_type" text not null, "item_size" text not null, "brand" text not null, "gender" text check ("gender" in ('Men', 'Women', 'Unisex', 'Kids')) not null, "shape_code" text not null, "is_complete" boolean not null, "restricted" boolean not null, "currency" text not null, "rate_chart" text not null, "discount_markup" text not null, "cost" real not null, "mrp" real not null, "hsn_code" text not null, "gross_weight" real not null, "net_weight" real not null, "wax_weight" real not null, "model_weight" real not null, "metal" text not null, "metal_purity" text not null, "metal_color" text not null, "total_diamond_pcs" integer not null, "total_diamond_weight" real not null, "total_client_diamond_pcs" integer not null, "total_client_diamond_weight" real not null, "total_stone_pcs" integer not null, "total_stone_weight" real not null, "total_cz_pcs" integer not null, "total_cz_weight" real not null, "web_description" text not null, "remarks" text not null, "customer_remarks" text not null, "special_remarks" text not null, "metal_total_cost" real not null, "diamond_total_cost" real not null, "stone_total_cost" real not null, "cpf_total_cost" real not null, "metal_total_amount" real not null, "diamond_total_amount" real not null, "stone_total_amount" real not null, "cpf_total_amount" real not null, "gross_weights_range" text[] not null default '{}', "net_weights_range" text[] not null default '{}', "prices_range" text[] not null default '{}', "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "extended_product_pkey" primary key ("id"));`);
|
|
8
|
-
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_extended_product_deleted_at" ON "extended_product" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
9
|
-
this.addSql(`create table if not exists "style_details_line" ("id" text not null, "style_id" integer not null, "style_mst_detail_id" integer not null, "item_code" text not null, "raw_type" text not null, "material_group" text not null, "raw_code" text not null, "shape_code" text not null, "qly_code" text not null, "tone_code" text not null, "description" text not null, "size" text not null, "accessories" text not null, "setting" text not null, "is_base" boolean not null, "is_center_stone" boolean not null, "pieces" integer not null, "weight" real not null, "min_weight" real not null, "max_weight" real not null, "stone_wt" real not null, "default_wt" real not null, "raw_formula" text not null, "cost_rate" real not null, "cost_amount" real not null, "hand_cost_rate" real not null, "hand_cost_amount" real not null, "set_cost_rate" real not null, "set_cost_amount" real not null, "loss_cost_per" real not null, "loss_cost_per_is_fix" boolean not null, "loss_cost_weight" real not null, "loss_cost_amt" real not null, "cpf_cost_rate" real not null, "cpf_cost_is_fix" boolean not null, "cpf_cost_amt" real not null, "rate" real not null, "amount" real not null, "hand_rate" real not null, "hand_amount" real not null, "set_rate" real not null, "set_amount" real not null, "loss_per" real not null, "loss_per_is_fix" boolean not null, "loss_weight" real not null, "loss_amt" real not null, "cpf_rate" real not null, "cpf_is_fix" boolean not null, "cpf_amt" real not null, "extended_product_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "style_details_line_pkey" primary key ("id"));`);
|
|
10
|
-
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_details_line_extended_product_id" ON "style_details_line" (extended_product_id) WHERE deleted_at IS NULL;`);
|
|
11
|
-
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_details_line_deleted_at" ON "style_details_line" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
12
|
-
this.addSql(`create table if not exists "style_exploration_line" ("id" text not null, "style_id" integer not null, "exploration_code" text not null, "exploration_value" text not null, "extended_product_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "style_exploration_line_pkey" primary key ("id"));`);
|
|
13
|
-
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_exploration_line_extended_product_id" ON "style_exploration_line" (extended_product_id) WHERE deleted_at IS NULL;`);
|
|
14
|
-
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_exploration_line_deleted_at" ON "style_exploration_line" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
15
|
-
this.addSql(`alter table if exists "style_details_line" add constraint "style_details_line_extended_product_id_foreign" foreign key ("extended_product_id") references "extended_product" ("id") on update cascade;`);
|
|
16
|
-
this.addSql(`alter table if exists "style_exploration_line" add constraint "style_exploration_line_extended_product_id_foreign" foreign key ("extended_product_id") references "extended_product" ("id") on update cascade;`);
|
|
17
|
-
}
|
|
18
|
-
async down() {
|
|
19
|
-
this.addSql(`alter table if exists "style_details_line" drop constraint if exists "style_details_line_extended_product_id_foreign";`);
|
|
20
|
-
this.addSql(`alter table if exists "style_exploration_line" drop constraint if exists "style_exploration_line_extended_product_id_foreign";`);
|
|
21
|
-
this.addSql(`drop table if exists "extended_product" cascade;`);
|
|
22
|
-
this.addSql(`drop table if exists "style_details_line" cascade;`);
|
|
23
|
-
this.addSql(`drop table if exists "style_exploration_line" cascade;`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.Migration20250519043358 = Migration20250519043358;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MTkwNDMzNTguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC1wcm9kdWN0L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MTkwNDMzNTgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDY3REFBNjdELENBQUMsQ0FBQztRQUMzOEQsSUFBSSxDQUFDLE1BQU0sQ0FBQywySEFBMkgsQ0FBQyxDQUFDO1FBRXpJLElBQUksQ0FBQyxNQUFNLENBQUMseXBEQUF5cEQsQ0FBQyxDQUFDO1FBQ3ZxRCxJQUFJLENBQUMsTUFBTSxDQUFDLGlKQUFpSixDQUFDLENBQUM7UUFDL0osSUFBSSxDQUFDLE1BQU0sQ0FBQywrSEFBK0gsQ0FBQyxDQUFDO1FBRTdJLElBQUksQ0FBQyxNQUFNLENBQUMsZ1pBQWdaLENBQUMsQ0FBQztRQUM5WixJQUFJLENBQUMsTUFBTSxDQUFDLHlKQUF5SixDQUFDLENBQUM7UUFDdkssSUFBSSxDQUFDLE1BQU0sQ0FBQyx1SUFBdUksQ0FBQyxDQUFDO1FBRXJKLElBQUksQ0FBQyxNQUFNLENBQUMsd01BQXdNLENBQUMsQ0FBQztRQUV0TixJQUFJLENBQUMsTUFBTSxDQUFDLGdOQUFnTixDQUFDLENBQUM7SUFDaE8sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsd0hBQXdILENBQUMsQ0FBQztRQUV0SSxJQUFJLENBQUMsTUFBTSxDQUFDLGdJQUFnSSxDQUFDLENBQUM7UUFFOUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxNQUFNLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsTUFBTSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUVGO0FBL0JELDBEQStCQyJ9
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Migration20250601030519 = void 0;
|
|
4
|
-
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
-
class Migration20250601030519 extends migrations_1.Migration {
|
|
6
|
-
async up() {
|
|
7
|
-
this.addSql(`create table if not exists "style_collection_line" ("id" text not null, "style_id" integer not null, "desg_no" integer not null, "collection_name" text not null, "collection_group_no" integer not null, "collection_group_name" text not null, "collection_group_code" text not null, "extended_product_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "style_collection_line_pkey" primary key ("id"));`);
|
|
8
|
-
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_collection_line_extended_product_id" ON "style_collection_line" (extended_product_id) WHERE deleted_at IS NULL;`);
|
|
9
|
-
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_style_collection_line_deleted_at" ON "style_collection_line" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
10
|
-
this.addSql(`alter table if exists "style_collection_line" add constraint "style_collection_line_extended_product_id_foreign" foreign key ("extended_product_id") references "extended_product" ("id") on update cascade;`);
|
|
11
|
-
this.addSql(`alter table if exists "extended_product" add column if not exists "grp_group_no" integer not null, add column if not exists "category_group_name" text not null, add column if not exists "category_group_code" text not null, add column if not exists "grp_no" integer not null, add column if not exists "category_code" text not null, add column if not exists "sub_itm_no" integer not null, add column if not exists "sub_category_code" text not null, add column if not exists "make_type_no" integer not null, add column if not exists "make_type_code" text not null, add column if not exists "stock_type_no" integer not null, add column if not exists "stock_type_code" text not null, add column if not exists "item_size_id" integer not null, add column if not exists "item_size_name" text not null, add column if not exists "brand_no" integer not null, add column if not exists "brand_name" text not null, add column if not exists "gender_no" integer not null, add column if not exists "gender_name" text not null;`);
|
|
12
|
-
this.addSql(`alter table if exists "style_details_line" add column if not exists "item_id" integer not null, add column if not exists "item_name" text not null, add column if not exists "raw_no" integer not null, add column if not exists "shape_no" integer not null, add column if not exists "qly_no" integer not null, add column if not exists "tone_no" integer not null, add column if not exists "size_no" integer not null, add column if not exists "size_name" text not null, add column if not exists "accessories_id" integer not null, add column if not exists "accessories_name" text not null, add column if not exists "setting_name" text not null, add column if not exists "smd_set_no" integer not null;`);
|
|
13
|
-
this.addSql(`alter table if exists "style_exploration_line" add column if not exists "exploration_id" integer not null, add column if not exists "exploration_name" text not null;`);
|
|
14
|
-
}
|
|
15
|
-
async down() {
|
|
16
|
-
this.addSql(`drop table if exists "style_collection_line" cascade;`);
|
|
17
|
-
this.addSql(`alter table if exists "extended_product" drop column if exists "grp_group_no", drop column if exists "category_group_name", drop column if exists "category_group_code", drop column if exists "grp_no", drop column if exists "category_code", drop column if exists "sub_itm_no", drop column if exists "sub_category_code", drop column if exists "make_type_no", drop column if exists "make_type_code", drop column if exists "stock_type_no", drop column if exists "stock_type_code", drop column if exists "item_size_id", drop column if exists "item_size_name", drop column if exists "brand_no", drop column if exists "brand_name", drop column if exists "gender_no", drop column if exists "gender_name";`);
|
|
18
|
-
this.addSql(`alter table if exists "style_details_line" drop column if exists "item_id", drop column if exists "item_name", drop column if exists "raw_no", drop column if exists "shape_no", drop column if exists "qly_no", drop column if exists "tone_no", drop column if exists "size_no", drop column if exists "size_name", drop column if exists "accessories_id", drop column if exists "accessories_name", drop column if exists "setting_name", drop column if exists "smd_set_no";`);
|
|
19
|
-
this.addSql(`alter table if exists "style_exploration_line" drop column if exists "exploration_id", drop column if exists "exploration_name";`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.Migration20250601030519 = Migration20250601030519;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MDEwMzA1MTkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC1wcm9kdWN0L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA2MDEwMzA1MTkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDRmQUE0ZixDQUFDLENBQUM7UUFDMWdCLElBQUksQ0FBQyxNQUFNLENBQUMsdUpBQXVKLENBQUMsQ0FBQztRQUNySyxJQUFJLENBQUMsTUFBTSxDQUFDLHFJQUFxSSxDQUFDLENBQUM7UUFFbkosSUFBSSxDQUFDLE1BQU0sQ0FBQyw4TUFBOE0sQ0FBQyxDQUFDO1FBRTVOLElBQUksQ0FBQyxNQUFNLENBQUMsbS9CQUFtL0IsQ0FBQyxDQUFDO1FBRWpnQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVyQkFBdXJCLENBQUMsQ0FBQztRQUVyc0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1S0FBdUssQ0FBQyxDQUFDO0lBQ3ZMLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHVEQUF1RCxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLE1BQU0sQ0FBQywwckJBQTByQixDQUFDLENBQUM7UUFFeHNCLElBQUksQ0FBQyxNQUFNLENBQUMsbWRBQW1kLENBQUMsQ0FBQztRQUVqZSxJQUFJLENBQUMsTUFBTSxDQUFDLGtJQUFrSSxDQUFDLENBQUM7SUFDbEosQ0FBQztDQUVGO0FBMUJELDBEQTBCQyJ9
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Migration20250613064237 = void 0;
|
|
4
|
-
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
-
class Migration20250613064237 extends migrations_1.Migration {
|
|
6
|
-
async up() {
|
|
7
|
-
this.addSql(`alter table if exists "extended_product" add column if not exists "gender_data" text[] not null default '{}';`);
|
|
8
|
-
}
|
|
9
|
-
async down() {
|
|
10
|
-
this.addSql(`alter table if exists "extended_product" drop column if exists "gender_data";`);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.Migration20250613064237 = Migration20250613064237;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA2MTMwNjQyMzcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9leHRlbmRlZC1wcm9kdWN0L21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA2MTMwNjQyMzcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLCtHQUErRyxDQUFDLENBQUM7SUFDL0gsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsK0VBQStFLENBQUMsQ0FBQztJQUMvRixDQUFDO0NBRUY7QUFWRCwwREFVQyJ9
|