@infuro/cms-core 1.0.41 → 1.0.42

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.
@@ -409,6 +409,9 @@ function vendorPortalFallbackReason(user, entity, action) {
409
409
  if (entity === "dashboard" && action === "read") return "vendor_portal_dashboard_fallback";
410
410
  if (entity === "analytics" && action === "read") return "vendor_portal_analytics_fallback";
411
411
  if (entity === "settings" && action === "read") return "vendor_portal_settings_read_fallback";
412
+ if (entity === "upload" && (action === "create" || action === "read")) {
413
+ return "vendor_portal_upload_fallback";
414
+ }
412
415
  if (VENDOR_STORE_RBAC_ENTITIES.has(entity) && action === "read") return "vendor_portal_store_read_fallback";
413
416
  return null;
414
417
  }
@@ -449,6 +452,13 @@ function explainSessionEntityAccess(user, entity, action) {
449
452
  userSnapshot
450
453
  };
451
454
  }
455
+ if ((isVendorPortalUser(user) || (user.vendorIds?.length ?? 0) > 0) && entity === "upload" && (action === "create" || action === "read")) {
456
+ return {
457
+ allowed: true,
458
+ reason: "vendor_portal_upload",
459
+ userSnapshot
460
+ };
461
+ }
452
462
  const vendorIds = user.vendorIds ?? [];
453
463
  const isStaff = user.vendorRole === "staff";
454
464
  const vendorPerms = user.vendorEntityPerms;
@@ -595,7 +605,7 @@ async function logEntityAccessDecision(dataSource, context, user, entity, action
595
605
  const id = Number(user.id);
596
606
  if (Number.isFinite(id)) {
597
607
  try {
598
- const { loadDbPermissionsForUser } = await import('./rbac-debug-db-KHG4FJC3.cjs');
608
+ const { loadDbPermissionsForUser } = await import('./rbac-debug-db-4Z6A425H.cjs');
599
609
  dbPermissions = await loadDbPermissionsForUser(dataSource, id);
600
610
  } catch (e) {
601
611
  dbPermissions = {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWMXPKKXU_cjs = require('./chunk-WMXPKKXU.cjs');
3
+ var chunkX6UQFV4X_cjs = require('./chunk-X6UQFV4X.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 chunkWMXPKKXU_cjs.explainSessionEntityAccess(user, entity, action).allowed;
13
+ return chunkX6UQFV4X_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 } = chunkWMXPKKXU_cjs.explainSessionEntityAccess(u, entity, action);
105
- chunkWMXPKKXU_cjs.logRbac("authHelpers.requireEntityPermission", {
104
+ const { reason } = chunkX6UQFV4X_cjs.explainSessionEntityAccess(u, entity, action);
105
+ chunkX6UQFV4X_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 (chunkWMXPKKXU_cjs.isVendorPortalUser(u)) return null;
137
+ if (chunkX6UQFV4X_cjs.isVendorPortalUser(u)) return null;
138
138
  if (u.adminAccess === true) return null;
139
139
  if (u.adminAccess === false) {
140
- chunkWMXPKKXU_cjs.logRbac("requireAdminAccess denied (adminAccess:false)", {
140
+ chunkX6UQFV4X_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
- chunkWMXPKKXU_cjs.logRbac("requireAdminAccess denied (no matching rule)", {
152
+ chunkX6UQFV4X_cjs.logRbac("requireAdminAccess denied (no matching rule)", {
153
153
  email: u.email,
154
154
  adminAccess: u.adminAccess,
155
155
  groupName: u.groupName,