@infuro/cms-core 1.0.44 → 1.0.46
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 +19 -2
- package/dist/admin.cjs +1413 -620
- package/dist/admin.d.cts +8 -2
- package/dist/admin.d.ts +8 -2
- package/dist/admin.js +1414 -621
- package/dist/api.cjs +40 -37
- package/dist/api.d.cts +3 -1
- package/dist/api.d.ts +3 -1
- package/dist/api.js +8 -5
- package/dist/auth.cjs +23 -23
- package/dist/auth.d.cts +1 -0
- package/dist/auth.d.ts +1 -0
- package/dist/auth.js +2 -2
- package/dist/chunk-2KUCQVAQ.js +936 -0
- package/dist/chunk-3K5AIEIZ.js +256 -0
- package/dist/{chunk-I6NH72MO.js → chunk-57O3HZPG.js} +9 -1
- package/dist/chunk-7PMHZRF3.cjs +872 -0
- package/dist/chunk-BXYZDMTZ.cjs +953 -0
- package/dist/chunk-CQHXW4TR.js +107 -0
- package/dist/{chunk-NNQBWDCI.js → chunk-CRYKVJTO.js} +55 -959
- package/dist/chunk-DBPSJYLZ.js +47 -0
- package/dist/{chunk-TAHX46EI.cjs → chunk-FBKDMRQL.cjs} +9 -1
- package/dist/chunk-GUSHM5HN.js +862 -0
- package/dist/chunk-HY3AXLOI.cjs +265 -0
- package/dist/chunk-L3525VXI.js +243 -0
- package/dist/{chunk-ZMRQ72F6.cjs → chunk-NBY4NVTY.cjs} +3 -3
- package/dist/chunk-OY2YTBMP.cjs +50 -0
- package/dist/{chunk-BLR6H5GL.js → chunk-SF2XKMCI.js} +3 -3
- package/dist/{chunk-22FFHLTO.cjs → chunk-TCSGFAWB.cjs} +56 -970
- package/dist/{chunk-P2IWWBJV.cjs → chunk-UDVLFVEC.cjs} +1314 -601
- package/dist/{chunk-SQGBHYJF.js → chunk-UKC3HYXI.js} +1245 -548
- package/dist/chunk-V25RDUOU.cjs +248 -0
- package/dist/chunk-XMRMZ6NQ.cjs +109 -0
- package/dist/cli.cjs +9 -4
- package/dist/cli.js +9 -4
- package/dist/{email-queue-TPZWLTIV.cjs → email-queue-6NJY6HNM.cjs} +7 -5
- package/dist/email-queue-OI2HSCGE.js +4 -0
- package/dist/erp-order-invoice-3GXDE443.js +3 -0
- package/dist/erp-order-invoice-EYYNR526.cjs +24 -0
- package/dist/index.cjs +426 -359
- package/dist/index.d.cts +308 -20
- package/dist/index.d.ts +308 -20
- package/dist/index.js +31 -110
- package/dist/migrations/1781800000000-CustomerPhoneNullable.ts +53 -0
- package/dist/migrations/1781810000000-OrderItemsVariantId.ts +44 -0
- package/dist/migrations/1781900000000-UserInviteStatusToken.ts +46 -0
- package/dist/migrations/1782000000000-ComboSlug.ts +58 -0
- package/dist/migrations/1782100000000-DiscountDeviceType.ts +20 -0
- package/dist/order-inventory-2MYRKEPC.cjs +39 -0
- package/dist/order-inventory-76V4XIGW.js +2 -0
- package/dist/order-notification-dispatcher-SBQAMM5V.cjs +21 -0
- package/dist/{order-notification-dispatcher-XWIJYDGA.js → order-notification-dispatcher-ZJZB2HUN.js} +5 -2
- package/dist/retire-soft-deleted-unique-5VXBA5XX.cjs +15 -0
- package/dist/retire-soft-deleted-unique-NXQIH4BC.js +2 -0
- package/dist/send-order-placed-emails-B5ZVJT7T.cjs +15 -0
- package/dist/send-order-placed-emails-WPI37KRZ.js +6 -0
- package/package.json +5 -4
- package/src/admin/admin.css +27 -24
- package/dist/chunk-5ELSW2UP.js +0 -150
- package/dist/chunk-PNOKNSG2.cjs +0 -222
- package/dist/chunk-WEMDMVHQ.js +0 -216
- package/dist/chunk-XW5ATPRW.cjs +0 -155
- package/dist/email-queue-CGZBVVAS.js +0 -2
- package/dist/erp-order-invoice-3YISSOWW.js +0 -3
- package/dist/erp-order-invoice-ZR5F2KTA.cjs +0 -12
- package/dist/order-notification-dispatcher-RU7BTGGX.cjs +0 -18
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { parseEmailRecipientsFromConfig } from './chunk-CRYKVJTO.js';
|
|
2
|
+
import { queueOrderPlacedEmails } from './chunk-L3525VXI.js';
|
|
3
|
+
import { mergeEmailLayoutCompanyDetails } from './chunk-2KUCQVAQ.js';
|
|
4
|
+
import { __name } from './chunk-SHUYVCID.js';
|
|
5
|
+
|
|
6
|
+
// src/lib/send-order-placed-emails.ts
|
|
7
|
+
async function getSettingsGroup(deps, group) {
|
|
8
|
+
const ds = await deps.getDataSource();
|
|
9
|
+
const rows = await ds.getRepository(deps.entityMap.configs).find({
|
|
10
|
+
where: {
|
|
11
|
+
settings: group,
|
|
12
|
+
deleted: false
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
return Object.fromEntries(rows.map((r) => [
|
|
16
|
+
r.key,
|
|
17
|
+
r.value
|
|
18
|
+
]));
|
|
19
|
+
}
|
|
20
|
+
__name(getSettingsGroup, "getSettingsGroup");
|
|
21
|
+
async function sendOrderPlacedEmailsAfterConfirmation(orderId, deps) {
|
|
22
|
+
try {
|
|
23
|
+
let addrToRecord2 = function(a) {
|
|
24
|
+
if (!a) return void 0;
|
|
25
|
+
const out = {};
|
|
26
|
+
const set = /* @__PURE__ */ __name((k, v) => {
|
|
27
|
+
const t = v != null ? String(v).trim() : "";
|
|
28
|
+
if (t) out[k] = t;
|
|
29
|
+
}, "set");
|
|
30
|
+
set("line1", a.line1);
|
|
31
|
+
set("line2", a.line2);
|
|
32
|
+
set("city", a.city);
|
|
33
|
+
set("state", a.state);
|
|
34
|
+
set("postalCode", a.postalCode);
|
|
35
|
+
set("country", a.country);
|
|
36
|
+
return Object.keys(out).length ? out : void 0;
|
|
37
|
+
};
|
|
38
|
+
var addrToRecord = addrToRecord2;
|
|
39
|
+
__name(addrToRecord2, "addrToRecord");
|
|
40
|
+
const ds = await deps.getDataSource();
|
|
41
|
+
const order = await ds.getRepository(deps.entityMap.orders).findOne({
|
|
42
|
+
where: {
|
|
43
|
+
id: orderId
|
|
44
|
+
},
|
|
45
|
+
relations: [
|
|
46
|
+
"contact",
|
|
47
|
+
"billingAddress",
|
|
48
|
+
"shippingAddress"
|
|
49
|
+
]
|
|
50
|
+
});
|
|
51
|
+
if (!order) return;
|
|
52
|
+
const o = order;
|
|
53
|
+
const contact = o.contact;
|
|
54
|
+
const customerEmail = contact?.email?.trim() || null;
|
|
55
|
+
const customerName = contact?.name?.trim() || void 0;
|
|
56
|
+
const itemRows = await ds.getRepository(deps.entityMap.order_items).find({
|
|
57
|
+
where: {
|
|
58
|
+
orderId
|
|
59
|
+
},
|
|
60
|
+
relations: [
|
|
61
|
+
"product"
|
|
62
|
+
],
|
|
63
|
+
order: {
|
|
64
|
+
id: "ASC"
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const lineItems = itemRows.map((row) => {
|
|
68
|
+
const r = row;
|
|
69
|
+
const name = r.product?.name && String(r.product.name).trim() || `Product #${r.productId}`;
|
|
70
|
+
return {
|
|
71
|
+
productName: name,
|
|
72
|
+
quantity: Math.max(0, Math.floor(Number(r.quantity) || 0)),
|
|
73
|
+
unitPrice: r.unitPrice,
|
|
74
|
+
lineTotal: r.total,
|
|
75
|
+
sku: r.product?.sku && String(r.product.sku).trim() ? r.product.sku : void 0,
|
|
76
|
+
tax: r.tax != null && Number(r.tax) !== 0 ? r.tax : void 0,
|
|
77
|
+
hsn: r.hsn && String(r.hsn).trim() ? r.hsn : void 0
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
const [branding, emailSettings] = await Promise.all([
|
|
81
|
+
getSettingsGroup(deps, "branding"),
|
|
82
|
+
getSettingsGroup(deps, "email")
|
|
83
|
+
]);
|
|
84
|
+
const companyDetails = mergeEmailLayoutCompanyDetails(branding, emailSettings);
|
|
85
|
+
const salesTeamEmails = parseEmailRecipientsFromConfig(emailSettings.salesTeamEmails ?? emailSettings.salesTeamEmail);
|
|
86
|
+
const cms = await deps.getCms();
|
|
87
|
+
await queueOrderPlacedEmails(cms, {
|
|
88
|
+
orderId,
|
|
89
|
+
orderNumber: o.orderNumber,
|
|
90
|
+
total: o.total,
|
|
91
|
+
subtotal: o.subtotal,
|
|
92
|
+
tax: o.tax,
|
|
93
|
+
currency: o.currency,
|
|
94
|
+
customerName,
|
|
95
|
+
customerEmail,
|
|
96
|
+
salesTeamEmails,
|
|
97
|
+
companyDetails,
|
|
98
|
+
lineItems,
|
|
99
|
+
billingAddress: addrToRecord2(o.billingAddress),
|
|
100
|
+
shippingAddress: addrToRecord2(o.shippingAddress)
|
|
101
|
+
});
|
|
102
|
+
} catch {
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
__name(sendOrderPlacedEmailsAfterConfirmation, "sendOrderPlacedEmailsAfterConfirmation");
|
|
106
|
+
|
|
107
|
+
export { sendOrderPlacedEmailsAfterConfirmation };
|