@devx-commerce/plugin-gati 0.0.34-beta.28 → 0.0.34-beta.29
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/pos/gold/calculate/route.js +42 -8
- package/.medusa/server/src/api/pos/gold/item-master-purity.js +46 -0
- package/.medusa/server/src/api/pos/gold/route.js +49 -17
- package/.medusa/server/src/api/pos/middleware.js +7 -1
- package/.medusa/server/src/api/pos/old-gold-item/middleware.js +10 -0
- package/.medusa/server/src/api/pos/old-gold-item/route.js +52 -0
- package/.medusa/server/src/api/pos/platinumdata/middleware.js +13 -0
- package/.medusa/server/src/api/pos/platinumdata/route.js +41 -0
- package/.medusa/server/src/api/pos/silverdata/middleware.js +13 -0
- package/.medusa/server/src/api/pos/silverdata/route.js +41 -0
- package/.medusa/server/src/jobs/sync-addless-detail.js +60 -0
- package/.medusa/server/src/jobs/sync-book-list-and-applicable-policy.js +13 -1
- package/.medusa/server/src/jobs/sync-item-master.js +20 -0
- package/.medusa/server/src/modules/addless-detail/index.js +13 -0
- package/.medusa/server/src/modules/addless-detail/migrations/Migration20260212101102.js +15 -0
- package/.medusa/server/src/modules/addless-detail/migrations/Migration20260213000000.js +47 -0
- package/.medusa/server/src/modules/addless-detail/models/addless-master.js +17 -0
- package/.medusa/server/src/modules/addless-detail/service.js +10 -0
- package/.medusa/server/src/modules/erp/service.js +65 -1
- package/.medusa/server/src/modules/item-master/index.js +13 -0
- package/.medusa/server/src/modules/item-master/migrations/Migration20260212101055.js +15 -0
- package/.medusa/server/src/modules/item-master/models/item-master.js +20 -0
- package/.medusa/server/src/modules/item-master/service.js +10 -0
- package/.medusa/server/src/utils/build-redis-key.js +3 -1
- package/.medusa/server/src/workflows/addless-detail/index.js +11 -0
- package/.medusa/server/src/workflows/addless-detail/steps/create-or-update-addless-detail.js +36 -0
- package/.medusa/server/src/workflows/addless-detail/steps/fetch-addless-detail.js +73 -0
- package/.medusa/server/src/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/item-master/index.js +11 -0
- package/.medusa/server/src/workflows/item-master/steps/create-or-update-item-master.js +50 -0
- package/.medusa/server/src/workflows/item-master/steps/fetch-item-master.js +29 -0
- package/.medusa/server/src/workflows/orders/steps/sync-old-gold-to-erp-step.js +17 -4
- package/.medusa/server/src/workflows/orders/utils/order-helper.js +42 -24
- package/.medusa/server/src/workflows/party-master/steps/create-user-erp.js +96 -0
- package/.medusa/server/src/workflows/party-master/steps/index.js +2 -1
- package/.medusa/server/src/workflows/party-master/workflows/create-user-erp.js +11 -0
- package/.medusa/server/src/workflows/party-master/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/payment-book-master/steps/create-or-update-payment-book-master.js +21 -15
- package/.medusa/server/src/workflows/rate-chart-master/steps/create-or-update-rate-chart-master.js +9 -11
- package/package.json +1 -1
|
@@ -4,13 +4,41 @@ exports.POST = void 0;
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const build_redis_key_1 = require("../../../../utils/build-redis-key");
|
|
6
6
|
const api_response_1 = require("../../../../lib/api-response");
|
|
7
|
+
const item_master_purity_1 = require("../item-master-purity");
|
|
7
8
|
const KARAT_NORMALIZE = {
|
|
8
9
|
"9": "9K", "9k": "9K",
|
|
9
10
|
"14": "14K", "14k": "14K",
|
|
10
11
|
"18": "18K", "18k": "18K",
|
|
11
12
|
"22": "22K", "22k": "22K",
|
|
12
13
|
"24": "24K", "24k": "24K",
|
|
14
|
+
"og9": "9K", "og9k": "9K",
|
|
15
|
+
"og14": "14K", "og14k": "14K",
|
|
16
|
+
"og18": "18K", "og18k": "18K",
|
|
17
|
+
"og22": "22K", "og22k": "22K",
|
|
18
|
+
"og24": "24K", "og24k": "24K",
|
|
13
19
|
};
|
|
20
|
+
/** Normalize karat input (e.g. og14, OG18K, 14k) to canonical form 9K|14K|18K|22K|24K for cache lookup. */
|
|
21
|
+
function normalizeKarat(karatRaw) {
|
|
22
|
+
const s = karatRaw.trim().toLowerCase().replace(/\s/g, "");
|
|
23
|
+
if (!s)
|
|
24
|
+
return "";
|
|
25
|
+
const direct = KARAT_NORMALIZE[s];
|
|
26
|
+
if (direct)
|
|
27
|
+
return direct;
|
|
28
|
+
const withoutOg = s.replace(/^og/, "");
|
|
29
|
+
const fromOg = KARAT_NORMALIZE[withoutOg] || (withoutOg && !withoutOg.endsWith("k") ? `${withoutOg}K` : withoutOg);
|
|
30
|
+
if (fromOg && KARAT_NORMALIZE[fromOg.toLowerCase()])
|
|
31
|
+
return KARAT_NORMALIZE[fromOg.toLowerCase()];
|
|
32
|
+
const numMatch = s.match(/^og?(\d+)(k?)$/);
|
|
33
|
+
if (numMatch) {
|
|
34
|
+
const n = numMatch[1];
|
|
35
|
+
const mapped = KARAT_NORMALIZE[n] || KARAT_NORMALIZE[`${n}k`];
|
|
36
|
+
if (mapped)
|
|
37
|
+
return mapped;
|
|
38
|
+
return `${n}K`;
|
|
39
|
+
}
|
|
40
|
+
return s.toUpperCase().endsWith("K") ? s.toUpperCase() : `${s}K`.toUpperCase();
|
|
41
|
+
}
|
|
14
42
|
/** Parse first number from string e.g. "38.5%" or "50" -> 38.5 or 50 */
|
|
15
43
|
function parsePurityPercent(value) {
|
|
16
44
|
if (!value || typeof value !== "string")
|
|
@@ -30,7 +58,7 @@ const POST = async (req, res) => {
|
|
|
30
58
|
if (!karat) {
|
|
31
59
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Body parameter karat is required", api_response_1.HttpStatus.BAD_REQUEST, api_response_1.ErrorCode.VALIDATION_ERROR));
|
|
32
60
|
}
|
|
33
|
-
const normalizedKarat = (
|
|
61
|
+
const normalizedKarat = normalizeKarat(karat);
|
|
34
62
|
const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
|
|
35
63
|
const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:gold-rate", {});
|
|
36
64
|
const cached = await cacheService.get(cacheKey);
|
|
@@ -40,18 +68,24 @@ const POST = async (req, res) => {
|
|
|
40
68
|
}
|
|
41
69
|
const item = cached.oldGoldRateList.find((x) => x.rate.toUpperCase() === normalizedKarat);
|
|
42
70
|
if (!item) {
|
|
43
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Karat ${
|
|
71
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Karat "${karat}" not found. Supported: 9K, 14K, 18K, 22K, 24K (or og14, og18, etc.)`, api_response_1.HttpStatus.NOT_FOUND, api_response_1.ErrorCode.NOT_FOUND));
|
|
44
72
|
}
|
|
45
|
-
//
|
|
46
|
-
const
|
|
47
|
-
|
|
73
|
+
// Base purity: from item_master for this karat (e.g. og18 -> G18) when available, else from cache
|
|
74
|
+
const itemMasterPurity = await (0, item_master_purity_1.getPurityFromItemMaster)(req.scope, normalizedKarat);
|
|
75
|
+
const cachePurityPercent = parsePurityPercent(String(item.purity ?? "")) ?? 100;
|
|
76
|
+
const itemPurityPercent = itemMasterPurity ?? cachePurityPercent;
|
|
77
|
+
// Adjust cache rate to match item_master purity when we used it
|
|
78
|
+
const baseRate = itemMasterPurity != null && cachePurityPercent > 0
|
|
79
|
+
? (item.amount * itemMasterPurity) / cachePurityPercent
|
|
80
|
+
: item.amount;
|
|
81
|
+
// User-entered purity – when provided, adjust rate so amount updates
|
|
48
82
|
const userPurityPercent = parsePurityPercent(purity);
|
|
49
83
|
let ratePerGms;
|
|
50
84
|
if (userPurityPercent != null && !Number.isNaN(userPurityPercent) && itemPurityPercent > 0) {
|
|
51
|
-
ratePerGms = (
|
|
85
|
+
ratePerGms = (baseRate * userPurityPercent) / itemPurityPercent;
|
|
52
86
|
}
|
|
53
87
|
else {
|
|
54
|
-
ratePerGms =
|
|
88
|
+
ratePerGms = baseRate;
|
|
55
89
|
}
|
|
56
90
|
const netWeight = Number.isNaN(netWeightGms) || netWeightGms < 0 ? 0 : netWeightGms;
|
|
57
91
|
const totalAmount = Math.round(ratePerGms * netWeight * 100) / 100;
|
|
@@ -67,4 +101,4 @@ const POST = async (req, res) => {
|
|
|
67
101
|
}
|
|
68
102
|
};
|
|
69
103
|
exports.POST = POST;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9nb2xkL2NhbGN1bGF0ZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxxREFBK0U7QUFDL0UsdUVBQWtFO0FBQ2xFLCtEQU1zQztBQUN0Qyw4REFBZ0U7QUFhaEUsTUFBTSxlQUFlLEdBQTJCO0lBQzlDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUk7SUFDckIsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6QixJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3pCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6QixLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJO0lBQ3pCLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUs7SUFDN0IsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUM3QixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQzdCLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUs7Q0FDOUIsQ0FBQztBQUVGLDJHQUEyRztBQUMzRyxTQUFTLGNBQWMsQ0FBQyxRQUFnQjtJQUN0QyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxJQUFJLENBQUMsQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxJQUFJLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUMx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
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPurityFromItemMaster = getPurityFromItemMaster;
|
|
4
|
+
const item_master_1 = require("../../../modules/item-master");
|
|
5
|
+
const KARAT_TO_ITEM_CODE = {
|
|
6
|
+
"9K": "G9",
|
|
7
|
+
"14K": "G14",
|
|
8
|
+
"18K": "G18",
|
|
9
|
+
"22K": "G22",
|
|
10
|
+
"24K": "G24",
|
|
11
|
+
};
|
|
12
|
+
const OLD_GOLD_RAW_NAME = "Old Gold";
|
|
13
|
+
/**
|
|
14
|
+
* Get purity (qly_mfg_clarity) from item_master for the given normalized karat (9K, 14K, 18K, 22K, 24K).
|
|
15
|
+
* Returns null if no matching Old Gold item found.
|
|
16
|
+
*/
|
|
17
|
+
async function getPurityFromItemMaster(container, normalizedKarat) {
|
|
18
|
+
const itemCode = KARAT_TO_ITEM_CODE[normalizedKarat.toUpperCase()];
|
|
19
|
+
if (!itemCode)
|
|
20
|
+
return null;
|
|
21
|
+
try {
|
|
22
|
+
const itemMasterService = container.resolve(item_master_1.ITEM_MASTER_MODULE);
|
|
23
|
+
let list = await itemMasterService.listItemMasters({
|
|
24
|
+
raw_name: OLD_GOLD_RAW_NAME,
|
|
25
|
+
item_code: itemCode,
|
|
26
|
+
});
|
|
27
|
+
if (!list?.length) {
|
|
28
|
+
const all = await itemMasterService.listItemMasters({});
|
|
29
|
+
const match = (all ?? []).find((r) => (r.raw_name || "").trim().toLowerCase() === OLD_GOLD_RAW_NAME.toLowerCase() &&
|
|
30
|
+
(r.item_code || "").trim().toUpperCase() === itemCode.toUpperCase());
|
|
31
|
+
list = match ? [match] : [];
|
|
32
|
+
}
|
|
33
|
+
const row = list?.[0];
|
|
34
|
+
if (row?.qly_mfg_clarity != null && !Number.isNaN(Number(row.qly_mfg_clarity))) {
|
|
35
|
+
return Number(row.qly_mfg_clarity);
|
|
36
|
+
}
|
|
37
|
+
if (row?.qly_clarity != null && !Number.isNaN(Number(row.qly_clarity))) {
|
|
38
|
+
return Number(row.qly_clarity);
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1tYXN0ZXItcHVyaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9wb3MvZ29sZC9pdGVtLW1hc3Rlci1wdXJpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzQkEsMERBaUNDO0FBbERELDhEQUFrRTtBQUdsRSxNQUFNLGtCQUFrQixHQUEyQjtJQUNqRCxJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFQUFFLEtBQUs7SUFDWixLQUFLLEVBQUUsS0FBSztJQUNaLEtBQUssRUFBRSxLQUFLO0NBQ2IsQ0FBQztBQUVGLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDO0FBRXJDOzs7R0FHRztBQUNJLEtBQUssVUFBVSx1QkFBdUIsQ0FDM0MsU0FBMEIsRUFDMUIsZUFBdUI7SUFFdkIsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkUsSUFBSSxDQUFDLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQztJQUUzQixJQUFJLENBQUM7UUFDSCxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQXNCLENBQUM7UUFDckYsSUFBSSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7WUFDakQsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUUsUUFBUTtTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sR0FBRyxHQUFHLE1BQU0saUJBQWlCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUNULENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUU7Z0JBQzNFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQ3RFLENBQUM7WUFDRixJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQUksR0FBRyxFQUFFLGVBQWUsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9FLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxHQUFHLEVBQUUsV0FBVyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -4,27 +4,49 @@ exports.GET = void 0;
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const build_redis_key_1 = require("../../../utils/build-redis-key");
|
|
6
6
|
const api_response_1 = require("../../../lib/api-response");
|
|
7
|
+
const item_master_purity_1 = require("./item-master-purity");
|
|
7
8
|
const KARAT_NORMALIZE = {
|
|
8
|
-
"9": "9K",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
9
|
+
"9": "9K", "9k": "9K",
|
|
10
|
+
"14": "14K", "14k": "14K",
|
|
11
|
+
"18": "18K", "18k": "18K",
|
|
12
|
+
"22": "22K", "22k": "22K",
|
|
13
|
+
"24": "24K", "24k": "24K",
|
|
14
|
+
"og9": "9K", "og9k": "9K",
|
|
15
|
+
"og14": "14K", "og14k": "14K",
|
|
16
|
+
"og18": "18K", "og18k": "18K",
|
|
17
|
+
"og22": "22K", "og22k": "22K",
|
|
18
|
+
"og999": "24K", "og999k": "24K",
|
|
18
19
|
};
|
|
20
|
+
/** Normalize karat input (e.g. og14, OG18K, 14k) to canonical form 9K|14K|18K|22K|24K for cache lookup. */
|
|
21
|
+
function normalizeKarat(karatRaw) {
|
|
22
|
+
const s = karatRaw.trim().toLowerCase().replace(/\s/g, "");
|
|
23
|
+
if (!s)
|
|
24
|
+
return "";
|
|
25
|
+
const direct = KARAT_NORMALIZE[s];
|
|
26
|
+
if (direct)
|
|
27
|
+
return direct;
|
|
28
|
+
const withoutOg = s.replace(/^og/, "");
|
|
29
|
+
const fromOg = KARAT_NORMALIZE[withoutOg] || (withoutOg && !withoutOg.endsWith("k") ? `${withoutOg}K` : withoutOg);
|
|
30
|
+
if (KARAT_NORMALIZE[fromOg.toLowerCase()])
|
|
31
|
+
return KARAT_NORMALIZE[fromOg.toLowerCase()];
|
|
32
|
+
const numMatch = s.match(/^og?(\d+)(k?)$/);
|
|
33
|
+
if (numMatch) {
|
|
34
|
+
const n = numMatch[1];
|
|
35
|
+
const mapped = KARAT_NORMALIZE[n] || KARAT_NORMALIZE[`${n}k`];
|
|
36
|
+
if (mapped)
|
|
37
|
+
return mapped;
|
|
38
|
+
return `${n}K`;
|
|
39
|
+
}
|
|
40
|
+
return s.toUpperCase().endsWith("K") ? s.toUpperCase() : `${s}K`.toUpperCase();
|
|
41
|
+
}
|
|
19
42
|
const GET = async (req, res) => {
|
|
20
43
|
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
21
44
|
try {
|
|
22
45
|
const karatRaw = (req.query?.karat || "").trim().toLowerCase();
|
|
23
46
|
if (!karatRaw) {
|
|
24
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Query parameter karat is required (e.g. 9k, 14k, 18k, 24k)", api_response_1.HttpStatus.BAD_REQUEST, api_response_1.ErrorCode.VALIDATION_ERROR));
|
|
47
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)("Query parameter karat is required (e.g. 9k, 14k, 18k, 24k or og14, OG18K)", api_response_1.HttpStatus.BAD_REQUEST, api_response_1.ErrorCode.VALIDATION_ERROR));
|
|
25
48
|
}
|
|
26
|
-
const
|
|
27
|
-
const normalizedKarat = karatKey.toUpperCase().endsWith("K") ? karatKey : `${karatKey}K`;
|
|
49
|
+
const normalizedKarat = normalizeKarat(karatRaw);
|
|
28
50
|
const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
|
|
29
51
|
const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:gold-rate", {});
|
|
30
52
|
const cached = await cacheService.get(cacheKey);
|
|
@@ -34,11 +56,21 @@ const GET = async (req, res) => {
|
|
|
34
56
|
}
|
|
35
57
|
const item = cached.oldGoldRateList.find((x) => x.rate.toUpperCase() === normalizedKarat.toUpperCase());
|
|
36
58
|
if (!item) {
|
|
37
|
-
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Karat ${
|
|
59
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(`Karat "${karatRaw}" not found. Supported: 9K, 14K, 18K, 22K, 24K (or og14, og18, etc.)`, api_response_1.HttpStatus.NOT_FOUND, api_response_1.ErrorCode.NOT_FOUND));
|
|
60
|
+
}
|
|
61
|
+
let purity = item.purity ?? "";
|
|
62
|
+
let ratePerGms = item.amount;
|
|
63
|
+
const itemMasterPurity = await (0, item_master_purity_1.getPurityFromItemMaster)(req.scope, normalizedKarat);
|
|
64
|
+
if (itemMasterPurity != null) {
|
|
65
|
+
purity = `${itemMasterPurity}%`;
|
|
66
|
+
const cachePurityNum = parseFloat(String(item.purity ?? "100").replace(/%/g, "")) || 100;
|
|
67
|
+
if (cachePurityNum > 0) {
|
|
68
|
+
ratePerGms = (item.amount * itemMasterPurity) / cachePurityNum;
|
|
69
|
+
}
|
|
38
70
|
}
|
|
39
71
|
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
|
|
40
|
-
purity
|
|
41
|
-
rate_per_gms:
|
|
72
|
+
purity,
|
|
73
|
+
rate_per_gms: ratePerGms,
|
|
42
74
|
}, "OK"));
|
|
43
75
|
}
|
|
44
76
|
catch (error) {
|
|
@@ -48,4 +80,4 @@ const GET = async (req, res) => {
|
|
|
48
80
|
}
|
|
49
81
|
};
|
|
50
82
|
exports.GET = GET;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9nb2xkL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLHFEQUErRTtBQUMvRSxvRUFBK0Q7QUFDL0QsNERBTW1DO0FBQ25DLDZEQUErRDtBQWEvRCxNQUFNLGVBQWUsR0FBMkI7SUFDOUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtJQUNyQixJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3pCLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6QixJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3pCLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7SUFDekIsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUM3QixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQzdCLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUs7SUFDN0IsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSztDQUNoQyxDQUFDO0FBRUYsMkdBQTJHO0FBQzNHLFNBQVMsY0FBYyxDQUFDLFFBQWdCO0lBQ3RDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNELElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEIsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLElBQUksTUFBTTtRQUFFLE9BQU8sTUFBTSxDQUFDO0lBQzFCLE1BQU0sU0FBUyxH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
|
|
@@ -8,12 +8,18 @@ const middleware_1 = __importDefault(require("./gold-rate/middleware"));
|
|
|
8
8
|
const middleware_2 = __importDefault(require("./gold/middleware"));
|
|
9
9
|
const middleware_3 = __importDefault(require("./customer-ledger/middleware"));
|
|
10
10
|
const middleware_4 = __importDefault(require("./wallet-balance/middleware"));
|
|
11
|
+
const middleware_5 = __importDefault(require("./old-gold-item/middleware"));
|
|
12
|
+
const middleware_6 = __importDefault(require("./silverdata/middleware"));
|
|
13
|
+
const middleware_7 = __importDefault(require("./platinumdata/middleware"));
|
|
11
14
|
exports.default = (0, framework_1.defineMiddlewares)({
|
|
12
15
|
routes: [
|
|
13
16
|
...(middleware_1.default.routes || []),
|
|
14
17
|
...(middleware_2.default.routes || []),
|
|
15
18
|
...(middleware_3.default.routes || []),
|
|
16
19
|
...(middleware_4.default.routes || []),
|
|
20
|
+
...(middleware_5.default.routes || []),
|
|
21
|
+
...(middleware_6.default.routes || []),
|
|
22
|
+
...(middleware_7.default.routes || []),
|
|
17
23
|
],
|
|
18
24
|
});
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtREFBd0Q7QUFFeEQsd0VBQTREO0FBQzVELG1FQUFtRDtBQUNuRCw4RUFBd0U7QUFDeEUsNkVBQXNFO0FBQ3RFLDRFQUFtRTtBQUNuRSx5RUFBK0Q7QUFDL0QsMkVBQW1FO0FBRW5FLGtCQUFlLElBQUEsNkJBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ04sR0FBRyxDQUFDLG9CQUFzQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDeEMsR0FBRyxDQUFDLG9CQUFrQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDcEMsR0FBRyxDQUFDLG9CQUE0QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDOUMsR0FBRyxDQUFDLG9CQUEyQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDN0MsR0FBRyxDQUFDLG9CQUF5QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDM0MsR0FBRyxDQUFDLG9CQUF3QixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDMUMsR0FBRyxDQUFDLG9CQUEwQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7S0FDN0M7Q0FDRixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const framework_1 = require("@medusajs/framework");
|
|
4
|
+
exports.default = (0, framework_1.defineMiddlewares)({
|
|
5
|
+
routes: [
|
|
6
|
+
{ matcher: "/pos/old-gold-item", method: "GET", middlewares: [] },
|
|
7
|
+
{ matcher: "/pos/old-gold-item", method: "POST", middlewares: [] },
|
|
8
|
+
],
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL29sZC1nb2xkLWl0ZW0vbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUF3RDtBQUV4RCxrQkFBZSxJQUFBLDZCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtRQUNqRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7S0FDbkU7Q0FDRixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const api_response_1 = require("../../../lib/api-response");
|
|
7
|
+
const item_master_1 = require("../../../modules/item-master");
|
|
8
|
+
const item_master_2 = require("../../../workflows/item-master");
|
|
9
|
+
const OLD_GOLD_RAW_NAME = "Old Gold";
|
|
10
|
+
async function GET(req, res) {
|
|
11
|
+
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
12
|
+
try {
|
|
13
|
+
const itemMasterService = req.scope.resolve(item_master_1.ITEM_MASTER_MODULE);
|
|
14
|
+
const all = await itemMasterService.listItemMasters({});
|
|
15
|
+
const oldGoldItems = all
|
|
16
|
+
.filter((row) => (row.raw_name || "").trim().toLowerCase() === OLD_GOLD_RAW_NAME.toLowerCase())
|
|
17
|
+
.map((row) => ({
|
|
18
|
+
item_code: (row.item_code || "").trim(),
|
|
19
|
+
item_name: (row.item_name || "").trim(),
|
|
20
|
+
}))
|
|
21
|
+
.filter((item) => item.item_code || item.item_name);
|
|
22
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ items: oldGoldItems }, "OK"));
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
const msg = error instanceof Error ? error.message : "Unknown error";
|
|
26
|
+
logger.error(`[POS-OLD-GOLD-ITEM] GET: ${msg}`);
|
|
27
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function POST(req, res) {
|
|
31
|
+
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
32
|
+
try {
|
|
33
|
+
await (0, item_master_2.itemMasterWorkflow)(req.scope).run({ input: {} });
|
|
34
|
+
const itemMasterService = req.scope.resolve(item_master_1.ITEM_MASTER_MODULE);
|
|
35
|
+
const all = await itemMasterService.listItemMasters({});
|
|
36
|
+
const oldGoldItems = all
|
|
37
|
+
.filter((row) => (row.raw_name || "").trim().toLowerCase() === OLD_GOLD_RAW_NAME.toLowerCase())
|
|
38
|
+
.map((row) => ({
|
|
39
|
+
item_code: (row.item_code || "").trim(),
|
|
40
|
+
item_name: (row.item_name || "").trim(),
|
|
41
|
+
}))
|
|
42
|
+
.filter((item) => item.item_code || item.item_name);
|
|
43
|
+
logger.info(`[POS-OLD-GOLD-ITEM] Sync completed; ${oldGoldItems.length} old gold items`);
|
|
44
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({ items: oldGoldItems, synced: true }, "Old gold items synced from ERP"));
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const msg = error instanceof Error ? error.message : "Unknown error";
|
|
48
|
+
logger.error(`[POS-OLD-GOLD-ITEM] POST sync: ${msg}`);
|
|
49
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Sync failed", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9vbGQtZ29sZC1pdGVtL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBMkJBLGtCQW9DQztBQUVELG9CQXVDQztBQWhHRCxxREFBc0U7QUFDdEUsNERBTW1DO0FBQ25DLDhEQUFrRTtBQUVsRSxnRUFBb0U7QUFFcEUsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7QUFPOUIsS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0NBQWtCLENBQXNCLENBQUM7UUFDckYsTUFBTSxHQUFHLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQXFCLEdBQUc7YUFDdkMsTUFBTSxDQUNMLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQ2hGO2FBQ0EsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2IsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDdkMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUU7U0FDeEMsQ0FBQyxDQUFDO2FBQ0YsTUFBTSxDQUFDLENBQUMsSUFB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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const framework_1 = require("@medusajs/framework");
|
|
4
|
+
exports.default = (0, framework_1.defineMiddlewares)({
|
|
5
|
+
routes: [
|
|
6
|
+
{
|
|
7
|
+
matcher: "/pos/platinumdata",
|
|
8
|
+
method: "GET",
|
|
9
|
+
middlewares: [],
|
|
10
|
+
},
|
|
11
|
+
],
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL3BsYXRpbnVtZGF0YS9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQXdEO0FBRXhELGtCQUFlLElBQUEsNkJBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ047WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsV0FBVyxFQUFFLEVBQUU7U0FDaEI7S0FDRjtDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,41 @@
|
|
|
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 build_redis_key_1 = require("../../../utils/build-redis-key");
|
|
6
|
+
const api_response_1 = require("../../../lib/api-response");
|
|
7
|
+
const erp_1 = require("../../../modules/erp");
|
|
8
|
+
const GET = async (req, res) => {
|
|
9
|
+
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
10
|
+
try {
|
|
11
|
+
logger.info("[POS-PLATINUM-DATA] : Fetching platinum rate data");
|
|
12
|
+
const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
|
|
13
|
+
const erpService = req.scope.resolve(erp_1.ERP_MODULE);
|
|
14
|
+
const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:platinum-rate", {});
|
|
15
|
+
const cachedResult = await cacheService.get(cacheKey);
|
|
16
|
+
if (cachedResult) {
|
|
17
|
+
logger.info("[POS-PLATINUM-DATA] : Returning cached result");
|
|
18
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "Platinum rate fetched successfully"));
|
|
19
|
+
}
|
|
20
|
+
logger.info("[POS-PLATINUM-DATA] : Cache miss, fetching from ERP");
|
|
21
|
+
const platinumRateData = (await erpService.getPlatinumRateData());
|
|
22
|
+
const currentList = platinumRateData?.CurrentPlatinumRate?.map((item) => ({
|
|
23
|
+
rate: item.RawName || "Platinum",
|
|
24
|
+
amount: item.SaleRate ?? 0,
|
|
25
|
+
})) ?? [];
|
|
26
|
+
const result = {
|
|
27
|
+
currentPlatinumRateList: currentList,
|
|
28
|
+
};
|
|
29
|
+
await cacheService.set(cacheKey, result, build_redis_key_1.CACHE_VALIDATION_TIMES.PLATINUM_RATE);
|
|
30
|
+
logger.info(`[POS-PLATINUM-DATA] : Successfully computed and cached platinum rates - Current: ${currentList.length}`);
|
|
31
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Platinum rate fetched successfully"));
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
35
|
+
const errorStack = error instanceof Error ? error.stack : undefined;
|
|
36
|
+
logger.error(`[POS-PLATINUM-DATA] : Error fetching platinum rate - ${errorMessage}${errorStack ? `\nStack: ${errorStack}` : ""}`);
|
|
37
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.GET = GET;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9wbGF0aW51bWRhdGEvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQStFO0FBQy9FLG9FQUd3QztBQUN4Qyw0REFNbUM7QUFFbkMsOENBQWtEO0FBb0IzQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRSxJQUFJLENBQUM7UUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFFakUsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sVUFBVSxHQUFlLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFVLENBQUMsQ0FBQztRQUM3RCxNQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFhLEVBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEQsTUFBTSxZQUFZLEdBQ2hCLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBdUIsUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDN0QsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixZQUFZLEVBQ1osb0NBQW9DLENBQ3JDLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFFbkUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBRW5ELENBQUM7UUFFZCxNQUFNLFdBQVcsR0FDZixnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksVUFBVTtZQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDO1NBQzNCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVaLE1BQU0sTUFBTSxHQUF5QjtZQUNuQyx1QkFBdUIsRUFBRSxXQUFXO1NBQ3JDLENBQUM7UUFFRixNQUFNLFlBQVksQ0FBQyxHQUFHLENBQ3BCLFFBQVEsRUFDUixNQUFNLEVBQ04sd0NBQXNCLENBQUMsYUFBYSxDQUNyQyxDQUFDO1FBRUYsTUFBTSxDQUFDLElBQUksQ0FDVCxvRkFBb0YsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUN6RyxDQUFDO1FBRUYsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQyxDQUNwRSxDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLFlBQVksR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDOUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxLQUFLLENBQ1Ysd0RBQXdELFlBQVksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNwSCxDQUFDO1FBQ0YsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLGtDQUFtQixFQUNqQixLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsRUFDaEUseUJBQVUsQ0FBQyxxQkFBcUIsRUFDaEMsd0JBQVMsQ0FBQyxjQUFjLENBQ3pCLENBQ0YsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUM7QUF4RVcsUUFBQSxHQUFHLE9Bd0VkIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const framework_1 = require("@medusajs/framework");
|
|
4
|
+
exports.default = (0, framework_1.defineMiddlewares)({
|
|
5
|
+
routes: [
|
|
6
|
+
{
|
|
7
|
+
matcher: "/pos/silverdata",
|
|
8
|
+
method: "GET",
|
|
9
|
+
middlewares: [],
|
|
10
|
+
},
|
|
11
|
+
],
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvcG9zL3NpbHZlcmRhdGEvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUF3RDtBQUV4RCxrQkFBZSxJQUFBLDZCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixNQUFNLEVBQUUsS0FBSztZQUNiLFdBQVcsRUFBRSxFQUFFO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
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 build_redis_key_1 = require("../../../utils/build-redis-key");
|
|
6
|
+
const api_response_1 = require("../../../lib/api-response");
|
|
7
|
+
const erp_1 = require("../../../modules/erp");
|
|
8
|
+
const GET = async (req, res) => {
|
|
9
|
+
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
10
|
+
try {
|
|
11
|
+
logger.info("[POS-SILVER-DATA] : Fetching silver rate data");
|
|
12
|
+
const cacheService = req.scope.resolve(utils_1.Modules.CACHE);
|
|
13
|
+
const erpService = req.scope.resolve(erp_1.ERP_MODULE);
|
|
14
|
+
const cacheKey = (0, build_redis_key_1.buildRedisKey)("pos:silver-rate", {});
|
|
15
|
+
const cachedResult = await cacheService.get(cacheKey);
|
|
16
|
+
if (cachedResult) {
|
|
17
|
+
logger.info("[POS-SILVER-DATA] : Returning cached result");
|
|
18
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(cachedResult, "Silver rate fetched successfully"));
|
|
19
|
+
}
|
|
20
|
+
logger.info("[POS-SILVER-DATA] : Cache miss, fetching from ERP");
|
|
21
|
+
const silverRateData = (await erpService.getSilverRateData());
|
|
22
|
+
const currentList = silverRateData?.CurrentSilverRate?.map((item) => ({
|
|
23
|
+
rate: item.RawName || "Silver",
|
|
24
|
+
amount: item.SaleRate ?? 0,
|
|
25
|
+
})) ?? [];
|
|
26
|
+
const result = {
|
|
27
|
+
currentSilverRateList: currentList,
|
|
28
|
+
};
|
|
29
|
+
await cacheService.set(cacheKey, result, build_redis_key_1.CACHE_VALIDATION_TIMES.SILVER_RATE);
|
|
30
|
+
logger.info(`[POS-SILVER-DATA] : Successfully computed and cached silver rates - Current: ${currentList.length}`);
|
|
31
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)(result, "Silver rate fetched successfully"));
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
35
|
+
const errorStack = error instanceof Error ? error.stack : undefined;
|
|
36
|
+
logger.error(`[POS-SILVER-DATA] : Error fetching silver rate - ${errorMessage}${errorStack ? `\nStack: ${errorStack}` : ""}`);
|
|
37
|
+
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error instanceof Error ? error.message : "Internal server error", api_response_1.HttpStatus.INTERNAL_SERVER_ERROR, api_response_1.ErrorCode.INTERNAL_ERROR));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.GET = GET;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3Bvcy9zaWx2ZXJkYXRhL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUErRTtBQUMvRSxvRUFHd0M7QUFDeEMsNERBTW1DO0FBRW5DLDhDQUFrRDtBQW9CM0MsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUFrQixFQUNsQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBRTdELE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxNQUFNLFVBQVUsR0FBZSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBVSxDQUFDLENBQUM7UUFDN0QsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBYSxFQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBcUIsUUFBUSxDQUFDLENBQUM7UUFFMUUsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDM0QsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUNuQixZQUFZLEVBQ1osa0NBQWtDLENBQ25DLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFFakUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUUvQyxDQUFDO1FBRWQsTUFBTSxXQUFXLEdBQ2YsY0FBYyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUM7U0FDM0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosTUFBTSxNQUFNLEdBQXVCO1lBQ2pDLHFCQUFxQixFQUFFLFdBQVc7U0FDbkMsQ0FBQztRQUVGLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FDcEIsUUFBUSxFQUNSLE1BQU0sRUFDTix3Q0FBc0IsQ0FBQyxXQUFXLENBQ25DLENBQUM7UUFFRixNQUFNLENBQUMsSUFBSSxDQUNULGdGQUFnRixXQUFXLENBQUMsTUFBTSxFQUFFLENBQ3JHLENBQUM7UUFFRixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsb0NBQXFCLEVBQUMsTUFBTSxFQUFFLGtDQUFrQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUM5RSxNQUFNLFVBQVUsR0FBRyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEUsTUFBTSxDQUFDLEtBQUssQ0FDVixvREFBb0QsWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2hILENBQUM7UUFDRixPQUFPLElBQUEsOEJBQWUsRUFDcEIsR0FBRyxFQUNILElBQUEsa0NBQW1CLEVBQ2pCLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixFQUNoRSx5QkFBVSxDQUFDLHFCQUFxQixFQUNoQyx3QkFBUyxDQUFDLGNBQWMsQ0FDekIsQ0FDRixDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQztBQXZFVyxRQUFBLEdBQUcsT0F1RWQifQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = syncAddlessDetail;
|
|
5
|
+
const party_master_1 = require("../modules/party-master");
|
|
6
|
+
const book_list_1 = require("../workflows/book-list");
|
|
7
|
+
const book_list_2 = require("../modules/book-list");
|
|
8
|
+
const addless_detail_1 = require("../workflows/addless-detail");
|
|
9
|
+
const addless_detail_2 = require("../modules/addless-detail");
|
|
10
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
11
|
+
async function syncAddlessDetail(container) {
|
|
12
|
+
const partyMasterModuleService = container.resolve(party_master_1.PARTY_MASTER_MODULE);
|
|
13
|
+
const bookListModuleService = container.resolve(book_list_2.BOOK_LIST_MODULE);
|
|
14
|
+
const addlessMasterModuleService = container.resolve(addless_detail_2.ADDLESS_MASTER_MODULE);
|
|
15
|
+
const branches = await partyMasterModuleService.listPartyMasters({
|
|
16
|
+
is_inline_branch: true,
|
|
17
|
+
});
|
|
18
|
+
const branchNos = branches.map((branch) => branch.party_no);
|
|
19
|
+
branchNos.push("");
|
|
20
|
+
// Sync book list (type ref) so we have branch+book combinations
|
|
21
|
+
await (0, utils_1.promiseAll)([
|
|
22
|
+
(0, book_list_1.bookListWorkflow)(container).run({
|
|
23
|
+
input: { type: "salesreturn", branchNos },
|
|
24
|
+
}),
|
|
25
|
+
(0, book_list_1.bookListWorkflow)(container).run({
|
|
26
|
+
input: { type: "order", branchNos },
|
|
27
|
+
}),
|
|
28
|
+
(0, book_list_1.bookListWorkflow)(container).run({
|
|
29
|
+
input: { type: "sale", branchNos },
|
|
30
|
+
}),
|
|
31
|
+
(0, book_list_1.bookListWorkflow)(container).run({
|
|
32
|
+
input: { type: "purchase", branchNos },
|
|
33
|
+
}),
|
|
34
|
+
]);
|
|
35
|
+
const allBooks = await bookListModuleService.listBookLists();
|
|
36
|
+
const bookPairs = allBooks.map((p) => ({
|
|
37
|
+
branchNo: p.branch_no,
|
|
38
|
+
bookNo: String(p.book_no),
|
|
39
|
+
}));
|
|
40
|
+
const uniquePairs = Array.from(new Map(bookPairs.map((p) => [`${p.branchNo}|${p.bookNo}`, p])).values());
|
|
41
|
+
const addlessData = await addlessMasterModuleService.listAddlessMasters();
|
|
42
|
+
const addlessIds = addlessData.map((item) => item.id);
|
|
43
|
+
if (addlessIds.length) {
|
|
44
|
+
await addlessMasterModuleService.deleteAddlessMasters(addlessIds);
|
|
45
|
+
}
|
|
46
|
+
if (uniquePairs.length > 0) {
|
|
47
|
+
const BATCH_SIZE = 50;
|
|
48
|
+
for (let i = 0; i < uniquePairs.length; i += BATCH_SIZE) {
|
|
49
|
+
const batch = uniquePairs.slice(i, i + BATCH_SIZE);
|
|
50
|
+
await (0, addless_detail_1.addlessDetailWorkflow)(container).run({
|
|
51
|
+
input: { books: batch },
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.config = {
|
|
57
|
+
name: "sync-addless-detail",
|
|
58
|
+
schedule: "0 0 * * *",
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1hZGRsZXNzLWRldGFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9qb2JzL3N5bmMtYWRkbGVzcy1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0Esb0NBeURDO0FBbEVELDBEQUE4RDtBQUM5RCxzREFBMEQ7QUFDMUQsb0RBQXdEO0FBRXhELGdFQUFvRTtBQUNwRSw4REFBa0U7QUFFbEUscURBQXVEO0FBRXhDLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxTQUEwQjtJQUN4RSxNQUFNLHdCQUF3QixHQUF1QixTQUFTLENBQUMsT0FBTyxDQUNwRSxrQ0FBbUIsQ0FDcEIsQ0FBQztJQUNGLE1BQU0scUJBQXFCLEdBQW9CLFNBQVMsQ0FBQyxPQUFPLENBQzlELDRCQUFnQixDQUNqQixDQUFDO0lBQ0YsTUFBTSwwQkFBMEIsR0FBeUIsU0FBUyxDQUFDLE9BQU8sQ0FDeEUsc0NBQXFCLENBQ3RCLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDO1FBQy9ELGdCQUFnQixFQUFFLElBQUk7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVELFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbkIsZ0VBQWdFO0lBQ2hFLE1BQU0sSUFBQSxrQkFBVSxFQUFDO1FBQ2YsSUFBQSw0QkFBZ0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUU7U0FDMUMsQ0FBQztRQUNGLElBQUEsNEJBQWdCLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzlCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1NBQ3BDLENBQUM7UUFDRixJQUFBLDRCQUFnQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUM5QixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtTQUNuQyxDQUFDO1FBQ0YsSUFBQSw0QkFBZ0IsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDOUIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7U0FDdkMsQ0FBQztLQUNILENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLE1BQU0scUJBQXFCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVM7UUFDckIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0tBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0osTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDNUIsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDekUsQ0FBQztJQUVGLE1BQU0sV0FBVyxHQUFHLE1BQU0sMEJBQTBCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMxRSxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEQsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsTUFBTSwwQkFBMEIsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDeEQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBQSxzQ0FBcUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3pDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7YUFDeEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxNQUFNLEdBQUc7SUFDcEIsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixRQUFRLEVBQUUsV0FBVztDQUN0QixDQUFDIn0=
|
|
@@ -35,6 +35,18 @@ async function syncBookListAndApplicablePolicy(container) {
|
|
|
35
35
|
branchNos: branchNos,
|
|
36
36
|
},
|
|
37
37
|
}),
|
|
38
|
+
(0, book_list_1.bookListWorkflow)(container).run({
|
|
39
|
+
input: {
|
|
40
|
+
type: "order",
|
|
41
|
+
branchNos: branchNos,
|
|
42
|
+
},
|
|
43
|
+
}),
|
|
44
|
+
(0, book_list_1.bookListWorkflow)(container).run({
|
|
45
|
+
input: {
|
|
46
|
+
type: "sale",
|
|
47
|
+
branchNos: branchNos,
|
|
48
|
+
},
|
|
49
|
+
}),
|
|
38
50
|
(0, book_list_1.bookListWorkflow)(container).run({
|
|
39
51
|
input: {
|
|
40
52
|
type: "purchase",
|
|
@@ -74,4 +86,4 @@ exports.config = {
|
|
|
74
86
|
name: "sync-book-list-and-applicable-policy",
|
|
75
87
|
schedule: "0 0 * * *", // Every day at midnight (every 24 hours)
|
|
76
88
|
};
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1ib29rLWxpc3QtYW5kLWFwcGxpY2FibGUtcG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2pvYnMvc3luYy1ib29rLWxpc3QtYW5kLWFwcGxpY2FibGUtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWFBLGtEQStGQztBQTNHRCxxREFBdUQ7QUFFdkQsMERBQThEO0FBQzlELHNEQUEwRDtBQUMxRCxvREFBd0Q7QUFFeEQsOEZBQWdHO0FBQ2hHLDRGQUVrRDtBQUduQyxLQUFLLFVBQVUsK0JBQStCLENBQzNELFNBQTBCO0lBRTFCLE1BQU0sd0JBQXdCLEdBQXVCLFNBQVMsQ0FBQyxPQUFPLENBQ3BFLGtDQUFtQixDQUNwQixDQUFDO0lBQ0YsTUFBTSxxQkFBcUIsR0FBb0IsU0FBUyxDQUFDLE9BQU8sQ0FDOUQsNEJBQWdCLENBQ2pCLENBQUM7SUFDRixNQUFNLDZCQUE2QixHQUNqQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9FQUFvQyxDQUFDLENBQUM7SUFFMUQsNkJBQTZCO0lBQzdCLE1BQU0sWUFBWSxHQUFHLE1BQU0scUJBQXFCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE1BQU0scUJBQXFCLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXpELHNDQUFzQztJQUN0QyxNQUFNLG9CQUFvQixHQUN4QixNQUFNLDZCQUE2QixDQUFDLGdDQUFnQyxFQUFFLENBQUM7SUFDekUsTUFBTSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RSxNQUFNLDZCQUE2QixDQUFDLGtDQUFrQyxDQUNwRSxtQkFB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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = void 0;
|
|
4
|
+
exports.default = syncItemMaster;
|
|
5
|
+
const item_master_1 = require("../modules/item-master");
|
|
6
|
+
const item_master_2 = require("../workflows/item-master");
|
|
7
|
+
async function syncItemMaster(container) {
|
|
8
|
+
const itemMasterService = container.resolve(item_master_1.ITEM_MASTER_MODULE);
|
|
9
|
+
const existing = await itemMasterService.listItemMasters();
|
|
10
|
+
const ids = existing.map((item) => item.id);
|
|
11
|
+
if (ids.length > 0) {
|
|
12
|
+
await itemMasterService.deleteItemMasters(ids);
|
|
13
|
+
}
|
|
14
|
+
await (0, item_master_2.itemMasterWorkflow)(container).run({ input: {} });
|
|
15
|
+
}
|
|
16
|
+
exports.config = {
|
|
17
|
+
name: "sync-item-master",
|
|
18
|
+
schedule: "0 0 * * *", // Once daily at midnight to avoid overlapping runs and duplicate inserts
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1pdGVtLW1hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9qb2JzL3N5bmMtaXRlbS1tYXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsaUNBVUM7QUFiRCx3REFBNEQ7QUFDNUQsMERBQThEO0FBRS9DLEtBQUssVUFBVSxjQUFjLENBQUMsU0FBMEI7SUFDckUsTUFBTSxpQkFBaUIsR0FBc0IsU0FBUyxDQUFDLE9BQU8sQ0FDNUQsZ0NBQWtCLENBQ25CLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkIsTUFBTSxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsTUFBTSxJQUFBLGdDQUFrQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBRztJQUNwQixJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLFFBQVEsRUFBRSxXQUFXLEVBQUUseUVBQXlFO0NBQ2pHLENBQUMifQ==
|