@infuro/cms-core 1.0.68 → 1.0.70
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/dist/{OrderTrackPage-W3J6WIG2.js → OrderTrackPage-VBZUVZOU.js} +1 -1
- package/dist/{OrderTrackPage-Z6FCJQYY.cjs → OrderTrackPage-VFIXWJOW.cjs} +4 -4
- package/dist/admin.cjs +2831 -2680
- package/dist/admin.js +1590 -1439
- package/dist/api.cjs +57 -57
- package/dist/api.js +24 -24
- package/dist/auth.cjs +62 -62
- package/dist/auth.js +6 -6
- package/dist/{chunk-XJNNOSJR.js → chunk-2BNVRFUQ.js} +1 -1
- package/dist/chunk-2JHGIWH7.cjs +2700 -0
- package/dist/{chunk-3DZRIZOD.cjs → chunk-3ASNJS2H.cjs} +3 -3
- package/dist/{chunk-N4LBZXBG.js → chunk-3LF4RYAJ.js} +360 -30
- package/dist/{chunk-7NMT3GBR.cjs → chunk-3LQS4ATQ.cjs} +4 -4
- package/dist/{chunk-P6S4XFZO.cjs → chunk-47G65M5Q.cjs} +2 -2
- package/dist/{chunk-UMC7W5G3.cjs → chunk-4MNVIGVJ.cjs} +11 -11
- package/dist/{chunk-OY2YTBMP.cjs → chunk-4WZNRVEZ.cjs} +3 -3
- package/dist/chunk-5BKT4CS5.js +28 -0
- package/dist/{chunk-IKTBZJHT.js → chunk-5DSY3GQI.js} +1 -1
- package/dist/{chunk-AYERBA7I.js → chunk-5NVGWJSY.js} +1 -1
- package/dist/{chunk-HF3L2GIT.cjs → chunk-5YMKJ3TH.cjs} +16 -16
- package/dist/{chunk-MYUGQHU4.js → chunk-7NQMGB2S.js} +162 -51
- package/dist/{chunk-SYBOCAWB.js → chunk-7QJI56OL.js} +1 -1
- package/dist/{chunk-DBPSJYLZ.js → chunk-BK5XW5XH.js} +1 -1
- package/dist/{chunk-SUUD7OUG.cjs → chunk-BQQMTQ4C.cjs} +27 -27
- package/dist/{chunk-6YOQ7G5O.js → chunk-CFUSYGSA.js} +1 -1
- package/dist/{chunk-OOTLNH63.cjs → chunk-CIZZX57T.cjs} +2 -2
- package/dist/{chunk-5NOZSG6J.js → chunk-CJY2HUJC.js} +20 -20
- package/dist/{chunk-HBUV73RB.cjs → chunk-CKTRA3Q2.cjs} +81 -81
- package/dist/{chunk-7L6KWI7S.cjs → chunk-CTTV375J.cjs} +13 -13
- package/dist/{chunk-2IAXTKQN.cjs → chunk-DZNWS2MM.cjs} +2 -2
- package/dist/{chunk-M5GPOPGX.cjs → chunk-E62LKM6Z.cjs} +2 -2
- package/dist/{chunk-CRFV5WJK.js → chunk-ECNYZG6T.js} +1 -1
- package/dist/{chunk-OVTOP42W.js → chunk-ECUGNV2I.js} +2 -58
- package/dist/{chunk-TZEMLHSP.cjs → chunk-EYUBL7YH.cjs} +7 -7
- package/dist/{chunk-OV5TRZET.cjs → chunk-FNLF6G2N.cjs} +27 -27
- package/dist/{chunk-SKJH7PX4.js → chunk-HZZTDM5J.js} +3 -3
- package/dist/{chunk-TJ2MIQUT.cjs → chunk-JRW3GQD4.cjs} +4 -4
- package/dist/{chunk-3K5AIEIZ.js → chunk-JYRFSFXH.js} +1 -1
- package/dist/{chunk-GWDI752Q.js → chunk-K6JT7BKY.js} +59 -2
- package/dist/{chunk-WKDBMDUX.js → chunk-K6RXCLD5.js} +1 -1
- package/dist/{chunk-PA6YDMFZ.cjs → chunk-K742UE6S.cjs} +13 -12
- package/dist/{chunk-WFMVD567.cjs → chunk-KB7EBYPR.cjs} +9 -67
- package/dist/{chunk-H3IVLIPR.cjs → chunk-KJB5LBFQ.cjs} +63 -4
- package/dist/{chunk-O4AFPDQ4.cjs → chunk-LCZZ3S4I.cjs} +49 -49
- package/dist/{chunk-7JCCPQEF.js → chunk-LJ5C4RBF.js} +3 -3
- package/dist/{chunk-EIZKW2PF.js → chunk-LY7CDNC6.js} +1 -1
- package/dist/{chunk-MQBT33IV.js → chunk-MGT4DJ2D.js} +1 -1
- package/dist/{chunk-GN4LKG4V.cjs → chunk-NIBEGDD4.cjs} +18 -18
- package/dist/{chunk-ZY64VJMS.js → chunk-NQF6H656.js} +2 -2
- package/dist/{chunk-22XKONB5.cjs → chunk-OP624LWU.cjs} +1204 -1093
- package/dist/{chunk-ZIT4IP6N.js → chunk-PQJIJ4ZX.js} +6 -6
- package/dist/{chunk-HY3AXLOI.cjs → chunk-PRXVSSIF.cjs} +13 -13
- package/dist/{chunk-TDV6EJHV.js → chunk-PRZOLCFW.js} +2 -2
- package/dist/{chunk-VM6OVUUM.cjs → chunk-QN6PZLAP.cjs} +40 -40
- package/dist/{chunk-UPLVMVRX.cjs → chunk-RQCXRCYM.cjs} +2 -2
- package/dist/{chunk-Z5G54EGD.js → chunk-SCE2GIKH.js} +5 -5
- package/dist/{chunk-WUQAOTHA.js → chunk-SERRQ736.js} +1 -1
- package/dist/{chunk-SMHQV3WL.cjs → chunk-TTOEY7AH.cjs} +496 -166
- package/dist/{chunk-FLUF2GZH.js → chunk-W2ZTGLUH.js} +2 -1
- package/dist/{chunk-JC6DLWTE.js → chunk-WQZ4AH2P.js} +1 -1
- package/dist/{chunk-D5FBNKQM.cjs → chunk-WXH3GMCF.cjs} +8 -8
- package/dist/chunk-XHPRD45G.cjs +32 -0
- package/dist/{chunk-THL5JDWJ.cjs → chunk-Y54WDY2O.cjs} +2 -2
- package/dist/{chunk-YRCKEGL2.js → chunk-YDMHG6BA.js} +1 -1
- package/dist/chunk-YHVA5NHI.js +2698 -0
- package/dist/{chunk-JXF23MPG.js → chunk-ZMIMKNSQ.js} +1 -1
- package/dist/cli.cjs +10 -10
- package/dist/cli.js +1 -1
- package/dist/email-queue-BJDH2ID7.cjs +29 -0
- package/dist/email-queue-MWP4R67H.js +8 -0
- package/dist/email-service-6JODEMUA.js +3 -0
- package/dist/email-service-VA4Q4ZRB.cjs +28 -0
- package/dist/emit-order-notification-trigger-I4HQSTEN.cjs +16 -0
- package/dist/emit-order-notification-trigger-TBXAZAPS.js +3 -0
- package/dist/erp-config-enabled-32XTHBBT.cjs +11 -0
- package/dist/erp-config-enabled-CASE5YVI.js +2 -0
- package/dist/erp-order-invoice-5O42ZKC5.cjs +28 -0
- package/dist/erp-order-invoice-JEQKFXG4.js +7 -0
- package/dist/{event-order-defaults-DU7V3YND.cjs → event-order-defaults-TR45WAQQ.cjs} +10 -10
- package/dist/{event-order-defaults-H4RT7NMR.js → event-order-defaults-VXYO6NHT.js} +2 -2
- package/dist/generate-local-invoice-pdf-2NCA2WBL.cjs +12 -0
- package/dist/generate-local-invoice-pdf-XUH6GYEJ.js +3 -0
- package/dist/hooks.cjs +24 -24
- package/dist/hooks.js +2 -2
- package/dist/index.cjs +504 -504
- package/dist/index.js +39 -39
- package/dist/interpolate-KD37IRF2.js +2 -0
- package/dist/interpolate-WP6OSJHN.cjs +11 -0
- package/dist/{invoice-templates-RB462AQN.cjs → invoice-templates-2ESQ7K4N.cjs} +5 -5
- package/dist/invoice-templates-3AXTXERZ.js +2 -0
- package/dist/middleware.cjs +4 -4
- package/dist/middleware.js +2 -2
- package/dist/{order-assignees-handlers-KF7RMTV5.cjs → order-assignees-handlers-E6PQZP4H.cjs} +25 -6
- package/dist/{order-assignees-handlers-L3RVKUBS.js → order-assignees-handlers-YCT3Q3KC.js} +23 -4
- package/dist/{order-completion-otp-handlers-DDQREULW.cjs → order-completion-otp-handlers-2ZKRK5SN.cjs} +25 -25
- package/dist/{order-completion-otp-handlers-NROWBGXN.js → order-completion-otp-handlers-KHLZQQJX.js} +12 -12
- package/dist/{order-inventory-76V4XIGW.js → order-inventory-R3AU6N4V.js} +2 -2
- package/dist/{order-inventory-2MYRKEPC.cjs → order-inventory-UUFPWLBW.cjs} +10 -10
- package/dist/order-notification-dispatcher-37KDVHBM.cjs +38 -0
- package/dist/order-notification-dispatcher-Z3MXNF4U.js +13 -0
- package/dist/paid-order-erp-GRXR2OG6.js +3 -0
- package/dist/paid-order-erp-X5QHPI23.cjs +12 -0
- package/dist/pg-boss-service-CMW3KQJM.js +2 -0
- package/dist/pg-boss-service-GA6ZVD5G.cjs +15 -0
- package/dist/{razorpay-U23LGY72.cjs → razorpay-GP2DXVP2.cjs} +2 -2
- package/dist/{razorpay-KLO2KNCB.js → razorpay-I3G5LNYH.js} +1 -1
- package/dist/{rbac-debug-db-DFZWZ6GV.js → rbac-debug-db-JK3U5UZK.js} +2 -2
- package/dist/{rbac-debug-db-KWV7D5PQ.cjs → rbac-debug-db-S3D6N6HN.cjs} +4 -4
- package/dist/resolve-invoice-asset-url-64QQUVC3.js +2 -0
- package/dist/resolve-invoice-asset-url-J7WAMD26.cjs +11 -0
- package/dist/retire-soft-deleted-unique-DZALT537.cjs +15 -0
- package/dist/{retire-soft-deleted-unique-NXQIH4BC.js → retire-soft-deleted-unique-F25KZBZK.js} +2 -2
- package/dist/sms-defaults-DSO3M26Y.js +2 -0
- package/dist/{sms-defaults-KCOPKQBA.cjs → sms-defaults-GDFILHHR.cjs} +5 -5
- package/dist/{sms-notification-templates-handlers-SJLO7JGZ.js → sms-notification-templates-handlers-ZGDCVS5Z.js} +1 -1
- package/dist/{sms-notification-templates-handlers-YSB3L2PK.cjs → sms-notification-templates-handlers-ZKLKFRFZ.cjs} +3 -3
- package/dist/{stripe-VU6OEG2D.cjs → stripe-2APRZHKU.cjs} +2 -2
- package/dist/{stripe-4FD27QVJ.js → stripe-7CO2ETTN.js} +1 -1
- package/dist/theme.cjs +10 -10
- package/dist/theme.js +3 -3
- package/dist/vendor-invite-status-45ZCWKCX.js +2 -0
- package/dist/{vendor-invite-status-77O7ZQ3U.cjs → vendor-invite-status-AT2E4FUA.cjs} +5 -5
- package/package.json +2 -1
- package/dist/chunk-SHUYVCID.js +0 -4
- package/dist/chunk-USNT2KNT.cjs +0 -6
- package/dist/chunk-Z5OB5QGN.js +0 -465
- package/dist/chunk-ZX5U3VCB.cjs +0 -471
- package/dist/email-queue-3QBQ63F7.js +0 -8
- package/dist/email-queue-K4E4OFI7.cjs +0 -29
- package/dist/email-service-5O24BSFR.cjs +0 -28
- package/dist/email-service-ADDF52PJ.js +0 -3
- package/dist/emit-order-notification-trigger-ROASTYQP.cjs +0 -16
- package/dist/emit-order-notification-trigger-YUQTPELC.js +0 -3
- package/dist/erp-config-enabled-CUMQ6N2V.cjs +0 -11
- package/dist/erp-config-enabled-T37X7T34.js +0 -2
- package/dist/erp-order-invoice-AZ5MX2JB.cjs +0 -28
- package/dist/erp-order-invoice-XSYHAMBS.js +0 -7
- package/dist/generate-local-invoice-pdf-BQTCL5MW.cjs +0 -12
- package/dist/generate-local-invoice-pdf-OCFG47SE.js +0 -3
- package/dist/interpolate-WAKPN56R.cjs +0 -11
- package/dist/interpolate-WDUWDF3I.js +0 -2
- package/dist/invoice-templates-GZ33OENC.js +0 -2
- package/dist/order-notification-dispatcher-6HCJ6Q75.cjs +0 -38
- package/dist/order-notification-dispatcher-KM2SY7TX.js +0 -13
- package/dist/paid-order-erp-3USEG6WL.js +0 -3
- package/dist/paid-order-erp-FSQ3GSXE.cjs +0 -12
- package/dist/pg-boss-service-BDGOKM2T.cjs +0 -15
- package/dist/pg-boss-service-WCBJD4JB.js +0 -2
- package/dist/resolve-invoice-asset-url-JEZRENJW.cjs +0 -11
- package/dist/resolve-invoice-asset-url-QZ2FRDHI.js +0 -2
- package/dist/retire-soft-deleted-unique-5VXBA5XX.cjs +0 -15
- package/dist/sms-defaults-2NL24H57.js +0 -2
- package/dist/vendor-invite-status-PWJ3DE76.js +0 -2
|
@@ -1,76 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkXHPRD45G_cjs = require('./chunk-XHPRD45G.cjs');
|
|
4
4
|
var crypto = require('crypto');
|
|
5
5
|
var typeorm = require('typeorm');
|
|
6
6
|
|
|
7
|
-
// src/plugins/sms/sms-queue.ts
|
|
8
|
-
var SMS_QUEUE_NAME = "sms";
|
|
9
|
-
function registerSmsQueueProcessor(cms) {
|
|
10
|
-
const queue = cms.getPlugin("queue");
|
|
11
|
-
const sms = cms.getPlugin("sms");
|
|
12
|
-
if (!queue || !sms || typeof sms.send !== "function") return;
|
|
13
|
-
queue.registerProcessor(SMS_QUEUE_NAME, async (data) => {
|
|
14
|
-
const payload = data;
|
|
15
|
-
if (!payload.to) return;
|
|
16
|
-
if (payload.templateKey?.trim()) {
|
|
17
|
-
await sms.send({
|
|
18
|
-
to: payload.to,
|
|
19
|
-
templateKey: payload.templateKey.trim(),
|
|
20
|
-
variables: payload.variables,
|
|
21
|
-
otpCode: payload.otpCode
|
|
22
|
-
});
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
if (!payload.body?.trim()) return;
|
|
26
|
-
await sms.send({
|
|
27
|
-
to: payload.to,
|
|
28
|
-
body: payload.body,
|
|
29
|
-
otpCode: payload.otpCode,
|
|
30
|
-
variables: payload.variables
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
chunkUSNT2KNT_cjs.__name(registerSmsQueueProcessor, "registerSmsQueueProcessor");
|
|
35
|
-
async function queueSms(cms, payload) {
|
|
36
|
-
const queue = cms.getPlugin("queue");
|
|
37
|
-
const sms = cms.getPlugin("sms");
|
|
38
|
-
if (queue) {
|
|
39
|
-
await queue.add(SMS_QUEUE_NAME, payload);
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (sms && typeof sms.send === "function") {
|
|
43
|
-
if (payload.templateKey?.trim()) {
|
|
44
|
-
await sms.send({
|
|
45
|
-
to: payload.to,
|
|
46
|
-
templateKey: payload.templateKey.trim(),
|
|
47
|
-
variables: payload.variables,
|
|
48
|
-
otpCode: payload.otpCode
|
|
49
|
-
});
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (payload.body?.trim()) {
|
|
53
|
-
await sms.send({
|
|
54
|
-
to: payload.to,
|
|
55
|
-
body: payload.body,
|
|
56
|
-
otpCode: payload.otpCode,
|
|
57
|
-
variables: payload.variables
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
chunkUSNT2KNT_cjs.__name(queueSms, "queueSms");
|
|
63
7
|
var OTP_TTL_MS = 10 * 60 * 1e3;
|
|
64
8
|
var MAX_SENDS_PER_HOUR = 5;
|
|
65
9
|
var MAX_VERIFY_ATTEMPTS = 8;
|
|
66
10
|
function getPepper(explicit) {
|
|
67
11
|
return (explicit || process.env.OTP_PEPPER || process.env.NEXTAUTH_SECRET || "dev-otp-pepper").trim();
|
|
68
12
|
}
|
|
69
|
-
|
|
13
|
+
chunkXHPRD45G_cjs.__name(getPepper, "getPepper");
|
|
70
14
|
function hashOtpCode(code, purpose, identifier, pepper) {
|
|
71
15
|
return crypto.createHmac("sha256", getPepper(pepper)).update(`${purpose}|${identifier}|${code}`).digest("hex");
|
|
72
16
|
}
|
|
73
|
-
|
|
17
|
+
chunkXHPRD45G_cjs.__name(hashOtpCode, "hashOtpCode");
|
|
74
18
|
function verifyOtpCodeHash(code, storedHash, purpose, identifier, pepper) {
|
|
75
19
|
const h = hashOtpCode(code, purpose, identifier, pepper);
|
|
76
20
|
try {
|
|
@@ -79,12 +23,12 @@ function verifyOtpCodeHash(code, storedHash, purpose, identifier, pepper) {
|
|
|
79
23
|
return false;
|
|
80
24
|
}
|
|
81
25
|
}
|
|
82
|
-
|
|
26
|
+
chunkXHPRD45G_cjs.__name(verifyOtpCodeHash, "verifyOtpCodeHash");
|
|
83
27
|
function generateNumericOtp(length = 6) {
|
|
84
28
|
const max = 10 ** length;
|
|
85
29
|
return crypto.randomInt(0, max).toString().padStart(length, "0");
|
|
86
30
|
}
|
|
87
|
-
|
|
31
|
+
chunkXHPRD45G_cjs.__name(generateNumericOtp, "generateNumericOtp");
|
|
88
32
|
function normalizePhoneE164(raw, defaultCountryCode) {
|
|
89
33
|
const t = raw.trim();
|
|
90
34
|
const digitsOnly = t.replace(/\D/g, "");
|
|
@@ -94,7 +38,7 @@ function normalizePhoneE164(raw, defaultCountryCode) {
|
|
|
94
38
|
if (digitsOnly.length > 10) return `+${digitsOnly}`;
|
|
95
39
|
return `+${cc}${digitsOnly}`;
|
|
96
40
|
}
|
|
97
|
-
|
|
41
|
+
chunkXHPRD45G_cjs.__name(normalizePhoneE164, "normalizePhoneE164");
|
|
98
42
|
async function countRecentOtpSends(dataSource, entityMap, purpose, identifier, since) {
|
|
99
43
|
const repo = dataSource.getRepository(entityMap.otp_challenges);
|
|
100
44
|
return repo.count({
|
|
@@ -105,7 +49,7 @@ async function countRecentOtpSends(dataSource, entityMap, purpose, identifier, s
|
|
|
105
49
|
}
|
|
106
50
|
});
|
|
107
51
|
}
|
|
108
|
-
|
|
52
|
+
chunkXHPRD45G_cjs.__name(countRecentOtpSends, "countRecentOtpSends");
|
|
109
53
|
async function createOtpChallenge(dataSource, entityMap, input) {
|
|
110
54
|
const { purpose, channel, identifier, code, pepper } = input;
|
|
111
55
|
const since = new Date(Date.now() - 60 * 60 * 1e3);
|
|
@@ -138,7 +82,7 @@ async function createOtpChallenge(dataSource, entityMap, input) {
|
|
|
138
82
|
ok: true
|
|
139
83
|
};
|
|
140
84
|
}
|
|
141
|
-
|
|
85
|
+
chunkXHPRD45G_cjs.__name(createOtpChallenge, "createOtpChallenge");
|
|
142
86
|
async function verifyAndConsumeOtpChallenge(dataSource, entityMap, input) {
|
|
143
87
|
const { purpose, identifier, code, pepper } = input;
|
|
144
88
|
const repo = dataSource.getRepository(entityMap.otp_challenges);
|
|
@@ -196,14 +140,12 @@ async function verifyAndConsumeOtpChallenge(dataSource, entityMap, input) {
|
|
|
196
140
|
ok: true
|
|
197
141
|
};
|
|
198
142
|
}
|
|
199
|
-
|
|
143
|
+
chunkXHPRD45G_cjs.__name(verifyAndConsumeOtpChallenge, "verifyAndConsumeOtpChallenge");
|
|
200
144
|
|
|
201
145
|
exports.countRecentOtpSends = countRecentOtpSends;
|
|
202
146
|
exports.createOtpChallenge = createOtpChallenge;
|
|
203
147
|
exports.generateNumericOtp = generateNumericOtp;
|
|
204
148
|
exports.hashOtpCode = hashOtpCode;
|
|
205
149
|
exports.normalizePhoneE164 = normalizePhoneE164;
|
|
206
|
-
exports.queueSms = queueSms;
|
|
207
|
-
exports.registerSmsQueueProcessor = registerSmsQueueProcessor;
|
|
208
150
|
exports.verifyAndConsumeOtpChallenge = verifyAndConsumeOtpChallenge;
|
|
209
151
|
exports.verifyOtpCodeHash = verifyOtpCodeHash;
|
|
@@ -1,6 +1,63 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkXHPRD45G_cjs = require('./chunk-XHPRD45G.cjs');
|
|
4
|
+
|
|
5
|
+
// src/plugins/sms/sms-queue.ts
|
|
6
|
+
var SMS_QUEUE_NAME = "sms";
|
|
7
|
+
function registerSmsQueueProcessor(cms) {
|
|
8
|
+
const queue = cms.getPlugin("queue");
|
|
9
|
+
const sms = cms.getPlugin("sms");
|
|
10
|
+
if (!queue || !sms || typeof sms.send !== "function") return;
|
|
11
|
+
queue.registerProcessor(SMS_QUEUE_NAME, async (data) => {
|
|
12
|
+
const payload = data;
|
|
13
|
+
if (!payload.to) return;
|
|
14
|
+
if (payload.templateKey?.trim()) {
|
|
15
|
+
await sms.send({
|
|
16
|
+
to: payload.to,
|
|
17
|
+
templateKey: payload.templateKey.trim(),
|
|
18
|
+
variables: payload.variables,
|
|
19
|
+
otpCode: payload.otpCode
|
|
20
|
+
});
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (!payload.body?.trim()) return;
|
|
24
|
+
await sms.send({
|
|
25
|
+
to: payload.to,
|
|
26
|
+
body: payload.body,
|
|
27
|
+
otpCode: payload.otpCode,
|
|
28
|
+
variables: payload.variables
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
chunkXHPRD45G_cjs.__name(registerSmsQueueProcessor, "registerSmsQueueProcessor");
|
|
33
|
+
async function queueSms(cms, payload) {
|
|
34
|
+
const queue = cms.getPlugin("queue");
|
|
35
|
+
const sms = cms.getPlugin("sms");
|
|
36
|
+
if (queue) {
|
|
37
|
+
await queue.add(SMS_QUEUE_NAME, payload);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (sms && typeof sms.send === "function") {
|
|
41
|
+
if (payload.templateKey?.trim()) {
|
|
42
|
+
await sms.send({
|
|
43
|
+
to: payload.to,
|
|
44
|
+
templateKey: payload.templateKey.trim(),
|
|
45
|
+
variables: payload.variables,
|
|
46
|
+
otpCode: payload.otpCode
|
|
47
|
+
});
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (payload.body?.trim()) {
|
|
51
|
+
await sms.send({
|
|
52
|
+
to: payload.to,
|
|
53
|
+
body: payload.body,
|
|
54
|
+
otpCode: payload.otpCode,
|
|
55
|
+
variables: payload.variables
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
chunkXHPRD45G_cjs.__name(queueSms, "queueSms");
|
|
4
61
|
|
|
5
62
|
// src/plugins/whatsapp/whatsapp-queue.ts
|
|
6
63
|
var WHATSAPP_QUEUE_NAME = "whatsapp";
|
|
@@ -9,7 +66,7 @@ function maskPhone(raw) {
|
|
|
9
66
|
if (digits.length <= 4) return "****";
|
|
10
67
|
return `${"*".repeat(Math.max(0, digits.length - 4))}${digits.slice(-4)}`;
|
|
11
68
|
}
|
|
12
|
-
|
|
69
|
+
chunkXHPRD45G_cjs.__name(maskPhone, "maskPhone");
|
|
13
70
|
function registerWhatsAppQueueProcessor(cms) {
|
|
14
71
|
const queue = cms.getPlugin("queue");
|
|
15
72
|
const whatsapp = cms.getPlugin("whatsapp");
|
|
@@ -56,7 +113,7 @@ function registerWhatsAppQueueProcessor(cms) {
|
|
|
56
113
|
queue: WHATSAPP_QUEUE_NAME
|
|
57
114
|
});
|
|
58
115
|
}
|
|
59
|
-
|
|
116
|
+
chunkXHPRD45G_cjs.__name(registerWhatsAppQueueProcessor, "registerWhatsAppQueueProcessor");
|
|
60
117
|
async function queueWhatsApp(cms, payload) {
|
|
61
118
|
const queue = cms.getPlugin("queue");
|
|
62
119
|
if (queue) {
|
|
@@ -80,7 +137,9 @@ async function queueWhatsApp(cms, payload) {
|
|
|
80
137
|
});
|
|
81
138
|
return false;
|
|
82
139
|
}
|
|
83
|
-
|
|
140
|
+
chunkXHPRD45G_cjs.__name(queueWhatsApp, "queueWhatsApp");
|
|
84
141
|
|
|
142
|
+
exports.queueSms = queueSms;
|
|
85
143
|
exports.queueWhatsApp = queueWhatsApp;
|
|
144
|
+
exports.registerSmsQueueProcessor = registerSmsQueueProcessor;
|
|
86
145
|
exports.registerWhatsAppQueueProcessor = registerWhatsAppQueueProcessor;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkXHPRD45G_cjs = require('./chunk-XHPRD45G.cjs');
|
|
4
4
|
|
|
5
5
|
// src/auth/permission-entities.ts
|
|
6
6
|
var PERMISSION_ENTITY_INTERNAL_EXCLUDE = /* @__PURE__ */ new Set([
|
|
@@ -37,7 +37,7 @@ var ADMIN_GROUP_NAME = "Administrator";
|
|
|
37
37
|
function isSuperAdminGroupName(name) {
|
|
38
38
|
return name === ADMIN_GROUP_NAME;
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
chunkXHPRD45G_cjs.__name(isSuperAdminGroupName, "isSuperAdminGroupName");
|
|
41
41
|
function getPermissionableEntityKeys(entityMap) {
|
|
42
42
|
const fromMap = Object.keys(entityMap).filter((k) => !PERMISSION_ENTITY_INTERNAL_EXCLUDE.has(k));
|
|
43
43
|
const logical = PERMISSION_LOGICAL_ENTITIES.filter((k) => !fromMap.includes(k));
|
|
@@ -46,11 +46,11 @@ function getPermissionableEntityKeys(entityMap) {
|
|
|
46
46
|
...logical
|
|
47
47
|
].filter((k, i, a) => a.indexOf(k) === i);
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
chunkXHPRD45G_cjs.__name(getPermissionableEntityKeys, "getPermissionableEntityKeys");
|
|
50
50
|
function permissionRowsToRecord(rows) {
|
|
51
51
|
const out = {};
|
|
52
52
|
if (!rows?.length) return out;
|
|
53
|
-
const flag = /* @__PURE__ */
|
|
53
|
+
const flag = /* @__PURE__ */ chunkXHPRD45G_cjs.__name((v) => v === true || v === 1 || v === "1" || v === "t" || v === "true", "flag");
|
|
54
54
|
for (const p of rows) {
|
|
55
55
|
out[p.entity] = {
|
|
56
56
|
c: flag(p.canCreate),
|
|
@@ -61,7 +61,7 @@ function permissionRowsToRecord(rows) {
|
|
|
61
61
|
}
|
|
62
62
|
return out;
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
chunkXHPRD45G_cjs.__name(permissionRowsToRecord, "permissionRowsToRecord");
|
|
65
65
|
function hasEntityPermission(record, entity, action) {
|
|
66
66
|
const p = record?.[entity];
|
|
67
67
|
if (!p) return false;
|
|
@@ -70,25 +70,7 @@ function hasEntityPermission(record, entity, action) {
|
|
|
70
70
|
if (action === "update") return p.u;
|
|
71
71
|
return p.d;
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// src/auth/role-helpers.ts
|
|
76
|
-
var SUPER_ADMIN_GROUP_ID = 1;
|
|
77
|
-
var VENDOR_ADMIN_GROUP_ID = 5;
|
|
78
|
-
function isSuperAdmin(user) {
|
|
79
|
-
if (!user) return false;
|
|
80
|
-
if (user.groupId === SUPER_ADMIN_GROUP_ID) return true;
|
|
81
|
-
if (user.isRBACAdmin === true) return true;
|
|
82
|
-
return isSuperAdminGroupName(user.groupName);
|
|
83
|
-
}
|
|
84
|
-
chunkUSNT2KNT_cjs.__name(isSuperAdmin, "isSuperAdmin");
|
|
85
|
-
function isVendorAdmin(user) {
|
|
86
|
-
if (!user?.email || isSuperAdmin(user)) return false;
|
|
87
|
-
if (user.groupId === VENDOR_ADMIN_GROUP_ID) return true;
|
|
88
|
-
if ((user.vendorIds?.length ?? 0) > 0) return true;
|
|
89
|
-
return isVendorGroupName(user.groupName);
|
|
90
|
-
}
|
|
91
|
-
chunkUSNT2KNT_cjs.__name(isVendorAdmin, "isVendorAdmin");
|
|
73
|
+
chunkXHPRD45G_cjs.__name(hasEntityPermission, "hasEntityPermission");
|
|
92
74
|
|
|
93
75
|
// src/auth/vendor-scope.ts
|
|
94
76
|
var DEFAULT_VENDOR_SLUG = "default";
|
|
@@ -103,7 +85,7 @@ async function resolveDefaultVendorId(dataSource) {
|
|
|
103
85
|
return null;
|
|
104
86
|
}
|
|
105
87
|
}
|
|
106
|
-
|
|
88
|
+
chunkXHPRD45G_cjs.__name(resolveDefaultVendorId, "resolveDefaultVendorId");
|
|
107
89
|
async function resolveDisabledMultiVendorScope(dataSource) {
|
|
108
90
|
const defaultVendorId = await resolveDefaultVendorId(dataSource);
|
|
109
91
|
if (defaultVendorId == null) return {
|
|
@@ -117,7 +99,7 @@ async function resolveDisabledMultiVendorScope(dataSource) {
|
|
|
117
99
|
]
|
|
118
100
|
};
|
|
119
101
|
}
|
|
120
|
-
|
|
102
|
+
chunkXHPRD45G_cjs.__name(resolveDisabledMultiVendorScope, "resolveDisabledMultiVendorScope");
|
|
121
103
|
var VENDOR_SCOPED_STORE_ENTITIES = /* @__PURE__ */ new Set([
|
|
122
104
|
"products",
|
|
123
105
|
"collections",
|
|
@@ -154,23 +136,23 @@ function isVendorGroupName(name) {
|
|
|
154
136
|
const n = name.trim().toLowerCase();
|
|
155
137
|
return n === "vendor" || n === "vendor owner" || n.includes("vendor");
|
|
156
138
|
}
|
|
157
|
-
|
|
139
|
+
chunkXHPRD45G_cjs.__name(isVendorGroupName, "isVendorGroupName");
|
|
158
140
|
function isPlatformAdministrator(user) {
|
|
159
141
|
if (!user?.email) return false;
|
|
160
142
|
return isSuperAdmin(user);
|
|
161
143
|
}
|
|
162
|
-
|
|
144
|
+
chunkXHPRD45G_cjs.__name(isPlatformAdministrator, "isPlatformAdministrator");
|
|
163
145
|
function isVendorPortalUser(user) {
|
|
164
146
|
if (user?.isVendorPortal === true) return true;
|
|
165
147
|
if (!user?.email || isPlatformAdministrator(user)) return false;
|
|
166
148
|
if (isVendorAdmin(user)) return true;
|
|
167
149
|
return isVendorGroupName(user.groupName);
|
|
168
150
|
}
|
|
169
|
-
|
|
151
|
+
chunkXHPRD45G_cjs.__name(isVendorPortalUser, "isVendorPortalUser");
|
|
170
152
|
function isVendorStaff(user) {
|
|
171
153
|
return isVendorPortalUser(user);
|
|
172
154
|
}
|
|
173
|
-
|
|
155
|
+
chunkXHPRD45G_cjs.__name(isVendorStaff, "isVendorStaff");
|
|
174
156
|
function isVendorOwner(user) {
|
|
175
157
|
if (user?.isVendorOwner === true) return true;
|
|
176
158
|
if (!user?.email || isPlatformAdministrator(user)) return false;
|
|
@@ -178,19 +160,19 @@ function isVendorOwner(user) {
|
|
|
178
160
|
if (user.vendorRole === "owner") return true;
|
|
179
161
|
return false;
|
|
180
162
|
}
|
|
181
|
-
|
|
163
|
+
chunkXHPRD45G_cjs.__name(isVendorOwner, "isVendorOwner");
|
|
182
164
|
function canManageVendorTeam(user) {
|
|
183
165
|
return isPlatformAdministrator(user) || isVendorOwner(user);
|
|
184
166
|
}
|
|
185
|
-
|
|
167
|
+
chunkXHPRD45G_cjs.__name(canManageVendorTeam, "canManageVendorTeam");
|
|
186
168
|
function canManageVendorRoles(user) {
|
|
187
169
|
return isPlatformAdministrator(user) || isVendorOwner(user);
|
|
188
170
|
}
|
|
189
|
-
|
|
171
|
+
chunkXHPRD45G_cjs.__name(canManageVendorRoles, "canManageVendorRoles");
|
|
190
172
|
function canOnboardVendors(user) {
|
|
191
173
|
return isPlatformAdministrator(user);
|
|
192
174
|
}
|
|
193
|
-
|
|
175
|
+
chunkXHPRD45G_cjs.__name(canOnboardVendors, "canOnboardVendors");
|
|
194
176
|
function resolveVendorScopeFromSessionUser(user) {
|
|
195
177
|
if (!user?.email) {
|
|
196
178
|
console.log("[ORDERS-DEBUG][RESOLVE_VENDOR_SCOPE] No user email -> deny");
|
|
@@ -221,7 +203,7 @@ function resolveVendorScopeFromSessionUser(user) {
|
|
|
221
203
|
console.log("[ORDERS-DEBUG][RESOLVE_VENDOR_SCOPE] User:", user.email, "-> scope:", res);
|
|
222
204
|
return res;
|
|
223
205
|
}
|
|
224
|
-
|
|
206
|
+
chunkXHPRD45G_cjs.__name(resolveVendorScopeFromSessionUser, "resolveVendorScopeFromSessionUser");
|
|
225
207
|
function vendorPortalFlagsFromUser(input) {
|
|
226
208
|
const vendorIds = input.vendorIds ?? [];
|
|
227
209
|
const isVendorPortal = !input.isRBACAdmin && (vendorIds.length > 0 || isVendorGroupName(input.groupName));
|
|
@@ -231,7 +213,25 @@ function vendorPortalFlagsFromUser(input) {
|
|
|
231
213
|
isVendorOwner: isVendorOwner2
|
|
232
214
|
};
|
|
233
215
|
}
|
|
234
|
-
|
|
216
|
+
chunkXHPRD45G_cjs.__name(vendorPortalFlagsFromUser, "vendorPortalFlagsFromUser");
|
|
217
|
+
|
|
218
|
+
// src/auth/role-helpers.ts
|
|
219
|
+
var SUPER_ADMIN_GROUP_ID = 1;
|
|
220
|
+
var VENDOR_ADMIN_GROUP_ID = 5;
|
|
221
|
+
function isSuperAdmin(user) {
|
|
222
|
+
if (!user) return false;
|
|
223
|
+
if (user.groupId === SUPER_ADMIN_GROUP_ID) return true;
|
|
224
|
+
if (user.isRBACAdmin === true) return true;
|
|
225
|
+
return isSuperAdminGroupName(user.groupName);
|
|
226
|
+
}
|
|
227
|
+
chunkXHPRD45G_cjs.__name(isSuperAdmin, "isSuperAdmin");
|
|
228
|
+
function isVendorAdmin(user) {
|
|
229
|
+
if (!user?.email || isSuperAdmin(user)) return false;
|
|
230
|
+
if (user.groupId === VENDOR_ADMIN_GROUP_ID) return true;
|
|
231
|
+
if ((user.vendorIds?.length ?? 0) > 0) return true;
|
|
232
|
+
return isVendorGroupName(user.groupName);
|
|
233
|
+
}
|
|
234
|
+
chunkXHPRD45G_cjs.__name(isVendorAdmin, "isVendorAdmin");
|
|
235
235
|
|
|
236
236
|
// src/lib/vendor-role-defaults.ts
|
|
237
237
|
var VENDOR_RBAC_ENTITIES = [
|
|
@@ -252,7 +252,7 @@ function full() {
|
|
|
252
252
|
canDelete: true
|
|
253
253
|
};
|
|
254
254
|
}
|
|
255
|
-
|
|
255
|
+
chunkXHPRD45G_cjs.__name(full, "full");
|
|
256
256
|
function read() {
|
|
257
257
|
return {
|
|
258
258
|
canCreate: false,
|
|
@@ -261,7 +261,7 @@ function read() {
|
|
|
261
261
|
canDelete: false
|
|
262
262
|
};
|
|
263
263
|
}
|
|
264
|
-
|
|
264
|
+
chunkXHPRD45G_cjs.__name(read, "read");
|
|
265
265
|
function none() {
|
|
266
266
|
return {
|
|
267
267
|
canCreate: false,
|
|
@@ -270,7 +270,7 @@ function none() {
|
|
|
270
270
|
canDelete: false
|
|
271
271
|
};
|
|
272
272
|
}
|
|
273
|
-
|
|
273
|
+
chunkXHPRD45G_cjs.__name(none, "none");
|
|
274
274
|
function readUpdate() {
|
|
275
275
|
return {
|
|
276
276
|
canCreate: false,
|
|
@@ -279,9 +279,9 @@ function readUpdate() {
|
|
|
279
279
|
canDelete: false
|
|
280
280
|
};
|
|
281
281
|
}
|
|
282
|
-
|
|
282
|
+
chunkXHPRD45G_cjs.__name(readUpdate, "readUpdate");
|
|
283
283
|
function storePerms(spec) {
|
|
284
|
-
const resolve = /* @__PURE__ */
|
|
284
|
+
const resolve = /* @__PURE__ */ chunkXHPRD45G_cjs.__name((v) => {
|
|
285
285
|
if (v === "full") return full();
|
|
286
286
|
if (v === "read") return read();
|
|
287
287
|
if (v === "none") return none();
|
|
@@ -293,7 +293,7 @@ function storePerms(spec) {
|
|
|
293
293
|
}
|
|
294
294
|
return out;
|
|
295
295
|
}
|
|
296
|
-
|
|
296
|
+
chunkXHPRD45G_cjs.__name(storePerms, "storePerms");
|
|
297
297
|
var DEFAULT_VENDOR_ROLE_DEFS = [
|
|
298
298
|
{
|
|
299
299
|
name: "Owner",
|
|
@@ -402,13 +402,13 @@ function isRbacDebugEnabled() {
|
|
|
402
402
|
const v = process.env.CMS_RBAC_DEBUG?.trim().toLowerCase();
|
|
403
403
|
return v === "1" || v === "true" || v === "yes";
|
|
404
404
|
}
|
|
405
|
-
|
|
405
|
+
chunkXHPRD45G_cjs.__name(isRbacDebugEnabled, "isRbacDebugEnabled");
|
|
406
406
|
function logRbac(message, data) {
|
|
407
407
|
if (!isRbacDebugEnabled()) return;
|
|
408
408
|
if (data) console.info(LOG_PREFIX, message, data);
|
|
409
409
|
else console.info(LOG_PREFIX, message);
|
|
410
410
|
}
|
|
411
|
-
|
|
411
|
+
chunkXHPRD45G_cjs.__name(logRbac, "logRbac");
|
|
412
412
|
function summarizeEntityPerms(entityPerms) {
|
|
413
413
|
const out = {};
|
|
414
414
|
if (!entityPerms) return out;
|
|
@@ -422,7 +422,7 @@ function summarizeEntityPerms(entityPerms) {
|
|
|
422
422
|
}
|
|
423
423
|
return out;
|
|
424
424
|
}
|
|
425
|
-
|
|
425
|
+
chunkXHPRD45G_cjs.__name(summarizeEntityPerms, "summarizeEntityPerms");
|
|
426
426
|
function vendorPortalFallbackReason(user, entity, action) {
|
|
427
427
|
if (!isVendorPortalUser(user)) return null;
|
|
428
428
|
if (entity === "dashboard" && action === "read") return "vendor_portal_dashboard_fallback";
|
|
@@ -434,7 +434,7 @@ function vendorPortalFallbackReason(user, entity, action) {
|
|
|
434
434
|
if (VENDOR_STORE_RBAC_ENTITIES.has(entity) && action === "read") return "vendor_portal_store_read_fallback";
|
|
435
435
|
return null;
|
|
436
436
|
}
|
|
437
|
-
|
|
437
|
+
chunkXHPRD45G_cjs.__name(vendorPortalFallbackReason, "vendorPortalFallbackReason");
|
|
438
438
|
function explainSessionEntityAccess(user, entity, action) {
|
|
439
439
|
const userSnapshot = {
|
|
440
440
|
email: user?.email ?? null,
|
|
@@ -616,7 +616,7 @@ function explainSessionEntityAccess(user, entity, action) {
|
|
|
616
616
|
userSnapshot
|
|
617
617
|
};
|
|
618
618
|
}
|
|
619
|
-
|
|
619
|
+
chunkXHPRD45G_cjs.__name(explainSessionEntityAccess, "explainSessionEntityAccess");
|
|
620
620
|
async function logEntityAccessDecision(dataSource, context, user, entity, action, extra) {
|
|
621
621
|
if (!isRbacDebugEnabled()) return;
|
|
622
622
|
const explanation = explainSessionEntityAccess(user, entity, action);
|
|
@@ -625,7 +625,7 @@ async function logEntityAccessDecision(dataSource, context, user, entity, action
|
|
|
625
625
|
const id = Number(user.id);
|
|
626
626
|
if (Number.isFinite(id)) {
|
|
627
627
|
try {
|
|
628
|
-
const { loadDbPermissionsForUser } = await import('./rbac-debug-db-
|
|
628
|
+
const { loadDbPermissionsForUser } = await import('./rbac-debug-db-S3D6N6HN.cjs');
|
|
629
629
|
dbPermissions = await loadDbPermissionsForUser(dataSource, id);
|
|
630
630
|
} catch (e) {
|
|
631
631
|
dbPermissions = {
|
|
@@ -644,7 +644,7 @@ async function logEntityAccessDecision(dataSource, context, user, entity, action
|
|
|
644
644
|
...extra
|
|
645
645
|
});
|
|
646
646
|
}
|
|
647
|
-
|
|
647
|
+
chunkXHPRD45G_cjs.__name(logEntityAccessDecision, "logEntityAccessDecision");
|
|
648
648
|
|
|
649
649
|
exports.ADMIN_GROUP_NAME = ADMIN_GROUP_NAME;
|
|
650
650
|
exports.DEFAULT_VENDOR_ROLE_DEFS = DEFAULT_VENDOR_ROLE_DEFS;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isOrderEligibleForInvoiceEmail, resolveOrderInvoicePdfBytes } from './chunk-
|
|
2
|
-
import { __name } from './chunk-
|
|
1
|
+
import { isOrderEligibleForInvoiceEmail, resolveOrderInvoicePdfBytes } from './chunk-PQJIJ4ZX.js';
|
|
2
|
+
import { __name } from './chunk-5BKT4CS5.js';
|
|
3
3
|
|
|
4
4
|
// src/plugins/email/email-queue.ts
|
|
5
5
|
var EMAIL_QUEUE_NAME = "email";
|
|
@@ -131,7 +131,7 @@ async function queueEmail(cms, payload) {
|
|
|
131
131
|
let email = cms && typeof cms.getPlugin === "function" ? cms.getPlugin("email") : void 0;
|
|
132
132
|
if (!email) {
|
|
133
133
|
try {
|
|
134
|
-
const { EmailService } = await import('./email-service-
|
|
134
|
+
const { EmailService } = await import('./email-service-6JODEMUA.js');
|
|
135
135
|
const env = typeof process !== "undefined" && process.env ? process.env : {};
|
|
136
136
|
const type = String(env.SMTP_TYPE || "SMTP").toUpperCase();
|
|
137
137
|
const port = env.SMTP_PORT ? parseInt(env.SMTP_PORT, 10) : void 0;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkK742UE6S_cjs = require('./chunk-K742UE6S.cjs');
|
|
4
|
+
var chunkXHPRD45G_cjs = require('./chunk-XHPRD45G.cjs');
|
|
5
5
|
|
|
6
6
|
// src/lib/emit-order-notification-trigger.ts
|
|
7
7
|
async function emitOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
8
8
|
if (!deps.entityMap.orders) {
|
|
9
|
-
|
|
9
|
+
chunkK742UE6S_cjs.notifyLog.skip("TRIGGER", "orders entity missing from entityMap", {
|
|
10
10
|
triggerKey,
|
|
11
11
|
orderId
|
|
12
12
|
});
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
|
-
const listenerCount =
|
|
15
|
+
const listenerCount = chunkK742UE6S_cjs.notificationTriggerEmitter.listenerCount("__any__");
|
|
16
16
|
if (listenerCount === 0) {
|
|
17
|
-
|
|
17
|
+
chunkK742UE6S_cjs.notifyLog.skip("TRIGGER", "no dispatcher listener \u2014 will try direct dispatch (pass getCms to createCmsApiHandler)", {
|
|
18
18
|
triggerKey,
|
|
19
19
|
orderId
|
|
20
20
|
});
|
|
@@ -30,7 +30,7 @@ async function emitOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
|
30
30
|
]
|
|
31
31
|
});
|
|
32
32
|
if (!fullOrder) {
|
|
33
|
-
|
|
33
|
+
chunkK742UE6S_cjs.notifyLog.skip("TRIGGER", "order not found", {
|
|
34
34
|
triggerKey,
|
|
35
35
|
orderId
|
|
36
36
|
});
|
|
@@ -38,17 +38,17 @@ async function emitOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
|
38
38
|
}
|
|
39
39
|
const fo = fullOrder;
|
|
40
40
|
const phone = fo.contact?.phone ?? null;
|
|
41
|
-
|
|
41
|
+
chunkK742UE6S_cjs.notifyLog.trigger("emit", {
|
|
42
42
|
triggerKey,
|
|
43
43
|
orderId,
|
|
44
44
|
orderNumber: fo.orderNumber ?? null,
|
|
45
|
-
phone:
|
|
45
|
+
phone: chunkK742UE6S_cjs.maskNotifyPhone(phone),
|
|
46
46
|
listeners: listenerCount,
|
|
47
47
|
vendorId: fo.vendorId ?? null,
|
|
48
48
|
source: extra?.source ?? "api"
|
|
49
49
|
});
|
|
50
50
|
if (!phone?.trim()) {
|
|
51
|
-
|
|
51
|
+
chunkK742UE6S_cjs.notifyLog.skip("WHATSAPP", "order contact has no phone", {
|
|
52
52
|
triggerKey,
|
|
53
53
|
orderId
|
|
54
54
|
});
|
|
@@ -91,15 +91,15 @@ async function emitOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
|
91
91
|
refundAmount: resolvedRefundAmount
|
|
92
92
|
};
|
|
93
93
|
if (listenerCount === 0) {
|
|
94
|
-
|
|
94
|
+
chunkK742UE6S_cjs.notifyLog.trigger("direct dispatch (no in-process listener)", {
|
|
95
95
|
triggerKey,
|
|
96
96
|
orderId
|
|
97
97
|
});
|
|
98
98
|
try {
|
|
99
|
-
const { dispatchOrderNotificationDirectly } = await import('./order-notification-dispatcher-
|
|
99
|
+
const { dispatchOrderNotificationDirectly } = await import('./order-notification-dispatcher-37KDVHBM.cjs');
|
|
100
100
|
await dispatchOrderNotificationDirectly(triggerKey, triggerPayload, deps.dataSource, deps.entityMap);
|
|
101
101
|
} catch (err) {
|
|
102
|
-
|
|
102
|
+
chunkK742UE6S_cjs.notifyLog.error("TRIGGER", "direct dispatch failed", {
|
|
103
103
|
triggerKey,
|
|
104
104
|
orderId,
|
|
105
105
|
error: err instanceof Error ? err.message : String(err),
|
|
@@ -107,23 +107,23 @@ async function emitOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
} else {
|
|
110
|
-
|
|
110
|
+
chunkK742UE6S_cjs.notifyLog.trigger("emit to dispatcher listener", {
|
|
111
111
|
triggerKey,
|
|
112
112
|
orderId,
|
|
113
113
|
listeners: listenerCount
|
|
114
114
|
});
|
|
115
|
-
|
|
115
|
+
chunkK742UE6S_cjs.notificationTriggerEmitter.emitTrigger(triggerKey, triggerPayload);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
|
|
118
|
+
chunkXHPRD45G_cjs.__name(emitOrderNotificationTrigger, "emitOrderNotificationTrigger");
|
|
119
119
|
function fireOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
120
|
-
|
|
120
|
+
chunkK742UE6S_cjs.notifyLog.trigger("FIRE", {
|
|
121
121
|
triggerKey,
|
|
122
122
|
orderId,
|
|
123
123
|
source: extra?.source ?? "api"
|
|
124
124
|
});
|
|
125
125
|
void emitOrderNotificationTrigger(triggerKey, orderId, deps, extra).catch((err) => {
|
|
126
|
-
|
|
126
|
+
chunkK742UE6S_cjs.notifyLog.error("TRIGGER", "fire failed", {
|
|
127
127
|
triggerKey,
|
|
128
128
|
orderId,
|
|
129
129
|
error: err instanceof Error ? err.message : String(err),
|
|
@@ -131,7 +131,7 @@ function fireOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
|
131
131
|
});
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
|
-
|
|
134
|
+
chunkXHPRD45G_cjs.__name(fireOrderNotificationTrigger, "fireOrderNotificationTrigger");
|
|
135
135
|
|
|
136
136
|
exports.emitOrderNotificationTrigger = emitOrderNotificationTrigger;
|
|
137
137
|
exports.fireOrderNotificationTrigger = fireOrderNotificationTrigger;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { explainSessionEntityAccess, isVendorPortalUser, logRbac } from './chunk-
|
|
2
|
-
import { __name } from './chunk-
|
|
1
|
+
import { explainSessionEntityAccess, isVendorPortalUser, logRbac } from './chunk-CJY2HUJC.js';
|
|
2
|
+
import { __name } from './chunk-5BKT4CS5.js';
|
|
3
3
|
import { IsNull } from 'typeorm';
|
|
4
4
|
|
|
5
5
|
async function linkUnclaimedContactToUser(dataSource, contactsEntity, userId, email) {
|