@infuro/cms-core 1.0.35 → 1.0.36
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/dist/admin.cjs +861 -626
- package/dist/admin.d.cts +6 -0
- package/dist/admin.d.ts +6 -0
- package/dist/admin.js +863 -628
- package/dist/api.cjs +40 -39
- package/dist/api.js +8 -7
- package/dist/auth.cjs +51 -51
- package/dist/auth.d.cts +3 -3
- package/dist/auth.d.ts +3 -3
- package/dist/auth.js +3 -3
- package/dist/{chunk-BGJAV67S.cjs → chunk-2AEVFOQP.cjs} +7923 -7197
- package/dist/chunk-COBORIJH.cjs +2373 -0
- package/dist/{chunk-EQPITOP6.js → chunk-FG6I64HP.js} +70 -9
- package/dist/chunk-HCIRL37O.js +21 -0
- package/dist/chunk-HT5DI3XW.cjs +82 -0
- package/dist/{chunk-2XE4X74C.js → chunk-JS2W7XZ4.js} +7510 -6800
- package/dist/{chunk-EF2JBPDM.js → chunk-KFFB6EMZ.js} +9 -0
- package/dist/{chunk-3KPNTQBV.cjs → chunk-KPKFNLQQ.cjs} +50 -22
- package/dist/{chunk-6KPQWRFW.js → chunk-LI2IXVAY.js} +1 -1
- package/dist/{chunk-N44BJZ4C.cjs → chunk-SPQFNIYJ.cjs} +9 -0
- package/dist/chunk-UCKN4BBY.cjs +24 -0
- package/dist/{chunk-4TRPKBKO.js → chunk-UF3BYUXY.js} +50 -23
- package/dist/chunk-VMY2S32H.js +2342 -0
- package/dist/{chunk-TIAEXJLI.cjs → chunk-WO2DW4AU.cjs} +7 -7
- package/dist/chunk-X47PBV4I.js +79 -0
- package/dist/{chunk-CNTSLED2.cjs → chunk-X6H5VBQ2.cjs} +75 -14
- package/dist/cli.cjs +4 -2
- package/dist/cli.js +4 -2
- package/dist/emit-order-notification-trigger-D2N3KFHL.cjs +16 -0
- package/dist/emit-order-notification-trigger-IVLWKKJL.js +3 -0
- package/dist/{event-order-defaults-DUGDVGJI.cjs → event-order-defaults-EMWBIGL3.cjs} +9 -9
- package/dist/{event-order-defaults-6E543227.js → event-order-defaults-SDRNAZHC.js} +1 -1
- package/dist/index.cjs +805 -1059
- package/dist/index.d.cts +827 -728
- package/dist/index.d.ts +827 -728
- package/dist/index.js +385 -724
- package/dist/migrations/1781220000000-AddWhatsappTriggerBindings.ts +23 -0
- package/dist/migrations/1781230000000-AddOrderNotificationTriggers.ts +46 -0
- package/dist/migrations/1781240000000-DropEventOrderNotificationColumns.ts +29 -0
- package/dist/migrations/1781250000000-RemoveOrderRefundedTrigger.ts +36 -0
- package/dist/{rbac-debug-db-D7ME7QUY.cjs → rbac-debug-db-HWP65A4O.cjs} +2 -2
- package/dist/{rbac-debug-db-MTCTVNNM.js → rbac-debug-db-QJH3AD34.js} +1 -1
- package/dist/whatsapp-trigger-dispatcher-ONHXI7UY.cjs +19 -0
- package/dist/whatsapp-trigger-dispatcher-PWFI4FKP.js +6 -0
- package/package.json +1 -1
- package/dist/chunk-46GKADYE.cjs +0 -84
- package/dist/chunk-7YIBMQDR.cjs +0 -86
- package/dist/chunk-J7XHLOLO.js +0 -830
- package/dist/chunk-JBRR5UYL.js +0 -87
- package/dist/chunk-JHF4YYRC.cjs +0 -188
- package/dist/chunk-PAMVINEX.cjs +0 -577
- package/dist/chunk-QM733NUK.js +0 -186
- package/dist/chunk-R73BKDRO.cjs +0 -90
- package/dist/chunk-TFUOHI37.cjs +0 -839
- package/dist/chunk-XDSNZUW7.js +0 -564
- package/dist/chunk-ZQ4X6OAU.js +0 -82
- package/dist/chunk-ZSVCP6N3.js +0 -83
- package/dist/email-FKR4FXFI.js +0 -5
- package/dist/email-KVKVPNCL.cjs +0 -58
- package/dist/event-order-notifications-5GSAOYVS.cjs +0 -27
- package/dist/event-order-notifications-IIIF23D5.js +0 -10
- package/dist/layout-36UFTHC5.cjs +0 -11
- package/dist/layout-AOBN26XG.js +0 -2
- package/dist/whatsapp-queue-3DXA4MXU.js +0 -2
- package/dist/whatsapp-queue-KG65MXD5.cjs +0 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKPKFNLQQ_cjs = require('./chunk-KPKFNLQQ.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 chunkKPKFNLQQ_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 } = chunkKPKFNLQQ_cjs.explainSessionEntityAccess(u, entity, action);
|
|
105
|
+
chunkKPKFNLQQ_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 (chunkKPKFNLQQ_cjs.isVendorPortalUser(u)) return null;
|
|
138
138
|
if (u.adminAccess === true) return null;
|
|
139
139
|
if (u.adminAccess === false) {
|
|
140
|
-
|
|
140
|
+
chunkKPKFNLQQ_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
|
+
chunkKPKFNLQQ_cjs.logRbac("requireAdminAccess denied (no matching rule)", {
|
|
153
153
|
email: u.email,
|
|
154
154
|
adminAccess: u.adminAccess,
|
|
155
155
|
groupName: u.groupName,
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { notificationTriggerEmitter } from './chunk-HCIRL37O.js';
|
|
2
|
+
import { __name } from './chunk-SHUYVCID.js';
|
|
3
|
+
|
|
4
|
+
// src/lib/emit-order-notification-trigger.ts
|
|
5
|
+
function maskPhone(raw) {
|
|
6
|
+
const digits = String(raw ?? "").replace(/\D/g, "");
|
|
7
|
+
if (digits.length <= 4) return "(none)";
|
|
8
|
+
return `***${digits.slice(-4)}`;
|
|
9
|
+
}
|
|
10
|
+
__name(maskPhone, "maskPhone");
|
|
11
|
+
async function emitOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
12
|
+
if (!deps.entityMap.orders) {
|
|
13
|
+
console.warn("[notification-triggers] skip emit: orders entity missing from entityMap", {
|
|
14
|
+
triggerKey,
|
|
15
|
+
orderId
|
|
16
|
+
});
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const listenerCount = notificationTriggerEmitter.listenerCount("__any__");
|
|
20
|
+
if (listenerCount === 0) {
|
|
21
|
+
console.warn("[notification-triggers] no WhatsApp dispatcher listener \u2014 ensure createCmsApiHandler passes getCms (initWhatsappTriggerDispatcher)");
|
|
22
|
+
}
|
|
23
|
+
const orderRepo = deps.dataSource.getRepository(deps.entityMap.orders);
|
|
24
|
+
const fullOrder = await orderRepo.findOne({
|
|
25
|
+
where: {
|
|
26
|
+
id: orderId,
|
|
27
|
+
deleted: false
|
|
28
|
+
},
|
|
29
|
+
relations: [
|
|
30
|
+
"contact"
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
if (!fullOrder) {
|
|
34
|
+
console.warn("[notification-triggers] skip emit: order not found", {
|
|
35
|
+
triggerKey,
|
|
36
|
+
orderId
|
|
37
|
+
});
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const fo = fullOrder;
|
|
41
|
+
const phone = fo.contact?.phone ?? null;
|
|
42
|
+
console.log("[notification-triggers] emit", {
|
|
43
|
+
triggerKey,
|
|
44
|
+
orderId,
|
|
45
|
+
orderNumber: fo.orderNumber ?? null,
|
|
46
|
+
phone: maskPhone(phone),
|
|
47
|
+
listeners: listenerCount
|
|
48
|
+
});
|
|
49
|
+
if (!phone?.trim()) {
|
|
50
|
+
console.warn("[notification-triggers] order contact has no phone \u2014 WhatsApp will be skipped", {
|
|
51
|
+
orderId
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
notificationTriggerEmitter.emitTrigger(triggerKey, {
|
|
55
|
+
orderId,
|
|
56
|
+
orderNumber: String(fo.orderNumber ?? ""),
|
|
57
|
+
customerName: fo.contact?.name ?? "",
|
|
58
|
+
customerPhone: phone,
|
|
59
|
+
total: fo.total ?? 0,
|
|
60
|
+
currency: String(fo.currency ?? "INR"),
|
|
61
|
+
vendorId: fo.vendorId ?? null,
|
|
62
|
+
...extra?.refundAmount != null ? {
|
|
63
|
+
refundAmount: extra.refundAmount
|
|
64
|
+
} : {}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
__name(emitOrderNotificationTrigger, "emitOrderNotificationTrigger");
|
|
68
|
+
function fireOrderNotificationTrigger(triggerKey, orderId, deps, extra) {
|
|
69
|
+
console.log("[notification-triggers] fire", {
|
|
70
|
+
triggerKey,
|
|
71
|
+
orderId
|
|
72
|
+
});
|
|
73
|
+
void emitOrderNotificationTrigger(triggerKey, orderId, deps, extra).catch((err) => {
|
|
74
|
+
console.error("[notification-triggers]", triggerKey, orderId, err);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
__name(fireOrderNotificationTrigger, "fireOrderNotificationTrigger");
|
|
78
|
+
|
|
79
|
+
export { emitOrderNotificationTrigger, fireOrderNotificationTrigger };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKPKFNLQQ_cjs = require('./chunk-KPKFNLQQ.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,16 +11,15 @@ 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 = chunkKPKFNLQQ_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: chunkKPKFNLQQ_cjs.ADMIN_GROUP_NAME,
|
|
20
20
|
deleted: false
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
|
-
console.log("ADMIN GROUP", adminGroup);
|
|
24
23
|
if (!adminGroup) return;
|
|
25
24
|
const fullCrud = {
|
|
26
25
|
canCreate: true,
|
|
@@ -35,7 +34,6 @@ async function seedAdministratorPermissions(dataSource, entityMap) {
|
|
|
35
34
|
entity
|
|
36
35
|
}
|
|
37
36
|
});
|
|
38
|
-
console.log("EXISTING", existing);
|
|
39
37
|
if (existing) {
|
|
40
38
|
existing.canCreate = true;
|
|
41
39
|
existing.canRead = true;
|
|
@@ -57,17 +55,13 @@ chunkUSNT2KNT_cjs.__name(seedAdministratorPermissions, "seedAdministratorPermiss
|
|
|
57
55
|
var LOG_PREFIX = "[cms-auth]";
|
|
58
56
|
function isAuthDebugEnabled() {
|
|
59
57
|
const v = process.env.CMS_AUTH_DEBUG?.trim().toLowerCase();
|
|
60
|
-
|
|
61
|
-
if (v === "0" || v === "false" || v === "no") return false;
|
|
62
|
-
return process.env.NODE_ENV === "development";
|
|
58
|
+
return v === "1" || v === "true" || v === "yes";
|
|
63
59
|
}
|
|
64
60
|
chunkUSNT2KNT_cjs.__name(isAuthDebugEnabled, "isAuthDebugEnabled");
|
|
65
61
|
function isAuthDebugClientEnabled() {
|
|
66
62
|
if (typeof window === "undefined") return false;
|
|
67
63
|
const v = process.env.NEXT_PUBLIC_CMS_AUTH_DEBUG?.trim().toLowerCase();
|
|
68
|
-
|
|
69
|
-
if (v === "0" || v === "false" || v === "no") return false;
|
|
70
|
-
return process.env.NODE_ENV === "development";
|
|
64
|
+
return v === "1" || v === "true" || v === "yes";
|
|
71
65
|
}
|
|
72
66
|
chunkUSNT2KNT_cjs.__name(isAuthDebugClientEnabled, "isAuthDebugClientEnabled");
|
|
73
67
|
function logAuth(message, data) {
|
|
@@ -246,20 +240,76 @@ function createCmsMiddleware(config = {}) {
|
|
|
246
240
|
}
|
|
247
241
|
chunkUSNT2KNT_cjs.__name(createCmsMiddleware, "createCmsMiddleware");
|
|
248
242
|
var CredentialsProvider = _CredentialsProvider__default.default.default ?? _CredentialsProvider__default.default;
|
|
243
|
+
function parseBooleanSetting(value) {
|
|
244
|
+
if (typeof value === "boolean") return value;
|
|
245
|
+
if (typeof value === "number") return value !== 0;
|
|
246
|
+
if (typeof value === "string") {
|
|
247
|
+
const normalized = value.trim().toLowerCase();
|
|
248
|
+
if ([
|
|
249
|
+
"true",
|
|
250
|
+
"1",
|
|
251
|
+
"yes",
|
|
252
|
+
"on"
|
|
253
|
+
].includes(normalized)) return true;
|
|
254
|
+
if ([
|
|
255
|
+
"false",
|
|
256
|
+
"0",
|
|
257
|
+
"no",
|
|
258
|
+
"off"
|
|
259
|
+
].includes(normalized)) return false;
|
|
260
|
+
}
|
|
261
|
+
if (value && typeof value === "object") {
|
|
262
|
+
const record = value;
|
|
263
|
+
const nested = parseBooleanSetting(record.value ?? record.enabled ?? record.isEnabled ?? record.active ?? record.state);
|
|
264
|
+
if (nested != null) return nested;
|
|
265
|
+
}
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
chunkUSNT2KNT_cjs.__name(parseBooleanSetting, "parseBooleanSetting");
|
|
269
|
+
async function checkMultiVendorEnabledViaSettingsApi() {
|
|
270
|
+
const FAIL_OPEN_DEFAULT = true;
|
|
271
|
+
const base = process.env.NEXTAUTH_URL?.replace(/\/$/, "");
|
|
272
|
+
if (!base) {
|
|
273
|
+
logAuth("multiVendorCheck: no NEXTAUTH_URL, defaulting", {
|
|
274
|
+
multiVendorEnabled: FAIL_OPEN_DEFAULT
|
|
275
|
+
});
|
|
276
|
+
return FAIL_OPEN_DEFAULT;
|
|
277
|
+
}
|
|
278
|
+
try {
|
|
279
|
+
const res = await fetch(`${base}/api/settings/multi_vendor`, {
|
|
280
|
+
cache: "no-store"
|
|
281
|
+
});
|
|
282
|
+
if (!res.ok) {
|
|
283
|
+
logAuth("multiVendorCheck: non-OK response, defaulting", {
|
|
284
|
+
status: res.status
|
|
285
|
+
});
|
|
286
|
+
return FAIL_OPEN_DEFAULT;
|
|
287
|
+
}
|
|
288
|
+
const data = await res.json();
|
|
289
|
+
const parsed = parseBooleanSetting(data?.enabled ?? data?.value ?? data?.isEnabled ?? data?.active ?? data?.state);
|
|
290
|
+
return parsed ?? FAIL_OPEN_DEFAULT;
|
|
291
|
+
} catch (err) {
|
|
292
|
+
logAuth("multiVendorCheck: fetch failed, defaulting", {
|
|
293
|
+
message: err instanceof Error ? err.message : String(err)
|
|
294
|
+
});
|
|
295
|
+
return FAIL_OPEN_DEFAULT;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
chunkUSNT2KNT_cjs.__name(checkMultiVendorEnabledViaSettingsApi, "checkMultiVendorEnabledViaSettingsApi");
|
|
249
299
|
function sessionUserFromNextAuthUser(user) {
|
|
250
300
|
const g = user.group;
|
|
251
|
-
const isRBACAdmin =
|
|
301
|
+
const isRBACAdmin = chunkKPKFNLQQ_cjs.isSuperAdmin({
|
|
252
302
|
groupId: user.groupId ?? void 0,
|
|
253
303
|
groupName: g?.name,
|
|
254
304
|
isRBACAdmin: false
|
|
255
305
|
});
|
|
256
|
-
const entityPerms =
|
|
306
|
+
const entityPerms = chunkKPKFNLQQ_cjs.permissionRowsToRecord(g?.permissions);
|
|
257
307
|
const rawAdminAccess = user.adminAccess;
|
|
258
308
|
const adminAccess = rawAdminAccess === true ? true : rawAdminAccess === false ? false : void 0;
|
|
259
309
|
const vendorIds = user.vendorIds ?? [];
|
|
260
310
|
const vendorRole = user.vendorRole ?? null;
|
|
261
311
|
const isVendorRoleOwner = user.isVendorRoleOwner ?? false;
|
|
262
|
-
const { isVendorPortal, isVendorOwner: isVendorOwner2 } =
|
|
312
|
+
const { isVendorPortal, isVendorOwner: isVendorOwner2 } = chunkKPKFNLQQ_cjs.vendorPortalFlagsFromUser({
|
|
263
313
|
email: user.email,
|
|
264
314
|
isRBACAdmin,
|
|
265
315
|
groupName: g?.name,
|
|
@@ -389,6 +439,17 @@ function getNextAuthOptions(config) {
|
|
|
389
439
|
return null;
|
|
390
440
|
}
|
|
391
441
|
const sessionUser = sessionUserFromNextAuthUser(user);
|
|
442
|
+
if (sessionUser.isVendorPortal && !sessionUser.isRBACAdmin) {
|
|
443
|
+
const multiVendorEnabled = await checkMultiVendorEnabledViaSettingsApi();
|
|
444
|
+
if (!multiVendorEnabled) {
|
|
445
|
+
logAuth("authorize(credentials) rejected", {
|
|
446
|
+
reason: "multi_vendor_disabled",
|
|
447
|
+
email,
|
|
448
|
+
userId: user.id
|
|
449
|
+
});
|
|
450
|
+
return null;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
392
453
|
logAuth("authorize(credentials) ok", summarizeSessionUserForLog(sessionUser));
|
|
393
454
|
return sessionUser;
|
|
394
455
|
} catch (err) {
|
package/dist/cli.cjs
CHANGED
|
@@ -67,13 +67,14 @@ export const requireAdminAccess = helpers.requireAdminAccess;
|
|
|
67
67
|
export const getAuthenticatedUser = helpers.getAuthenticatedUser;
|
|
68
68
|
`,
|
|
69
69
|
"src/lib/cms.ts": `import {
|
|
70
|
-
|
|
70
|
+
createCmsAppWithMessaging,
|
|
71
71
|
localStoragePlugin,
|
|
72
72
|
blogGeneratorPlugin,
|
|
73
73
|
pgBossPlugin,
|
|
74
74
|
socialMediaPlugin,
|
|
75
75
|
type CmsApp,
|
|
76
76
|
} from '@infuro/cms-core';
|
|
77
|
+
import { CMS_ENTITY_MAP } from '@infuro/cms-core';
|
|
77
78
|
import { getDataSourceInitialized } from './data-source';
|
|
78
79
|
|
|
79
80
|
let cmsPromise: Promise<CmsApp> | null = null;
|
|
@@ -81,8 +82,9 @@ let cmsPromise: Promise<CmsApp> | null = null;
|
|
|
81
82
|
export async function getCms(): Promise<CmsApp> {
|
|
82
83
|
if (cmsPromise) return cmsPromise;
|
|
83
84
|
const dataSource = await getDataSourceInitialized();
|
|
84
|
-
cmsPromise =
|
|
85
|
+
cmsPromise = createCmsAppWithMessaging({
|
|
85
86
|
dataSource,
|
|
87
|
+
entityMap: CMS_ENTITY_MAP,
|
|
86
88
|
config: process.env as unknown as Record<string, string>,
|
|
87
89
|
plugins: [
|
|
88
90
|
localStoragePlugin({ dir: 'public/uploads' }),
|
package/dist/cli.js
CHANGED
|
@@ -60,13 +60,14 @@ export const requireAdminAccess = helpers.requireAdminAccess;
|
|
|
60
60
|
export const getAuthenticatedUser = helpers.getAuthenticatedUser;
|
|
61
61
|
`,
|
|
62
62
|
"src/lib/cms.ts": `import {
|
|
63
|
-
|
|
63
|
+
createCmsAppWithMessaging,
|
|
64
64
|
localStoragePlugin,
|
|
65
65
|
blogGeneratorPlugin,
|
|
66
66
|
pgBossPlugin,
|
|
67
67
|
socialMediaPlugin,
|
|
68
68
|
type CmsApp,
|
|
69
69
|
} from '@infuro/cms-core';
|
|
70
|
+
import { CMS_ENTITY_MAP } from '@infuro/cms-core';
|
|
70
71
|
import { getDataSourceInitialized } from './data-source';
|
|
71
72
|
|
|
72
73
|
let cmsPromise: Promise<CmsApp> | null = null;
|
|
@@ -74,8 +75,9 @@ let cmsPromise: Promise<CmsApp> | null = null;
|
|
|
74
75
|
export async function getCms(): Promise<CmsApp> {
|
|
75
76
|
if (cmsPromise) return cmsPromise;
|
|
76
77
|
const dataSource = await getDataSourceInitialized();
|
|
77
|
-
cmsPromise =
|
|
78
|
+
cmsPromise = createCmsAppWithMessaging({
|
|
78
79
|
dataSource,
|
|
80
|
+
entityMap: CMS_ENTITY_MAP,
|
|
79
81
|
config: process.env as unknown as Record<string, string>,
|
|
80
82
|
plugins: [
|
|
81
83
|
localStoragePlugin({ dir: 'public/uploads' }),
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkHT5DI3XW_cjs = require('./chunk-HT5DI3XW.cjs');
|
|
4
|
+
require('./chunk-UCKN4BBY.cjs');
|
|
5
|
+
require('./chunk-USNT2KNT.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "emitOrderNotificationTrigger", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return chunkHT5DI3XW_cjs.emitOrderNotificationTrigger; }
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "fireOrderNotificationTrigger", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return chunkHT5DI3XW_cjs.fireOrderNotificationTrigger; }
|
|
16
|
+
});
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkSPQFNIYJ_cjs = require('./chunk-SPQFNIYJ.cjs');
|
|
4
4
|
require('./chunk-USNT2KNT.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "EVENT_ORDER_MESSAGE_TEMPLATE_DEFAULTS", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkSPQFNIYJ_cjs.EVENT_ORDER_MESSAGE_TEMPLATE_DEFAULTS; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "EVENT_ORDER_TEMPLATE_KEY", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkSPQFNIYJ_cjs.EVENT_ORDER_TEMPLATE_KEY; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "EVENT_ORDER_TEMPLATE_VARIABLES", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkSPQFNIYJ_cjs.EVENT_ORDER_TEMPLATE_VARIABLES; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "EVENT_ORDER_TEMPLATE_VARIABLE_HINTS", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkSPQFNIYJ_cjs.EVENT_ORDER_TEMPLATE_VARIABLE_HINTS; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "EVENT_ORDER_WHATSAPP_PARAM_KEYS", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkSPQFNIYJ_cjs.EVENT_ORDER_WHATSAPP_PARAM_KEYS; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "getEventOrderTemplateDefault", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkSPQFNIYJ_cjs.getEventOrderTemplateDefault; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "pickWhatsAppTemplateParams", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkSPQFNIYJ_cjs.pickWhatsAppTemplateParams; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "resolveEventOrderTemplate", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkSPQFNIYJ_cjs.resolveEventOrderTemplate; }
|
|
39
39
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { EVENT_ORDER_MESSAGE_TEMPLATE_DEFAULTS, EVENT_ORDER_TEMPLATE_KEY, EVENT_ORDER_TEMPLATE_VARIABLES, EVENT_ORDER_TEMPLATE_VARIABLE_HINTS, EVENT_ORDER_WHATSAPP_PARAM_KEYS, getEventOrderTemplateDefault, pickWhatsAppTemplateParams, resolveEventOrderTemplate } from './chunk-
|
|
1
|
+
export { EVENT_ORDER_MESSAGE_TEMPLATE_DEFAULTS, EVENT_ORDER_TEMPLATE_KEY, EVENT_ORDER_TEMPLATE_VARIABLES, EVENT_ORDER_TEMPLATE_VARIABLE_HINTS, EVENT_ORDER_WHATSAPP_PARAM_KEYS, getEventOrderTemplateDefault, pickWhatsAppTemplateParams, resolveEventOrderTemplate } from './chunk-KFFB6EMZ.js';
|
|
2
2
|
import './chunk-SHUYVCID.js';
|