@infuro/cms-core 1.0.41 → 1.0.43
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/README.md +5 -18
- package/dist/admin.cjs +959 -303
- package/dist/admin.d.cts +14 -2
- package/dist/admin.d.ts +14 -2
- package/dist/admin.js +959 -303
- package/dist/api.cjs +35 -35
- package/dist/api.js +3 -3
- package/dist/auth.cjs +51 -51
- package/dist/auth.js +3 -3
- package/dist/{chunk-UXMDSNIG.js → chunk-BLR6H5GL.js} +1 -1
- package/dist/{chunk-P7QCLE5W.js → chunk-DN65KDIA.js} +11 -1
- package/dist/{chunk-4BG7XYSH.js → chunk-I6NH72MO.js} +1 -1
- package/dist/{chunk-EG4ICILK.js → chunk-IX7X4ILO.js} +811 -143
- package/dist/{chunk-QU554KAZ.cjs → chunk-SCPKMZG5.cjs} +862 -182
- package/dist/{chunk-ETZN4OQI.cjs → chunk-TAHX46EI.cjs} +6 -6
- package/dist/{chunk-WMXPKKXU.cjs → chunk-X6UQFV4X.cjs} +11 -1
- package/dist/{chunk-OIGCAGH7.cjs → chunk-ZMRQ72F6.cjs} +7 -7
- package/dist/index.cjs +290 -242
- package/dist/index.d.cts +110 -5
- package/dist/index.d.ts +110 -5
- package/dist/index.js +6 -6
- package/dist/migrations/1781300000000-BrandIsCatalog.ts +61 -0
- package/dist/migrations/1781400000000-ComboEventIdNullable.ts +30 -0
- package/dist/migrations/1781500000000-ProductApprovalWorkflow.ts +30 -0
- package/dist/migrations/1781600000000-ProductApprovalStatusColumn.ts +53 -0
- package/dist/migrations/1781700000000-EventApprovalWorkflow.ts +32 -0
- package/dist/{rbac-debug-db-QWHOENBR.js → rbac-debug-db-2SGNLANF.js} +1 -1
- package/dist/{rbac-debug-db-KHG4FJC3.cjs → rbac-debug-db-4Z6A425H.cjs} +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkX6UQFV4X_cjs = require('./chunk-X6UQFV4X.cjs');
|
|
4
4
|
var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
|
|
5
5
|
var jwt = require('next-auth/jwt');
|
|
6
6
|
var _CredentialsProvider = require('next-auth/providers/credentials');
|
|
@@ -11,12 +11,12 @@ var _CredentialsProvider__default = /*#__PURE__*/_interopDefault(_CredentialsPro
|
|
|
11
11
|
|
|
12
12
|
// src/auth/seed-permissions.ts
|
|
13
13
|
async function seedAdministratorPermissions(dataSource, entityMap) {
|
|
14
|
-
const entities =
|
|
14
|
+
const entities = chunkX6UQFV4X_cjs.getPermissionableEntityKeys(entityMap);
|
|
15
15
|
const groupRepo = dataSource.getRepository(entityMap.user_groups);
|
|
16
16
|
const permRepo = dataSource.getRepository(entityMap.permissions);
|
|
17
17
|
const adminGroup = await groupRepo.findOne({
|
|
18
18
|
where: {
|
|
19
|
-
name:
|
|
19
|
+
name: chunkX6UQFV4X_cjs.ADMIN_GROUP_NAME,
|
|
20
20
|
deleted: false
|
|
21
21
|
}
|
|
22
22
|
});
|
|
@@ -299,18 +299,18 @@ async function checkMultiVendorEnabledViaSettingsApi() {
|
|
|
299
299
|
chunkUSNT2KNT_cjs.__name(checkMultiVendorEnabledViaSettingsApi, "checkMultiVendorEnabledViaSettingsApi");
|
|
300
300
|
function sessionUserFromNextAuthUser(user) {
|
|
301
301
|
const g = user.group;
|
|
302
|
-
const isRBACAdmin =
|
|
302
|
+
const isRBACAdmin = chunkX6UQFV4X_cjs.isSuperAdmin({
|
|
303
303
|
groupId: user.groupId ?? void 0,
|
|
304
304
|
groupName: g?.name,
|
|
305
305
|
isRBACAdmin: false
|
|
306
306
|
});
|
|
307
|
-
const entityPerms =
|
|
307
|
+
const entityPerms = chunkX6UQFV4X_cjs.permissionRowsToRecord(g?.permissions);
|
|
308
308
|
const rawAdminAccess = user.adminAccess;
|
|
309
309
|
const adminAccess = rawAdminAccess === true ? true : rawAdminAccess === false ? false : void 0;
|
|
310
310
|
const vendorIds = user.vendorIds ?? [];
|
|
311
311
|
const vendorRole = user.vendorRole ?? null;
|
|
312
312
|
const isVendorRoleOwner = user.isVendorRoleOwner ?? false;
|
|
313
|
-
const { isVendorPortal, isVendorOwner: isVendorOwner2 } =
|
|
313
|
+
const { isVendorPortal, isVendorOwner: isVendorOwner2 } = chunkX6UQFV4X_cjs.vendorPortalFlagsFromUser({
|
|
314
314
|
email: user.email,
|
|
315
315
|
isRBACAdmin,
|
|
316
316
|
groupName: g?.name,
|
|
@@ -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-
|
|
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
|
|
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
|
|
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 } =
|
|
105
|
-
|
|
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 (
|
|
137
|
+
if (chunkX6UQFV4X_cjs.isVendorPortalUser(u)) return null;
|
|
138
138
|
if (u.adminAccess === true) return null;
|
|
139
139
|
if (u.adminAccess === false) {
|
|
140
|
-
|
|
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
|
-
|
|
152
|
+
chunkX6UQFV4X_cjs.logRbac("requireAdminAccess denied (no matching rule)", {
|
|
153
153
|
email: u.email,
|
|
154
154
|
adminAccess: u.adminAccess,
|
|
155
155
|
groupName: u.groupName,
|