@infuro/cms-core 1.0.47 → 1.0.50

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 (34) hide show
  1. package/README.md +30 -16
  2. package/dist/admin.cjs +1172 -38
  3. package/dist/admin.js +1173 -39
  4. package/dist/api.cjs +37 -37
  5. package/dist/api.js +5 -5
  6. package/dist/auth.cjs +52 -23
  7. package/dist/auth.d.cts +101 -2
  8. package/dist/auth.d.ts +101 -2
  9. package/dist/auth.js +3 -2
  10. package/dist/chunk-3EOM4V2M.cjs +452 -0
  11. package/dist/{chunk-2HU5R2JE.js → chunk-AYERBA7I.js} +1 -7
  12. package/dist/{chunk-YXH2UUEZ.js → chunk-IPDHT2UV.js} +257 -16
  13. package/dist/{chunk-XUCKZPML.cjs → chunk-JCMOOPNX.cjs} +2696 -2601
  14. package/dist/{chunk-W42UZLQO.js → chunk-LT2WOPKA.js} +2642 -2540
  15. package/dist/chunk-RK5ETF2I.js +434 -0
  16. package/dist/{chunk-4PMK3RNA.cjs → chunk-TJ2MIQUT.cjs} +1 -7
  17. package/dist/{chunk-LMJ7RKPF.cjs → chunk-UUWAUHUW.cjs} +279 -16
  18. package/dist/{chunk-YC4NUZCS.js → chunk-WRKV6MHB.js} +414 -2
  19. package/dist/{chunk-Q3HQEM4R.cjs → chunk-YV5PK4JW.cjs} +421 -1
  20. package/dist/cli.cjs +13 -22
  21. package/dist/cli.js +13 -22
  22. package/dist/{event-order-defaults-7Z3UZOEH.cjs → event-order-defaults-DU7V3YND.cjs} +9 -9
  23. package/dist/{event-order-defaults-XQ3IDPD7.js → event-order-defaults-H4RT7NMR.js} +1 -1
  24. package/dist/index.cjs +327 -291
  25. package/dist/index.d.cts +132 -5
  26. package/dist/index.d.ts +132 -5
  27. package/dist/index.js +8 -8
  28. package/dist/migrations/1782400000000-CreateUserDeviceTokens.ts +36 -0
  29. package/dist/migrations/1782500000000-AddPushToOrderNotificationBindingsChannelEnum.ts +15 -0
  30. package/dist/{order-notification-dispatcher-6WNG24NY.js → order-notification-dispatcher-3TA4ETYJ.js} +1 -1
  31. package/dist/{order-notification-dispatcher-6XSU3AR7.cjs → order-notification-dispatcher-ZEAZ5SHV.cjs} +7 -3
  32. package/package.json +1 -1
  33. package/dist/chunk-VUQFARRT.cjs +0 -182
  34. package/dist/chunk-ZF2RQWXB.js +0 -171
@@ -1,182 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk77NUXO6A_cjs = require('./chunk-77NUXO6A.cjs');
4
- var chunkUSNT2KNT_cjs = require('./chunk-USNT2KNT.cjs');
5
-
6
- // src/auth/helpers.ts
7
- var RBAC_ADMIN_ONLY_ENTITIES = /* @__PURE__ */ new Set([
8
- "users",
9
- "user_groups",
10
- "permissions"
11
- ]);
12
- function sessionHasEntityAccess(user, entity, action) {
13
- return chunk77NUXO6A_cjs.explainSessionEntityAccess(user, entity, action).allowed;
14
- }
15
- chunkUSNT2KNT_cjs.__name(sessionHasEntityAccess, "sessionHasEntityAccess");
16
- function canManageRoles(user) {
17
- return !!(user?.email && user.isRBACAdmin);
18
- }
19
- chunkUSNT2KNT_cjs.__name(canManageRoles, "canManageRoles");
20
- var OPEN_ENDPOINTS = [
21
- {
22
- "/api/contacts": [
23
- "POST"
24
- ]
25
- },
26
- {
27
- "/api/form-submissions": [
28
- "POST"
29
- ]
30
- },
31
- {
32
- "/api/blogs": [
33
- "GET"
34
- ]
35
- }
36
- ];
37
- var PERMISSION_REQUIRED_ENDPOINTS = {};
38
- function isOpenEndpoint(pathname) {
39
- return OPEN_ENDPOINTS.some((endpoint) => pathname.startsWith(Object.keys(endpoint)[0]));
40
- }
41
- chunkUSNT2KNT_cjs.__name(isOpenEndpoint, "isOpenEndpoint");
42
- function getRequiredPermission(pathname) {
43
- return null;
44
- }
45
- chunkUSNT2KNT_cjs.__name(getRequiredPermission, "getRequiredPermission");
46
- function isPublicMethod(pathname, method) {
47
- for (const endpoint of OPEN_ENDPOINTS) {
48
- const key = Object.keys(endpoint)[0];
49
- if (pathname.startsWith(key) && endpoint[key].includes(method)) return true;
50
- }
51
- return false;
52
- }
53
- chunkUSNT2KNT_cjs.__name(isPublicMethod, "isPublicMethod");
54
- function createAuthHelpers(getSession, NextResponse) {
55
- return createAuthHelpersFromGetSession(getSession, NextResponse);
56
- }
57
- chunkUSNT2KNT_cjs.__name(createAuthHelpers, "createAuthHelpers");
58
- function createCmsAuthBundle(getSession, NextResponse) {
59
- const auth = createAuthHelpers(getSession, NextResponse);
60
- return {
61
- requireAuth: auth.requireAuth,
62
- requireAdminAccess: auth.requireAdminAccess,
63
- requireEntityPermission: auth.requireEntityPermission,
64
- getSessionUser: auth.getAuthenticatedUser,
65
- getAuthenticatedUser: auth.getAuthenticatedUser
66
- };
67
- }
68
- chunkUSNT2KNT_cjs.__name(createCmsAuthBundle, "createCmsAuthBundle");
69
- function createAuthHelpersFromGetSession(getSession, NextResponse) {
70
- return {
71
- async requireAuth(_req) {
72
- const session = await getSession();
73
- if (!session?.user?.email) {
74
- return NextResponse.json({
75
- error: "Unauthorized"
76
- }, {
77
- status: 401
78
- });
79
- }
80
- return null;
81
- },
82
- async requirePermission(_req, _permission) {
83
- const session = await getSession();
84
- if (!session?.user?.email) {
85
- return NextResponse.json({
86
- error: "Unauthorized"
87
- }, {
88
- status: 401
89
- });
90
- }
91
- return null;
92
- },
93
- async requireEntityPermission(_req, entity, action) {
94
- const session = await getSession();
95
- if (!session?.user?.email) {
96
- return NextResponse.json({
97
- error: "Unauthorized"
98
- }, {
99
- status: 401
100
- });
101
- }
102
- const u = session.user;
103
- const allowed = sessionHasEntityAccess(u, entity, action);
104
- const { reason } = chunk77NUXO6A_cjs.explainSessionEntityAccess(u, entity, action);
105
- chunk77NUXO6A_cjs.logRbac("authHelpers.requireEntityPermission", {
106
- entity,
107
- action,
108
- allowed,
109
- reason,
110
- email: u.email,
111
- groupName: u.groupName,
112
- vendorIds: u.vendorIds,
113
- isVendorPortal: u.isVendorPortal,
114
- isVendorOwner: u.isVendorOwner
115
- });
116
- if (allowed) return null;
117
- return NextResponse.json({
118
- error: "Forbidden",
119
- entity,
120
- action,
121
- reason
122
- }, {
123
- status: 403
124
- });
125
- },
126
- async requireAdminAccess(_req) {
127
- const session = await getSession();
128
- if (!session?.user?.email) {
129
- return NextResponse.json({
130
- error: "Unauthorized"
131
- }, {
132
- status: 401
133
- });
134
- }
135
- const u = session.user;
136
- if (u.isRBACAdmin) return null;
137
- if (chunk77NUXO6A_cjs.isVendorPortalUser(u)) return null;
138
- if (u.adminAccess === true) return null;
139
- if (u.adminAccess === false) {
140
- chunk77NUXO6A_cjs.logRbac("requireAdminAccess denied (adminAccess:false)", {
141
- email: u.email,
142
- groupName: u.groupName,
143
- isVendorPortal: u.isVendorPortal
144
- });
145
- return NextResponse.json({
146
- error: "Forbidden",
147
- reason: "admin_access"
148
- }, {
149
- status: 403
150
- });
151
- }
152
- chunk77NUXO6A_cjs.logRbac("requireAdminAccess denied (no matching rule)", {
153
- email: u.email,
154
- adminAccess: u.adminAccess,
155
- groupName: u.groupName,
156
- isVendorPortal: u.isVendorPortal
157
- });
158
- return NextResponse.json({
159
- error: "Forbidden",
160
- reason: "admin_access"
161
- }, {
162
- status: 403
163
- });
164
- },
165
- async getAuthenticatedUser() {
166
- const session = await getSession();
167
- return session?.user ?? null;
168
- }
169
- };
170
- }
171
- chunkUSNT2KNT_cjs.__name(createAuthHelpersFromGetSession, "createAuthHelpersFromGetSession");
172
-
173
- exports.OPEN_ENDPOINTS = OPEN_ENDPOINTS;
174
- exports.PERMISSION_REQUIRED_ENDPOINTS = PERMISSION_REQUIRED_ENDPOINTS;
175
- exports.RBAC_ADMIN_ONLY_ENTITIES = RBAC_ADMIN_ONLY_ENTITIES;
176
- exports.canManageRoles = canManageRoles;
177
- exports.createAuthHelpers = createAuthHelpers;
178
- exports.createCmsAuthBundle = createCmsAuthBundle;
179
- exports.getRequiredPermission = getRequiredPermission;
180
- exports.isOpenEndpoint = isOpenEndpoint;
181
- exports.isPublicMethod = isPublicMethod;
182
- exports.sessionHasEntityAccess = sessionHasEntityAccess;
@@ -1,171 +0,0 @@
1
- import { explainSessionEntityAccess, isVendorPortalUser, logRbac } from './chunk-JIWUVQ6B.js';
2
- import { __name } from './chunk-SHUYVCID.js';
3
-
4
- // src/auth/helpers.ts
5
- var RBAC_ADMIN_ONLY_ENTITIES = /* @__PURE__ */ new Set([
6
- "users",
7
- "user_groups",
8
- "permissions"
9
- ]);
10
- function sessionHasEntityAccess(user, entity, action) {
11
- return explainSessionEntityAccess(user, entity, action).allowed;
12
- }
13
- __name(sessionHasEntityAccess, "sessionHasEntityAccess");
14
- function canManageRoles(user) {
15
- return !!(user?.email && user.isRBACAdmin);
16
- }
17
- __name(canManageRoles, "canManageRoles");
18
- var OPEN_ENDPOINTS = [
19
- {
20
- "/api/contacts": [
21
- "POST"
22
- ]
23
- },
24
- {
25
- "/api/form-submissions": [
26
- "POST"
27
- ]
28
- },
29
- {
30
- "/api/blogs": [
31
- "GET"
32
- ]
33
- }
34
- ];
35
- var PERMISSION_REQUIRED_ENDPOINTS = {};
36
- function isOpenEndpoint(pathname) {
37
- return OPEN_ENDPOINTS.some((endpoint) => pathname.startsWith(Object.keys(endpoint)[0]));
38
- }
39
- __name(isOpenEndpoint, "isOpenEndpoint");
40
- function getRequiredPermission(pathname) {
41
- return null;
42
- }
43
- __name(getRequiredPermission, "getRequiredPermission");
44
- function isPublicMethod(pathname, method) {
45
- for (const endpoint of OPEN_ENDPOINTS) {
46
- const key = Object.keys(endpoint)[0];
47
- if (pathname.startsWith(key) && endpoint[key].includes(method)) return true;
48
- }
49
- return false;
50
- }
51
- __name(isPublicMethod, "isPublicMethod");
52
- function createAuthHelpers(getSession, NextResponse) {
53
- return createAuthHelpersFromGetSession(getSession, NextResponse);
54
- }
55
- __name(createAuthHelpers, "createAuthHelpers");
56
- function createCmsAuthBundle(getSession, NextResponse) {
57
- const auth = createAuthHelpers(getSession, NextResponse);
58
- return {
59
- requireAuth: auth.requireAuth,
60
- requireAdminAccess: auth.requireAdminAccess,
61
- requireEntityPermission: auth.requireEntityPermission,
62
- getSessionUser: auth.getAuthenticatedUser,
63
- getAuthenticatedUser: auth.getAuthenticatedUser
64
- };
65
- }
66
- __name(createCmsAuthBundle, "createCmsAuthBundle");
67
- function createAuthHelpersFromGetSession(getSession, NextResponse) {
68
- return {
69
- async requireAuth(_req) {
70
- const session = await getSession();
71
- if (!session?.user?.email) {
72
- return NextResponse.json({
73
- error: "Unauthorized"
74
- }, {
75
- status: 401
76
- });
77
- }
78
- return null;
79
- },
80
- async requirePermission(_req, _permission) {
81
- const session = await getSession();
82
- if (!session?.user?.email) {
83
- return NextResponse.json({
84
- error: "Unauthorized"
85
- }, {
86
- status: 401
87
- });
88
- }
89
- return null;
90
- },
91
- async requireEntityPermission(_req, entity, action) {
92
- const session = await getSession();
93
- if (!session?.user?.email) {
94
- return NextResponse.json({
95
- error: "Unauthorized"
96
- }, {
97
- status: 401
98
- });
99
- }
100
- const u = session.user;
101
- const allowed = sessionHasEntityAccess(u, entity, action);
102
- const { reason } = explainSessionEntityAccess(u, entity, action);
103
- logRbac("authHelpers.requireEntityPermission", {
104
- entity,
105
- action,
106
- allowed,
107
- reason,
108
- email: u.email,
109
- groupName: u.groupName,
110
- vendorIds: u.vendorIds,
111
- isVendorPortal: u.isVendorPortal,
112
- isVendorOwner: u.isVendorOwner
113
- });
114
- if (allowed) return null;
115
- return NextResponse.json({
116
- error: "Forbidden",
117
- entity,
118
- action,
119
- reason
120
- }, {
121
- status: 403
122
- });
123
- },
124
- async requireAdminAccess(_req) {
125
- const session = await getSession();
126
- if (!session?.user?.email) {
127
- return NextResponse.json({
128
- error: "Unauthorized"
129
- }, {
130
- status: 401
131
- });
132
- }
133
- const u = session.user;
134
- if (u.isRBACAdmin) return null;
135
- if (isVendorPortalUser(u)) return null;
136
- if (u.adminAccess === true) return null;
137
- if (u.adminAccess === false) {
138
- logRbac("requireAdminAccess denied (adminAccess:false)", {
139
- email: u.email,
140
- groupName: u.groupName,
141
- isVendorPortal: u.isVendorPortal
142
- });
143
- return NextResponse.json({
144
- error: "Forbidden",
145
- reason: "admin_access"
146
- }, {
147
- status: 403
148
- });
149
- }
150
- logRbac("requireAdminAccess denied (no matching rule)", {
151
- email: u.email,
152
- adminAccess: u.adminAccess,
153
- groupName: u.groupName,
154
- isVendorPortal: u.isVendorPortal
155
- });
156
- return NextResponse.json({
157
- error: "Forbidden",
158
- reason: "admin_access"
159
- }, {
160
- status: 403
161
- });
162
- },
163
- async getAuthenticatedUser() {
164
- const session = await getSession();
165
- return session?.user ?? null;
166
- }
167
- };
168
- }
169
- __name(createAuthHelpersFromGetSession, "createAuthHelpersFromGetSession");
170
-
171
- export { OPEN_ENDPOINTS, PERMISSION_REQUIRED_ENDPOINTS, RBAC_ADMIN_ONLY_ENTITIES, canManageRoles, createAuthHelpers, createCmsAuthBundle, getRequiredPermission, isOpenEndpoint, isPublicMethod, sessionHasEntityAccess };