@infuro/cms-core 1.0.35 → 1.0.38

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 (69) hide show
  1. package/dist/admin.cjs +1222 -1024
  2. package/dist/admin.d.cts +6 -0
  3. package/dist/admin.d.ts +6 -0
  4. package/dist/admin.js +1224 -1026
  5. package/dist/api.cjs +40 -39
  6. package/dist/api.js +8 -7
  7. package/dist/auth.cjs +51 -51
  8. package/dist/auth.d.cts +3 -3
  9. package/dist/auth.d.ts +3 -3
  10. package/dist/auth.js +3 -3
  11. package/dist/chunk-22FFHLTO.cjs +2356 -0
  12. package/dist/{chunk-CNTSLED2.cjs → chunk-E6WVP7BK.cjs} +75 -14
  13. package/dist/chunk-HCIRL37O.js +21 -0
  14. package/dist/chunk-HT5DI3XW.cjs +82 -0
  15. package/dist/{chunk-EF2JBPDM.js → chunk-KFFB6EMZ.js} +9 -0
  16. package/dist/chunk-NNQBWDCI.js +2325 -0
  17. package/dist/{chunk-TIAEXJLI.cjs → chunk-OIGCAGH7.cjs} +7 -7
  18. package/dist/{chunk-4TRPKBKO.js → chunk-P7QCLE5W.js} +52 -24
  19. package/dist/{chunk-2XE4X74C.js → chunk-PYUXVU75.js} +7801 -6871
  20. package/dist/{chunk-EQPITOP6.js → chunk-SBRBR3VO.js} +70 -9
  21. package/dist/{chunk-N44BJZ4C.cjs → chunk-SPQFNIYJ.cjs} +9 -0
  22. package/dist/chunk-UCKN4BBY.cjs +24 -0
  23. package/dist/{chunk-6KPQWRFW.js → chunk-UXMDSNIG.js} +1 -1
  24. package/dist/{chunk-BGJAV67S.cjs → chunk-VJDUKAJ3.cjs} +8207 -7261
  25. package/dist/{chunk-3KPNTQBV.cjs → chunk-WMXPKKXU.cjs} +52 -23
  26. package/dist/chunk-X47PBV4I.js +79 -0
  27. package/dist/cli.cjs +4 -2
  28. package/dist/cli.js +4 -2
  29. package/dist/emit-order-notification-trigger-D2N3KFHL.cjs +16 -0
  30. package/dist/emit-order-notification-trigger-IVLWKKJL.js +3 -0
  31. package/dist/{event-order-defaults-DUGDVGJI.cjs → event-order-defaults-EMWBIGL3.cjs} +9 -9
  32. package/dist/{event-order-defaults-6E543227.js → event-order-defaults-SDRNAZHC.js} +1 -1
  33. package/dist/index.cjs +805 -1059
  34. package/dist/index.d.cts +834 -728
  35. package/dist/index.d.ts +834 -728
  36. package/dist/index.js +385 -724
  37. package/dist/migrations/1775500000000-RssFeedsAndArticles.ts +0 -1
  38. package/dist/migrations/1775700000000-JobSchedules.ts +0 -1
  39. package/dist/migrations/1781220000000-AddWhatsappTriggerBindings.ts +23 -0
  40. package/dist/migrations/1781230000000-AddOrderNotificationTriggers.ts +46 -0
  41. package/dist/migrations/1781240000000-DropEventOrderNotificationColumns.ts +29 -0
  42. package/dist/migrations/1781250000000-RemoveOrderRefundedTrigger.ts +36 -0
  43. package/dist/migrations/1781260000000-RenameWhatsappTriggerBindingsToOrderNotificationBindings.ts +92 -0
  44. package/dist/migrations/1781270000000-ComboVendorId.ts +58 -0
  45. package/dist/order-notification-dispatcher-RU7BTGGX.cjs +18 -0
  46. package/dist/order-notification-dispatcher-XWIJYDGA.js +5 -0
  47. package/dist/{rbac-debug-db-D7ME7QUY.cjs → rbac-debug-db-KHG4FJC3.cjs} +2 -2
  48. package/dist/{rbac-debug-db-MTCTVNNM.js → rbac-debug-db-QWHOENBR.js} +1 -1
  49. package/package.json +1 -1
  50. package/dist/chunk-46GKADYE.cjs +0 -84
  51. package/dist/chunk-7YIBMQDR.cjs +0 -86
  52. package/dist/chunk-J7XHLOLO.js +0 -830
  53. package/dist/chunk-JBRR5UYL.js +0 -87
  54. package/dist/chunk-JHF4YYRC.cjs +0 -188
  55. package/dist/chunk-PAMVINEX.cjs +0 -577
  56. package/dist/chunk-QM733NUK.js +0 -186
  57. package/dist/chunk-R73BKDRO.cjs +0 -90
  58. package/dist/chunk-TFUOHI37.cjs +0 -839
  59. package/dist/chunk-XDSNZUW7.js +0 -564
  60. package/dist/chunk-ZQ4X6OAU.js +0 -82
  61. package/dist/chunk-ZSVCP6N3.js +0 -83
  62. package/dist/email-FKR4FXFI.js +0 -5
  63. package/dist/email-KVKVPNCL.cjs +0 -58
  64. package/dist/event-order-notifications-5GSAOYVS.cjs +0 -27
  65. package/dist/event-order-notifications-IIIF23D5.js +0 -10
  66. package/dist/layout-36UFTHC5.cjs +0 -11
  67. package/dist/layout-AOBN26XG.js +0 -2
  68. package/dist/whatsapp-queue-3DXA4MXU.js +0 -2
  69. package/dist/whatsapp-queue-KG65MXD5.cjs +0 -15
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk3KPNTQBV_cjs = require('./chunk-3KPNTQBV.cjs');
3
+ var chunkWMXPKKXU_cjs = require('./chunk-WMXPKKXU.cjs');
4
4
  var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
5
5
 
6
6
  // src/auth/helpers.ts
@@ -10,7 +10,7 @@ var RBAC_ADMIN_ONLY_ENTITIES = /* @__PURE__ */ new Set([
10
10
  "permissions"
11
11
  ]);
12
12
  function sessionHasEntityAccess(user, entity, action) {
13
- return chunk3KPNTQBV_cjs.explainSessionEntityAccess(user, entity, action).allowed;
13
+ return chunkWMXPKKXU_cjs.explainSessionEntityAccess(user, entity, action).allowed;
14
14
  }
15
15
  chunkUSNT2KNT_cjs.__name(sessionHasEntityAccess, "sessionHasEntityAccess");
16
16
  function canManageRoles(user) {
@@ -101,8 +101,8 @@ function createAuthHelpersFromGetSession(getSession, NextResponse) {
101
101
  }
102
102
  const u = session.user;
103
103
  const allowed = sessionHasEntityAccess(u, entity, action);
104
- const { reason } = chunk3KPNTQBV_cjs.explainSessionEntityAccess(u, entity, action);
105
- chunk3KPNTQBV_cjs.logRbac("authHelpers.requireEntityPermission", {
104
+ const { reason } = chunkWMXPKKXU_cjs.explainSessionEntityAccess(u, entity, action);
105
+ chunkWMXPKKXU_cjs.logRbac("authHelpers.requireEntityPermission", {
106
106
  entity,
107
107
  action,
108
108
  allowed,
@@ -134,10 +134,10 @@ function createAuthHelpersFromGetSession(getSession, NextResponse) {
134
134
  }
135
135
  const u = session.user;
136
136
  if (u.isRBACAdmin) return null;
137
- if (chunk3KPNTQBV_cjs.isVendorPortalUser(u)) return null;
137
+ if (chunkWMXPKKXU_cjs.isVendorPortalUser(u)) return null;
138
138
  if (u.adminAccess === true) return null;
139
139
  if (u.adminAccess === false) {
140
- chunk3KPNTQBV_cjs.logRbac("requireAdminAccess denied (adminAccess:false)", {
140
+ chunkWMXPKKXU_cjs.logRbac("requireAdminAccess denied (adminAccess:false)", {
141
141
  email: u.email,
142
142
  groupName: u.groupName,
143
143
  isVendorPortal: u.isVendorPortal
@@ -149,7 +149,7 @@ function createAuthHelpersFromGetSession(getSession, NextResponse) {
149
149
  status: 403
150
150
  });
151
151
  }
152
- chunk3KPNTQBV_cjs.logRbac("requireAdminAccess denied (no matching rule)", {
152
+ chunkWMXPKKXU_cjs.logRbac("requireAdminAccess denied (no matching rule)", {
153
153
  email: u.email,
154
154
  adminAccess: u.adminAccess,
155
155
  groupName: u.groupName,
@@ -15,6 +15,8 @@ var PERMISSION_ENTITY_INTERNAL_EXCLUDE = /* @__PURE__ */ new Set([
15
15
  "wishlists",
16
16
  "wishlist_items",
17
17
  "message_templates",
18
+ "order_notification_triggers",
19
+ "order_notification_bindings",
18
20
  "vendor_users",
19
21
  "vendor_roles",
20
22
  "vendor_role_permissions"
@@ -67,7 +69,52 @@ function hasEntityPermission(record, entity, action) {
67
69
  }
68
70
  __name(hasEntityPermission, "hasEntityPermission");
69
71
 
72
+ // src/auth/role-helpers.ts
73
+ var SUPER_ADMIN_GROUP_ID = 1;
74
+ var VENDOR_ADMIN_GROUP_ID = 5;
75
+ function isSuperAdmin(user) {
76
+ if (!user) return false;
77
+ if (user.groupId === SUPER_ADMIN_GROUP_ID) return true;
78
+ if (user.isRBACAdmin === true) return true;
79
+ return isSuperAdminGroupName(user.groupName);
80
+ }
81
+ __name(isSuperAdmin, "isSuperAdmin");
82
+ function isVendorAdmin(user) {
83
+ if (!user?.email || isSuperAdmin(user)) return false;
84
+ if (user.groupId === VENDOR_ADMIN_GROUP_ID) return true;
85
+ if ((user.vendorIds?.length ?? 0) > 0) return true;
86
+ return isVendorGroupName(user.groupName);
87
+ }
88
+ __name(isVendorAdmin, "isVendorAdmin");
89
+
70
90
  // src/auth/vendor-scope.ts
91
+ var DEFAULT_VENDOR_SLUG = "default";
92
+ async function resolveDefaultVendorId(dataSource) {
93
+ try {
94
+ const rows = await dataSource.query(`SELECT id FROM vendors WHERE slug = $1 AND deleted = false LIMIT 1`, [
95
+ DEFAULT_VENDOR_SLUG
96
+ ]);
97
+ const id = rows[0]?.id;
98
+ return typeof id === "number" ? id : null;
99
+ } catch {
100
+ return null;
101
+ }
102
+ }
103
+ __name(resolveDefaultVendorId, "resolveDefaultVendorId");
104
+ async function resolveDisabledMultiVendorScope(dataSource) {
105
+ const defaultVendorId = await resolveDefaultVendorId(dataSource);
106
+ if (defaultVendorId == null) return {
107
+ type: "deny"
108
+ };
109
+ return {
110
+ type: "vendor",
111
+ vendorId: defaultVendorId,
112
+ vendorIds: [
113
+ defaultVendorId
114
+ ]
115
+ };
116
+ }
117
+ __name(resolveDisabledMultiVendorScope, "resolveDisabledMultiVendorScope");
71
118
  var VENDOR_SCOPED_STORE_ENTITIES = /* @__PURE__ */ new Set([
72
119
  "products",
73
120
  "collections",
@@ -80,7 +127,8 @@ var VENDOR_SCOPED_STORE_ENTITIES = /* @__PURE__ */ new Set([
80
127
  "vendor_customers",
81
128
  "discounts",
82
129
  "events",
83
- "refund_policies"
130
+ "refund_policies",
131
+ "combos"
84
132
  ]);
85
133
  var VENDOR_STORE_RBAC_ENTITIES = /* @__PURE__ */ new Set([
86
134
  ...VENDOR_SCOPED_STORE_ENTITIES,
@@ -164,24 +212,6 @@ function vendorPortalFlagsFromUser(input) {
164
212
  }
165
213
  __name(vendorPortalFlagsFromUser, "vendorPortalFlagsFromUser");
166
214
 
167
- // src/auth/role-helpers.ts
168
- var SUPER_ADMIN_GROUP_ID = 1;
169
- var VENDOR_ADMIN_GROUP_ID = 5;
170
- function isSuperAdmin(user) {
171
- if (!user) return false;
172
- if (user.groupId === SUPER_ADMIN_GROUP_ID) return true;
173
- if (user.isRBACAdmin === true) return true;
174
- return isSuperAdminGroupName(user.groupName);
175
- }
176
- __name(isSuperAdmin, "isSuperAdmin");
177
- function isVendorAdmin(user) {
178
- if (!user?.email || isSuperAdmin(user)) return false;
179
- if (user.groupId === VENDOR_ADMIN_GROUP_ID) return true;
180
- if ((user.vendorIds?.length ?? 0) > 0) return true;
181
- return isVendorGroupName(user.groupName);
182
- }
183
- __name(isVendorAdmin, "isVendorAdmin");
184
-
185
215
  // src/lib/vendor-role-defaults.ts
186
216
  var VENDOR_RBAC_ENTITIES = [
187
217
  ...VENDOR_STORE_RBAC_ENTITIES,
@@ -349,9 +379,7 @@ var VENDOR_VIEWER_ROLE_NAME = "Viewer";
349
379
  var LOG_PREFIX = "[cms-rbac]";
350
380
  function isRbacDebugEnabled() {
351
381
  const v = process.env.CMS_RBAC_DEBUG?.trim().toLowerCase();
352
- if (v === "1" || v === "true" || v === "yes") return true;
353
- if (v === "0" || v === "false" || v === "no") return false;
354
- return process.env.NODE_ENV === "development";
382
+ return v === "1" || v === "true" || v === "yes";
355
383
  }
356
384
  __name(isRbacDebugEnabled, "isRbacDebugEnabled");
357
385
  function logRbac(message, data) {
@@ -565,7 +593,7 @@ async function logEntityAccessDecision(dataSource, context, user, entity, action
565
593
  const id = Number(user.id);
566
594
  if (Number.isFinite(id)) {
567
595
  try {
568
- const { loadDbPermissionsForUser } = await import('./rbac-debug-db-MTCTVNNM.js');
596
+ const { loadDbPermissionsForUser } = await import('./rbac-debug-db-QWHOENBR.js');
569
597
  dbPermissions = await loadDbPermissionsForUser(dataSource, id);
570
598
  } catch (e) {
571
599
  dbPermissions = {
@@ -586,4 +614,4 @@ async function logEntityAccessDecision(dataSource, context, user, entity, action
586
614
  }
587
615
  __name(logEntityAccessDecision, "logEntityAccessDecision");
588
616
 
589
- export { ADMIN_GROUP_NAME, DEFAULT_VENDOR_ROLE_DEFS, SUPER_ADMIN_GROUP_ID, VENDOR_ADMIN_GROUP_ID, VENDOR_OWNER_GROUP_NAME, VENDOR_RBAC_ENTITIES, VENDOR_SCOPED_STORE_ENTITIES, VENDOR_STORE_RBAC_ENTITIES, VENDOR_VIEWER_ROLE_NAME, canManageVendorRoles, canManageVendorTeam, canOnboardVendors, explainSessionEntityAccess, getPermissionableEntityKeys, hasEntityPermission, isPlatformAdministrator, isRbacDebugEnabled, isSuperAdmin, isSuperAdminGroupName, isVendorAdmin, isVendorGroupName, isVendorOwner, isVendorPortalUser, isVendorStaff, logEntityAccessDecision, logRbac, permissionRowsToRecord, resolveVendorScopeFromSessionUser, summarizeEntityPerms, vendorPortalFlagsFromUser };
617
+ export { ADMIN_GROUP_NAME, DEFAULT_VENDOR_ROLE_DEFS, SUPER_ADMIN_GROUP_ID, VENDOR_ADMIN_GROUP_ID, VENDOR_OWNER_GROUP_NAME, VENDOR_RBAC_ENTITIES, VENDOR_SCOPED_STORE_ENTITIES, VENDOR_STORE_RBAC_ENTITIES, VENDOR_VIEWER_ROLE_NAME, canManageVendorRoles, canManageVendorTeam, canOnboardVendors, explainSessionEntityAccess, getPermissionableEntityKeys, hasEntityPermission, isPlatformAdministrator, isRbacDebugEnabled, isSuperAdmin, isSuperAdminGroupName, isVendorAdmin, isVendorGroupName, isVendorOwner, isVendorPortalUser, isVendorStaff, logEntityAccessDecision, logRbac, permissionRowsToRecord, resolveDisabledMultiVendorScope, resolveVendorScopeFromSessionUser, summarizeEntityPerms, vendorPortalFlagsFromUser };