@infuro/cms-core 1.0.69 → 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.
Files changed (37) hide show
  1. package/dist/admin.cjs +2831 -2680
  2. package/dist/admin.js +1590 -1439
  3. package/dist/api.cjs +41 -41
  4. package/dist/api.js +8 -8
  5. package/dist/auth.cjs +51 -51
  6. package/dist/auth.js +3 -3
  7. package/dist/{chunk-RBKVMHBH.js → chunk-3LF4RYAJ.js} +353 -23
  8. package/dist/{chunk-DBBYLSQP.js → chunk-7NQMGB2S.js} +136 -25
  9. package/dist/{chunk-DWNQTFJ5.js → chunk-CJY2HUJC.js} +19 -19
  10. package/dist/{chunk-SWSTGV4F.cjs → chunk-CKTRA3Q2.cjs} +9 -9
  11. package/dist/{chunk-53AMBXMM.js → chunk-ECUGNV2I.js} +1 -57
  12. package/dist/{chunk-QXAQ3V7R.cjs → chunk-FNLF6G2N.cjs} +7 -7
  13. package/dist/{chunk-T47VP2ZT.js → chunk-HZZTDM5J.js} +2 -2
  14. package/dist/{chunk-3XCTGADT.js → chunk-K6JT7BKY.js} +58 -1
  15. package/dist/{chunk-M5QDJOUP.cjs → chunk-K742UE6S.cjs} +1 -0
  16. package/dist/{chunk-6MM5OMRL.cjs → chunk-KB7EBYPR.cjs} +0 -58
  17. package/dist/{chunk-OXFC3DAM.cjs → chunk-KJB5LBFQ.cjs} +59 -0
  18. package/dist/{chunk-LXWF6T7F.cjs → chunk-LCZZ3S4I.cjs} +19 -19
  19. package/dist/{chunk-HGR4IA7I.cjs → chunk-NIBEGDD4.cjs} +15 -15
  20. package/dist/{chunk-D4LR3S77.js → chunk-NQF6H656.js} +1 -1
  21. package/dist/{chunk-QL44NCZC.cjs → chunk-OP624LWU.cjs} +222 -111
  22. package/dist/{chunk-MJDNS324.js → chunk-SCE2GIKH.js} +2 -2
  23. package/dist/{chunk-747MJJCZ.cjs → chunk-TTOEY7AH.cjs} +404 -74
  24. package/dist/{chunk-WHMIWJL7.js → chunk-W2ZTGLUH.js} +1 -0
  25. package/dist/{emit-order-notification-trigger-X36V4DOH.cjs → emit-order-notification-trigger-I4HQSTEN.cjs} +4 -4
  26. package/dist/{emit-order-notification-trigger-XKN2TWVF.js → emit-order-notification-trigger-TBXAZAPS.js} +2 -2
  27. package/dist/index.cjs +330 -330
  28. package/dist/index.js +13 -13
  29. package/dist/{order-assignees-handlers-JEJ5IDID.cjs → order-assignees-handlers-E6PQZP4H.cjs} +22 -3
  30. package/dist/{order-assignees-handlers-F7WOZHOG.js → order-assignees-handlers-YCT3Q3KC.js} +22 -3
  31. package/dist/{order-completion-otp-handlers-LNAZTMTS.cjs → order-completion-otp-handlers-2ZKRK5SN.cjs} +10 -10
  32. package/dist/{order-completion-otp-handlers-FIW7PZ6W.js → order-completion-otp-handlers-KHLZQQJX.js} +4 -4
  33. package/dist/{order-notification-dispatcher-GG5C4LKZ.cjs → order-notification-dispatcher-37KDVHBM.cjs} +8 -8
  34. package/dist/{order-notification-dispatcher-FS54ANAV.js → order-notification-dispatcher-Z3MXNF4U.js} +3 -3
  35. package/dist/{rbac-debug-db-IRKT6G62.js → rbac-debug-db-JK3U5UZK.js} +1 -1
  36. package/dist/{rbac-debug-db-2ZI3XKA4.cjs → rbac-debug-db-S3D6N6HN.cjs} +2 -2
  37. package/package.json +1 -1
@@ -4,62 +4,6 @@ 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
- chunkXHPRD45G_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
- chunkXHPRD45G_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;
@@ -203,7 +147,5 @@ 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;
@@ -2,6 +2,63 @@
2
2
 
3
3
  var chunkXHPRD45G_cjs = require('./chunk-XHPRD45G.cjs');
4
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");
61
+
5
62
  // src/plugins/whatsapp/whatsapp-queue.ts
6
63
  var WHATSAPP_QUEUE_NAME = "whatsapp";
7
64
  function maskPhone(raw) {
@@ -82,5 +139,7 @@ async function queueWhatsApp(cms, payload) {
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;
@@ -72,24 +72,6 @@ function hasEntityPermission(record, entity, action) {
72
72
  }
73
73
  chunkXHPRD45G_cjs.__name(hasEntityPermission, "hasEntityPermission");
74
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
- chunkXHPRD45G_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
- chunkXHPRD45G_cjs.__name(isVendorAdmin, "isVendorAdmin");
92
-
93
75
  // src/auth/vendor-scope.ts
94
76
  var DEFAULT_VENDOR_SLUG = "default";
95
77
  async function resolveDefaultVendorId(dataSource) {
@@ -233,6 +215,24 @@ function vendorPortalFlagsFromUser(input) {
233
215
  }
234
216
  chunkXHPRD45G_cjs.__name(vendorPortalFlagsFromUser, "vendorPortalFlagsFromUser");
235
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
+
236
236
  // src/lib/vendor-role-defaults.ts
237
237
  var VENDOR_RBAC_ENTITIES = [
238
238
  ...VENDOR_STORE_RBAC_ENTITIES,
@@ -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-2ZI3XKA4.cjs');
628
+ const { loadDbPermissionsForUser } = await import('./rbac-debug-db-S3D6N6HN.cjs');
629
629
  dbPermissions = await loadDbPermissionsForUser(dataSource, id);
630
630
  } catch (e) {
631
631
  dbPermissions = {
@@ -1,20 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunkM5QDJOUP_cjs = require('./chunk-M5QDJOUP.cjs');
3
+ var chunkK742UE6S_cjs = require('./chunk-K742UE6S.cjs');
4
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
- chunkM5QDJOUP_cjs.notifyLog.skip("TRIGGER", "orders entity missing from entityMap", {
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 = chunkM5QDJOUP_cjs.notificationTriggerEmitter.listenerCount("__any__");
15
+ const listenerCount = chunkK742UE6S_cjs.notificationTriggerEmitter.listenerCount("__any__");
16
16
  if (listenerCount === 0) {
17
- chunkM5QDJOUP_cjs.notifyLog.skip("TRIGGER", "no dispatcher listener \u2014 will try direct dispatch (pass getCms to createCmsApiHandler)", {
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
- chunkM5QDJOUP_cjs.notifyLog.skip("TRIGGER", "order not found", {
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
- chunkM5QDJOUP_cjs.notifyLog.trigger("emit", {
41
+ chunkK742UE6S_cjs.notifyLog.trigger("emit", {
42
42
  triggerKey,
43
43
  orderId,
44
44
  orderNumber: fo.orderNumber ?? null,
45
- phone: chunkM5QDJOUP_cjs.maskNotifyPhone(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
- chunkM5QDJOUP_cjs.notifyLog.skip("WHATSAPP", "order contact has no phone", {
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
- chunkM5QDJOUP_cjs.notifyLog.trigger("direct dispatch (no in-process listener)", {
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-GG5C4LKZ.cjs');
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
- chunkM5QDJOUP_cjs.notifyLog.error("TRIGGER", "direct dispatch failed", {
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
- chunkM5QDJOUP_cjs.notifyLog.trigger("emit to dispatcher listener", {
110
+ chunkK742UE6S_cjs.notifyLog.trigger("emit to dispatcher listener", {
111
111
  triggerKey,
112
112
  orderId,
113
113
  listeners: listenerCount
114
114
  });
115
- chunkM5QDJOUP_cjs.notificationTriggerEmitter.emitTrigger(triggerKey, triggerPayload);
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
- chunkM5QDJOUP_cjs.notifyLog.trigger("FIRE", {
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
- chunkM5QDJOUP_cjs.notifyLog.error("TRIGGER", "fire failed", {
126
+ chunkK742UE6S_cjs.notifyLog.error("TRIGGER", "fire failed", {
127
127
  triggerKey,
128
128
  orderId,
129
129
  error: err instanceof Error ? err.message : String(err),
@@ -1,4 +1,4 @@
1
- import { explainSessionEntityAccess, isVendorPortalUser, logRbac } from './chunk-DWNQTFJ5.js';
1
+ import { explainSessionEntityAccess, isVendorPortalUser, logRbac } from './chunk-CJY2HUJC.js';
2
2
  import { __name } from './chunk-5BKT4CS5.js';
3
3
  import { IsNull } from 'typeorm';
4
4