medusajs-documents-plugin 1.1.34 → 1.1.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/.medusa/server/src/admin/index.js +51 -33
- package/.medusa/server/src/admin/index.mjs +51 -33
- package/.medusa/server/src/api/admin/documents/custom/route.js +4 -3
- package/.medusa/server/src/api/admin/documents/templates/preview/route.js +33 -3
- package/.medusa/server/src/api/documents/templates/preview/route.js +33 -3
- package/.medusa/server/src/modules/documents/service.js +10 -4
- package/.medusa/server/src/services/pdfkit-generator.js +185 -77
- package/.medusa/server/src/utils/document-grouper.js +7 -4
- package/CHANGELOG.md +12 -0
- package/package.json +1 -1
|
@@ -7,7 +7,7 @@ const icons = require("@medusajs/icons");
|
|
|
7
7
|
function extractBaseReference(displayId) {
|
|
8
8
|
if (!displayId) return "";
|
|
9
9
|
const cleaned = String(displayId).trim();
|
|
10
|
-
const withoutPrefix = cleaned.replace(/^(?:(?:JOB|RT|EST|RCPT|INV|PKG|PACK|DOC|ST|STORE|[A-Za-z]{2,10})-)+/i, "");
|
|
10
|
+
const withoutPrefix = cleaned.replace(/^(?:(?:JOB|RT|EST|RCPT|INV|PKG|PACK|DOC|CERT|ST|STORE|[A-Za-z]{2,10})-)+/i, "");
|
|
11
11
|
return withoutPrefix.trim();
|
|
12
12
|
}
|
|
13
13
|
function getDocTypePriority(type) {
|
|
@@ -23,6 +23,7 @@ function getDocTypePriority(type) {
|
|
|
23
23
|
case "packing_slip":
|
|
24
24
|
return 50;
|
|
25
25
|
case "custom":
|
|
26
|
+
case "certificate":
|
|
26
27
|
return 40;
|
|
27
28
|
default:
|
|
28
29
|
return 10;
|
|
@@ -41,6 +42,7 @@ function getDocLifecycleOrder(type) {
|
|
|
41
42
|
case "packing_slip":
|
|
42
43
|
return 5;
|
|
43
44
|
case "custom":
|
|
45
|
+
case "certificate":
|
|
44
46
|
return 6;
|
|
45
47
|
default:
|
|
46
48
|
return 10;
|
|
@@ -59,6 +61,7 @@ function getDocTypeLabel(type) {
|
|
|
59
61
|
case "packing_slip":
|
|
60
62
|
return "Packing Slip";
|
|
61
63
|
case "custom":
|
|
64
|
+
case "certificate":
|
|
62
65
|
return "Certificate";
|
|
63
66
|
default:
|
|
64
67
|
return type || "Document";
|
|
@@ -539,7 +542,7 @@ const DocumentsPage = () => {
|
|
|
539
542
|
}
|
|
540
543
|
}, [customDocModalOpen]);
|
|
541
544
|
const availableTickets = react.useMemo(() => {
|
|
542
|
-
var _a2, _b2;
|
|
545
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
543
546
|
const map = /* @__PURE__ */ new Map();
|
|
544
547
|
for (const t of repairTickets) {
|
|
545
548
|
if (t.id) map.set(t.id, t);
|
|
@@ -547,34 +550,48 @@ const DocumentsPage = () => {
|
|
|
547
550
|
for (const d of documents) {
|
|
548
551
|
const ticketId = d.repair_ticket_id;
|
|
549
552
|
const displayId = d.display_id || "";
|
|
550
|
-
const isRepairDoc = displayId.startsWith("RT-") || displayId.startsWith("JOB-") || Boolean(ticketId);
|
|
553
|
+
const isRepairDoc = displayId.startsWith("RT-") || displayId.startsWith("JOB-") || displayId.startsWith("CERT-") || Boolean(ticketId);
|
|
551
554
|
const idKey = ticketId || displayId;
|
|
552
|
-
if (isRepairDoc && idKey
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
555
|
+
if (isRepairDoc && idKey) {
|
|
556
|
+
if (!map.has(idKey)) {
|
|
557
|
+
const customFields = d.custom_fields || ((_a2 = d.metadata) == null ? void 0 : _a2.custom_fields) || {};
|
|
558
|
+
map.set(idKey, {
|
|
559
|
+
id: idKey,
|
|
560
|
+
ticket_number: String(displayId).replace(/^(RT-|JOB-|CERT-)+/i, "") || idKey,
|
|
561
|
+
customer_name: d.customer_name,
|
|
562
|
+
customer_email: d.customer_email,
|
|
563
|
+
customer_phone: d.customer_phone,
|
|
564
|
+
company_name: ((_b2 = d.customer) == null ? void 0 : _b2.company_name) || ((_c = d.metadata) == null ? void 0 : _c.company_name),
|
|
565
|
+
device: {
|
|
566
|
+
brand: customFields["Brand"] || "",
|
|
567
|
+
model_name: customFields["Device Model"] || customFields["Model"] || "Device",
|
|
568
|
+
serial_number: customFields["Serial / IMEI"] || customFields["Serial Number"] || "N/A",
|
|
569
|
+
condition: customFields["Condition"] || "Good condition"
|
|
570
|
+
},
|
|
571
|
+
accessories: customFields["Accessories"] || "None",
|
|
572
|
+
technician_name: customFields["Technician"] || "Bonifencia A.",
|
|
573
|
+
issue_description: customFields["Reported Issue"] || d.notes || "Standard Service",
|
|
574
|
+
custom_fields: customFields,
|
|
575
|
+
items: ((_d = d.metadata) == null ? void 0 : _d.items) || []
|
|
576
|
+
});
|
|
577
|
+
} else {
|
|
578
|
+
const existing = map.get(idKey);
|
|
579
|
+
if (!existing.customer_name && d.customer_name) existing.customer_name = d.customer_name;
|
|
580
|
+
if (!existing.customer_email && d.customer_email) existing.customer_email = d.customer_email;
|
|
581
|
+
if (!existing.customer_phone && d.customer_phone) existing.customer_phone = d.customer_phone;
|
|
582
|
+
const compName = ((_e = d.customer) == null ? void 0 : _e.company_name) || ((_f = d.metadata) == null ? void 0 : _f.company_name);
|
|
583
|
+
if (!existing.company_name && compName) existing.company_name = compName;
|
|
584
|
+
if ((!((_g = existing.device) == null ? void 0 : _g.model_name) || ((_h = existing.device) == null ? void 0 : _h.model_name) === "Device") && ((_j = (_i = d.metadata) == null ? void 0 : _i.custom_fields) == null ? void 0 : _j["Device Model"])) {
|
|
585
|
+
existing.device = existing.device || {};
|
|
586
|
+
existing.device.model_name = d.metadata.custom_fields["Device Model"];
|
|
587
|
+
}
|
|
588
|
+
}
|
|
572
589
|
}
|
|
573
590
|
}
|
|
574
591
|
return Array.from(map.values());
|
|
575
592
|
}, [repairTickets, documents]);
|
|
576
593
|
const handleSelectRepairTicket = (ticketId) => {
|
|
577
|
-
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
594
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
578
595
|
setSelectedTicketId(ticketId);
|
|
579
596
|
if (!ticketId) return;
|
|
580
597
|
const ticket = availableTickets.find((t) => t.id === ticketId || t.ticket_number === ticketId);
|
|
@@ -584,18 +601,18 @@ const DocumentsPage = () => {
|
|
|
584
601
|
const technician = ticket.technician_name || ((_g = ticket.custom_fields) == null ? void 0 : _g["Technician"]) || "Bonifencia A. (Lead Certified Engineer)";
|
|
585
602
|
const accessories = ticket.accessories || ((_h = ticket.custom_fields) == null ? void 0 : _h["Accessories"]) || "None (Unit only)";
|
|
586
603
|
const condition = ((_i = ticket.device) == null ? void 0 : _i.condition) || ((_j = ticket.custom_fields) == null ? void 0 : _j["Condition"]) || "Good (Normal wear)";
|
|
587
|
-
const cleanNum = String(ticket.ticket_number || ticket.id).replace(/^(RT-|JOB-)+/i, "");
|
|
604
|
+
const cleanNum = String(ticket.ticket_number || ticket.id).replace(/^(RT-|JOB-|CERT-)+/i, "");
|
|
588
605
|
const ticketRef = `RT-${cleanNum}`;
|
|
589
|
-
const customerName = ((_k = ticket.customer) == null ? void 0 : _k.
|
|
590
|
-
const customerEmail = ((
|
|
591
|
-
const customerPhone = ((
|
|
592
|
-
const companyName = ((
|
|
606
|
+
const customerName = (((_k = ticket.customer) == null ? void 0 : _k.first_name) ? `${ticket.customer.first_name} ${ticket.customer.last_name || ""}`.trim() : "") || ((_l = ticket.customer) == null ? void 0 : _l.name) || ticket.customer_name || ((_m = ticket.metadata) == null ? void 0 : _m.customer_name) || ((_n = ticket.customer) == null ? void 0 : _n.company_name) || ticket.company_name || "Valued Customer";
|
|
607
|
+
const customerEmail = ((_o = ticket.customer) == null ? void 0 : _o.email) || ticket.customer_email || ((_p = ticket.metadata) == null ? void 0 : _p.customer_email) || "";
|
|
608
|
+
const customerPhone = ((_q = ticket.customer) == null ? void 0 : _q.phone) || ticket.customer_phone || ((_r = ticket.metadata) == null ? void 0 : _r.customer_phone) || "";
|
|
609
|
+
const companyName = ((_s = ticket.customer) == null ? void 0 : _s.company_name) || ticket.company_name || ((_t = ticket.metadata) == null ? void 0 : _t.company_name) || "";
|
|
593
610
|
const ticketItems = [];
|
|
594
611
|
if (ticket.product_variants && Array.isArray(ticket.product_variants) && ticket.product_variants.length > 0) {
|
|
595
612
|
for (const pv of ticket.product_variants) {
|
|
596
|
-
const qty = Number(pv.quantity || ((
|
|
597
|
-
const unitPrice = Number(pv.unit_price ?? pv.price ?? ((
|
|
598
|
-
const partTitle = ((
|
|
613
|
+
const qty = Number(pv.quantity || ((_u = pv.pivot) == null ? void 0 : _u.quantity) || 1);
|
|
614
|
+
const unitPrice = Number(pv.unit_price ?? pv.price ?? ((_w = (_v = pv.prices) == null ? void 0 : _v[0]) == null ? void 0 : _w.amount) ?? 0);
|
|
615
|
+
const partTitle = ((_x = pv.product) == null ? void 0 : _x.title) ? `${pv.product.title}${pv.title && pv.title !== "Default Variant" ? ` (${pv.title})` : ""}` : pv.title || ((_y = pv.product) == null ? void 0 : _y.title) || "Inventory Part";
|
|
599
616
|
ticketItems.push({
|
|
600
617
|
title: partTitle,
|
|
601
618
|
description: pv.sku ? `SKU: ${pv.sku}` : "",
|
|
@@ -614,7 +631,7 @@ const DocumentsPage = () => {
|
|
|
614
631
|
});
|
|
615
632
|
}
|
|
616
633
|
}
|
|
617
|
-
if (((
|
|
634
|
+
if (((_z = ticket.device) == null ? void 0 : _z.parts_used) && Array.isArray(ticket.device.parts_used)) {
|
|
618
635
|
for (const p of ticket.device.parts_used) {
|
|
619
636
|
ticketItems.push({
|
|
620
637
|
title: p.name || p.title || "Replacement Part",
|
|
@@ -835,6 +852,7 @@ const DocumentsPage = () => {
|
|
|
835
852
|
headers: { "Content-Type": "application/json" },
|
|
836
853
|
body: JSON.stringify({
|
|
837
854
|
title: customDocForm.title,
|
|
855
|
+
repair_ticket_id: selectedTicketId || void 0,
|
|
838
856
|
customer: {
|
|
839
857
|
name: customDocForm.customer_name,
|
|
840
858
|
company_name: customDocForm.company_name || void 0,
|
|
@@ -6,7 +6,7 @@ import { DocumentText, ArrowPath, Plus, Sparkles, ChevronDown, ChevronRight, Arr
|
|
|
6
6
|
function extractBaseReference(displayId) {
|
|
7
7
|
if (!displayId) return "";
|
|
8
8
|
const cleaned = String(displayId).trim();
|
|
9
|
-
const withoutPrefix = cleaned.replace(/^(?:(?:JOB|RT|EST|RCPT|INV|PKG|PACK|DOC|ST|STORE|[A-Za-z]{2,10})-)+/i, "");
|
|
9
|
+
const withoutPrefix = cleaned.replace(/^(?:(?:JOB|RT|EST|RCPT|INV|PKG|PACK|DOC|CERT|ST|STORE|[A-Za-z]{2,10})-)+/i, "");
|
|
10
10
|
return withoutPrefix.trim();
|
|
11
11
|
}
|
|
12
12
|
function getDocTypePriority(type) {
|
|
@@ -22,6 +22,7 @@ function getDocTypePriority(type) {
|
|
|
22
22
|
case "packing_slip":
|
|
23
23
|
return 50;
|
|
24
24
|
case "custom":
|
|
25
|
+
case "certificate":
|
|
25
26
|
return 40;
|
|
26
27
|
default:
|
|
27
28
|
return 10;
|
|
@@ -40,6 +41,7 @@ function getDocLifecycleOrder(type) {
|
|
|
40
41
|
case "packing_slip":
|
|
41
42
|
return 5;
|
|
42
43
|
case "custom":
|
|
44
|
+
case "certificate":
|
|
43
45
|
return 6;
|
|
44
46
|
default:
|
|
45
47
|
return 10;
|
|
@@ -58,6 +60,7 @@ function getDocTypeLabel(type) {
|
|
|
58
60
|
case "packing_slip":
|
|
59
61
|
return "Packing Slip";
|
|
60
62
|
case "custom":
|
|
63
|
+
case "certificate":
|
|
61
64
|
return "Certificate";
|
|
62
65
|
default:
|
|
63
66
|
return type || "Document";
|
|
@@ -538,7 +541,7 @@ const DocumentsPage = () => {
|
|
|
538
541
|
}
|
|
539
542
|
}, [customDocModalOpen]);
|
|
540
543
|
const availableTickets = useMemo(() => {
|
|
541
|
-
var _a2, _b2;
|
|
544
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
542
545
|
const map = /* @__PURE__ */ new Map();
|
|
543
546
|
for (const t of repairTickets) {
|
|
544
547
|
if (t.id) map.set(t.id, t);
|
|
@@ -546,34 +549,48 @@ const DocumentsPage = () => {
|
|
|
546
549
|
for (const d of documents) {
|
|
547
550
|
const ticketId = d.repair_ticket_id;
|
|
548
551
|
const displayId = d.display_id || "";
|
|
549
|
-
const isRepairDoc = displayId.startsWith("RT-") || displayId.startsWith("JOB-") || Boolean(ticketId);
|
|
552
|
+
const isRepairDoc = displayId.startsWith("RT-") || displayId.startsWith("JOB-") || displayId.startsWith("CERT-") || Boolean(ticketId);
|
|
550
553
|
const idKey = ticketId || displayId;
|
|
551
|
-
if (isRepairDoc && idKey
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
554
|
+
if (isRepairDoc && idKey) {
|
|
555
|
+
if (!map.has(idKey)) {
|
|
556
|
+
const customFields = d.custom_fields || ((_a2 = d.metadata) == null ? void 0 : _a2.custom_fields) || {};
|
|
557
|
+
map.set(idKey, {
|
|
558
|
+
id: idKey,
|
|
559
|
+
ticket_number: String(displayId).replace(/^(RT-|JOB-|CERT-)+/i, "") || idKey,
|
|
560
|
+
customer_name: d.customer_name,
|
|
561
|
+
customer_email: d.customer_email,
|
|
562
|
+
customer_phone: d.customer_phone,
|
|
563
|
+
company_name: ((_b2 = d.customer) == null ? void 0 : _b2.company_name) || ((_c = d.metadata) == null ? void 0 : _c.company_name),
|
|
564
|
+
device: {
|
|
565
|
+
brand: customFields["Brand"] || "",
|
|
566
|
+
model_name: customFields["Device Model"] || customFields["Model"] || "Device",
|
|
567
|
+
serial_number: customFields["Serial / IMEI"] || customFields["Serial Number"] || "N/A",
|
|
568
|
+
condition: customFields["Condition"] || "Good condition"
|
|
569
|
+
},
|
|
570
|
+
accessories: customFields["Accessories"] || "None",
|
|
571
|
+
technician_name: customFields["Technician"] || "Bonifencia A.",
|
|
572
|
+
issue_description: customFields["Reported Issue"] || d.notes || "Standard Service",
|
|
573
|
+
custom_fields: customFields,
|
|
574
|
+
items: ((_d = d.metadata) == null ? void 0 : _d.items) || []
|
|
575
|
+
});
|
|
576
|
+
} else {
|
|
577
|
+
const existing = map.get(idKey);
|
|
578
|
+
if (!existing.customer_name && d.customer_name) existing.customer_name = d.customer_name;
|
|
579
|
+
if (!existing.customer_email && d.customer_email) existing.customer_email = d.customer_email;
|
|
580
|
+
if (!existing.customer_phone && d.customer_phone) existing.customer_phone = d.customer_phone;
|
|
581
|
+
const compName = ((_e = d.customer) == null ? void 0 : _e.company_name) || ((_f = d.metadata) == null ? void 0 : _f.company_name);
|
|
582
|
+
if (!existing.company_name && compName) existing.company_name = compName;
|
|
583
|
+
if ((!((_g = existing.device) == null ? void 0 : _g.model_name) || ((_h = existing.device) == null ? void 0 : _h.model_name) === "Device") && ((_j = (_i = d.metadata) == null ? void 0 : _i.custom_fields) == null ? void 0 : _j["Device Model"])) {
|
|
584
|
+
existing.device = existing.device || {};
|
|
585
|
+
existing.device.model_name = d.metadata.custom_fields["Device Model"];
|
|
586
|
+
}
|
|
587
|
+
}
|
|
571
588
|
}
|
|
572
589
|
}
|
|
573
590
|
return Array.from(map.values());
|
|
574
591
|
}, [repairTickets, documents]);
|
|
575
592
|
const handleSelectRepairTicket = (ticketId) => {
|
|
576
|
-
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
593
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
577
594
|
setSelectedTicketId(ticketId);
|
|
578
595
|
if (!ticketId) return;
|
|
579
596
|
const ticket = availableTickets.find((t) => t.id === ticketId || t.ticket_number === ticketId);
|
|
@@ -583,18 +600,18 @@ const DocumentsPage = () => {
|
|
|
583
600
|
const technician = ticket.technician_name || ((_g = ticket.custom_fields) == null ? void 0 : _g["Technician"]) || "Bonifencia A. (Lead Certified Engineer)";
|
|
584
601
|
const accessories = ticket.accessories || ((_h = ticket.custom_fields) == null ? void 0 : _h["Accessories"]) || "None (Unit only)";
|
|
585
602
|
const condition = ((_i = ticket.device) == null ? void 0 : _i.condition) || ((_j = ticket.custom_fields) == null ? void 0 : _j["Condition"]) || "Good (Normal wear)";
|
|
586
|
-
const cleanNum = String(ticket.ticket_number || ticket.id).replace(/^(RT-|JOB-)+/i, "");
|
|
603
|
+
const cleanNum = String(ticket.ticket_number || ticket.id).replace(/^(RT-|JOB-|CERT-)+/i, "");
|
|
587
604
|
const ticketRef = `RT-${cleanNum}`;
|
|
588
|
-
const customerName = ((_k = ticket.customer) == null ? void 0 : _k.
|
|
589
|
-
const customerEmail = ((
|
|
590
|
-
const customerPhone = ((
|
|
591
|
-
const companyName = ((
|
|
605
|
+
const customerName = (((_k = ticket.customer) == null ? void 0 : _k.first_name) ? `${ticket.customer.first_name} ${ticket.customer.last_name || ""}`.trim() : "") || ((_l = ticket.customer) == null ? void 0 : _l.name) || ticket.customer_name || ((_m = ticket.metadata) == null ? void 0 : _m.customer_name) || ((_n = ticket.customer) == null ? void 0 : _n.company_name) || ticket.company_name || "Valued Customer";
|
|
606
|
+
const customerEmail = ((_o = ticket.customer) == null ? void 0 : _o.email) || ticket.customer_email || ((_p = ticket.metadata) == null ? void 0 : _p.customer_email) || "";
|
|
607
|
+
const customerPhone = ((_q = ticket.customer) == null ? void 0 : _q.phone) || ticket.customer_phone || ((_r = ticket.metadata) == null ? void 0 : _r.customer_phone) || "";
|
|
608
|
+
const companyName = ((_s = ticket.customer) == null ? void 0 : _s.company_name) || ticket.company_name || ((_t = ticket.metadata) == null ? void 0 : _t.company_name) || "";
|
|
592
609
|
const ticketItems = [];
|
|
593
610
|
if (ticket.product_variants && Array.isArray(ticket.product_variants) && ticket.product_variants.length > 0) {
|
|
594
611
|
for (const pv of ticket.product_variants) {
|
|
595
|
-
const qty = Number(pv.quantity || ((
|
|
596
|
-
const unitPrice = Number(pv.unit_price ?? pv.price ?? ((
|
|
597
|
-
const partTitle = ((
|
|
612
|
+
const qty = Number(pv.quantity || ((_u = pv.pivot) == null ? void 0 : _u.quantity) || 1);
|
|
613
|
+
const unitPrice = Number(pv.unit_price ?? pv.price ?? ((_w = (_v = pv.prices) == null ? void 0 : _v[0]) == null ? void 0 : _w.amount) ?? 0);
|
|
614
|
+
const partTitle = ((_x = pv.product) == null ? void 0 : _x.title) ? `${pv.product.title}${pv.title && pv.title !== "Default Variant" ? ` (${pv.title})` : ""}` : pv.title || ((_y = pv.product) == null ? void 0 : _y.title) || "Inventory Part";
|
|
598
615
|
ticketItems.push({
|
|
599
616
|
title: partTitle,
|
|
600
617
|
description: pv.sku ? `SKU: ${pv.sku}` : "",
|
|
@@ -613,7 +630,7 @@ const DocumentsPage = () => {
|
|
|
613
630
|
});
|
|
614
631
|
}
|
|
615
632
|
}
|
|
616
|
-
if (((
|
|
633
|
+
if (((_z = ticket.device) == null ? void 0 : _z.parts_used) && Array.isArray(ticket.device.parts_used)) {
|
|
617
634
|
for (const p of ticket.device.parts_used) {
|
|
618
635
|
ticketItems.push({
|
|
619
636
|
title: p.name || p.title || "Replacement Part",
|
|
@@ -834,6 +851,7 @@ const DocumentsPage = () => {
|
|
|
834
851
|
headers: { "Content-Type": "application/json" },
|
|
835
852
|
body: JSON.stringify({
|
|
836
853
|
title: customDocForm.title,
|
|
854
|
+
repair_ticket_id: selectedTicketId || void 0,
|
|
837
855
|
customer: {
|
|
838
856
|
name: customDocForm.customer_name,
|
|
839
857
|
company_name: customDocForm.company_name || void 0,
|
|
@@ -6,7 +6,7 @@ const documents_1 = require("../../../../modules/documents");
|
|
|
6
6
|
async function POST(req, res) {
|
|
7
7
|
try {
|
|
8
8
|
const documentService = req.scope.resolve(documents_1.DOCUMENTS_MODULE);
|
|
9
|
-
const { title = "Custom Document", customer, body_text, items = [], total = 0, currency_code = "kes", notes, custom_fields, send_email_now = true, email_subject, custom_email_message, } = req.body || {};
|
|
9
|
+
const { title = "Custom Document", customer, body_text, items = [], total = 0, currency_code = "kes", notes, custom_fields, repair_ticket_id, send_email_now = true, email_subject, custom_email_message, } = req.body || {};
|
|
10
10
|
let computedTotal = Number(total || 0);
|
|
11
11
|
if (items.length > 0 && computedTotal === 0) {
|
|
12
12
|
for (const item of items) {
|
|
@@ -17,8 +17,9 @@ async function POST(req, res) {
|
|
|
17
17
|
const result = await documentService.generateDocument({
|
|
18
18
|
title: title,
|
|
19
19
|
type: "custom",
|
|
20
|
+
repair_ticket_id: repair_ticket_id || undefined,
|
|
20
21
|
customer: {
|
|
21
|
-
name:
|
|
22
|
+
name: customer?.name || companyName || "Customer",
|
|
22
23
|
company_name: companyName || undefined,
|
|
23
24
|
email: customer?.email,
|
|
24
25
|
phone: customer?.phone,
|
|
@@ -47,4 +48,4 @@ async function POST(req, res) {
|
|
|
47
48
|
return res.status(500).json({ message: err.message, success: false });
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy9jdXN0b20vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxvQkFnRUM7QUFwRUQsNkRBQWlFO0FBR2pFLCtCQUErQjtBQUN4QixLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQXVCLEVBQUUsR0FBbUI7SUFDckUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxlQUFlLEdBQTBCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRCQUFnQixDQUFDLENBQUM7UUFFbkYsTUFBTSxFQUNKLEtBQUssR0FBRyxpQkFBaUIsRUFDekIsUUFBUSxFQUNSLFNBQVMsRUFDVCxLQUFLLEdBQUcsRUFBRSxFQUNWLEtBQUssR0FBRyxDQUFDLEVBQ1QsYUFBYSxHQUFHLEtBQUssRUFDckIsS0FBSyxFQUNMLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxHQUFHLElBQUksRUFDckIsYUFBYSxFQUNiLG9CQUFvQixHQUNyQixHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRW5CLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDekIsYUFBYSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsUUFBUSxFQUFFLFlBQVksSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztRQUVyRSxNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FDbkQ7WUFDRSxLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsZ0JBQWdCLElBQUksU0FBUztZQUMvQyxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksV0FBVyxJQUFJLFVBQVU7Z0JBQ2pELFlBQVksRUFBRSxXQUFXLElBQUksU0FBUztnQkFDdEMsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLO2dCQUN0QixLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUs7Z0JBQ3RCLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTzthQUMzQjtZQUNELEtBQUs7WUFDTCxLQUFLLEVBQUUsYUFBYTtZQUNwQixhQUFhLEVBQUUsYUFBYSxJQUFJLEtBQUs7WUFDckMsU0FBUztZQUNULEtBQUs7WUFDTCxhQUFhO1lBQ2IsWUFBWSxFQUFFLFFBQVE7WUFDdEIsU0FBUyxFQUFFLGNBQWM7WUFDekIscUJBQXFCLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDaEMsYUFBYSxFQUFFLGFBQWEsSUFBSSxHQUFHLEtBQUssU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLFlBQVksSUFBSSxPQUFPLEVBQUU7WUFDcEYsb0JBQW9CLEVBQUUsb0JBQW9CLElBQUksU0FBUztTQUN4RCxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQztRQUVGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQztZQUNkLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTTtZQUN2QixjQUFjLEVBQUUsY0FBYztZQUM5QixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxxREFBcUQsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkcsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -14,8 +14,10 @@ async function GET(req, res) {
|
|
|
14
14
|
const validStyles = ["modern", "classic", "minimal", "zoho_exact", "standard"];
|
|
15
15
|
const style = validStyles.includes(rawStyle) ? rawStyle : "modern";
|
|
16
16
|
const rawType = String(req.query.type || "").trim().toLowerCase();
|
|
17
|
-
const
|
|
18
|
-
const
|
|
17
|
+
const isCertRequest = rawType === "certificate";
|
|
18
|
+
const validTypes = ["invoice", "receipt", "packing_slip", "estimate", "custom", "job_card", "service_report", "handover", "certificate"];
|
|
19
|
+
const resolvedType = isCertRequest ? "custom" : (validTypes.includes(rawType) ? rawType : "invoice");
|
|
20
|
+
const type = resolvedType;
|
|
19
21
|
const isJobCard = type === "job_card";
|
|
20
22
|
const isCustom = type === "custom";
|
|
21
23
|
const isReceipt = type === "receipt";
|
|
@@ -150,6 +152,34 @@ async function GET(req, res) {
|
|
|
150
152
|
},
|
|
151
153
|
notes: "Ownership transfers immediately upon document execution. Valuation is binding and irrevocable once trade-in payout or store credit is issued.",
|
|
152
154
|
},
|
|
155
|
+
blank: {
|
|
156
|
+
title: "Official Document",
|
|
157
|
+
body_text: "This official technical document confirms the specifications, service terms, and verified conditions documented by Urban Device Care for the specified customer asset.",
|
|
158
|
+
items: [
|
|
159
|
+
{ title: "Professional Hardware Inspection & Maintenance Service", description: "Certified technical evaluation and service clearance", quantity: 1, unit_price: 0, total: 0 },
|
|
160
|
+
],
|
|
161
|
+
custom_fields: {
|
|
162
|
+
"Device Model": "Computing Asset / Hardware Module",
|
|
163
|
+
"Serial / IMEI": "SN-XXXX-XXXX",
|
|
164
|
+
"Ticket Reference": "RT-2024-0001",
|
|
165
|
+
"Technician": "Bonifencia A.",
|
|
166
|
+
},
|
|
167
|
+
notes: "Standard terms and conditions apply. For inquiries, contact info@urbandevicecare.co.uk.",
|
|
168
|
+
},
|
|
169
|
+
generic: {
|
|
170
|
+
title: "Official Document",
|
|
171
|
+
body_text: "This official technical document confirms the specifications, service terms, and verified conditions documented by Urban Device Care for the specified customer asset.",
|
|
172
|
+
items: [
|
|
173
|
+
{ title: "Professional Hardware Inspection & Maintenance Service", description: "Certified technical evaluation and service clearance", quantity: 1, unit_price: 0, total: 0 },
|
|
174
|
+
],
|
|
175
|
+
custom_fields: {
|
|
176
|
+
"Device Model": "Computing Asset / Hardware Module",
|
|
177
|
+
"Serial / IMEI": "SN-XXXX-XXXX",
|
|
178
|
+
"Ticket Reference": "RT-2024-0001",
|
|
179
|
+
"Technician": "Bonifencia A.",
|
|
180
|
+
},
|
|
181
|
+
notes: "Standard terms and conditions apply. For inquiries, contact info@urbandevicecare.co.uk.",
|
|
182
|
+
},
|
|
153
183
|
};
|
|
154
184
|
const activePreset = isCustom ? (PRESETS[rawPreset] || PRESETS.warranty) : null;
|
|
155
185
|
const sampleData = {
|
|
@@ -294,4 +324,4 @@ async function GET(req, res) {
|
|
|
294
324
|
}
|
|
295
325
|
// HEAD /admin/documents/templates/preview
|
|
296
326
|
exports.HEAD = GET;
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkF3U0M7QUEvU0QsZ0VBQW9FO0FBRXBFLCtFQUF5RjtBQUU1RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsK0lBQStJO0FBQ3hJLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFX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
|
|
327
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkFzVUM7QUE3VUQsZ0VBQW9FO0FBRXBFLCtFQUF5RjtBQUU1RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsK0lBQStJO0FBQ3hJLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFX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
|
|
@@ -14,8 +14,10 @@ async function GET(req, res) {
|
|
|
14
14
|
const validStyles = ["modern", "classic", "minimal", "zoho_exact", "standard"];
|
|
15
15
|
const style = validStyles.includes(rawStyle) ? rawStyle : "modern";
|
|
16
16
|
const rawType = String(req.query.type || "").trim().toLowerCase();
|
|
17
|
-
const
|
|
18
|
-
const
|
|
17
|
+
const isCertRequest = rawType === "certificate";
|
|
18
|
+
const validTypes = ["invoice", "receipt", "packing_slip", "estimate", "custom", "job_card", "service_report", "handover", "certificate"];
|
|
19
|
+
const resolvedType = isCertRequest ? "custom" : (validTypes.includes(rawType) ? rawType : "invoice");
|
|
20
|
+
const type = resolvedType;
|
|
19
21
|
const isJobCard = type === "job_card";
|
|
20
22
|
const isCustom = type === "custom";
|
|
21
23
|
const isReceipt = type === "receipt";
|
|
@@ -150,6 +152,34 @@ async function GET(req, res) {
|
|
|
150
152
|
},
|
|
151
153
|
notes: "Ownership transfers immediately upon document execution. Valuation is binding and irrevocable once trade-in payout or store credit is issued.",
|
|
152
154
|
},
|
|
155
|
+
blank: {
|
|
156
|
+
title: "Official Document",
|
|
157
|
+
body_text: "This official technical document confirms the specifications, service terms, and verified conditions documented by Urban Device Care for the specified customer asset.",
|
|
158
|
+
items: [
|
|
159
|
+
{ title: "Professional Hardware Inspection & Maintenance Service", description: "Certified technical evaluation and service clearance", quantity: 1, unit_price: 0, total: 0 },
|
|
160
|
+
],
|
|
161
|
+
custom_fields: {
|
|
162
|
+
"Device Model": "Computing Asset / Hardware Module",
|
|
163
|
+
"Serial / IMEI": "SN-XXXX-XXXX",
|
|
164
|
+
"Ticket Reference": "RT-2024-0001",
|
|
165
|
+
"Technician": "Bonifencia A.",
|
|
166
|
+
},
|
|
167
|
+
notes: "Standard terms and conditions apply. For inquiries, contact info@urbandevicecare.co.uk.",
|
|
168
|
+
},
|
|
169
|
+
generic: {
|
|
170
|
+
title: "Official Document",
|
|
171
|
+
body_text: "This official technical document confirms the specifications, service terms, and verified conditions documented by Urban Device Care for the specified customer asset.",
|
|
172
|
+
items: [
|
|
173
|
+
{ title: "Professional Hardware Inspection & Maintenance Service", description: "Certified technical evaluation and service clearance", quantity: 1, unit_price: 0, total: 0 },
|
|
174
|
+
],
|
|
175
|
+
custom_fields: {
|
|
176
|
+
"Device Model": "Computing Asset / Hardware Module",
|
|
177
|
+
"Serial / IMEI": "SN-XXXX-XXXX",
|
|
178
|
+
"Ticket Reference": "RT-2024-0001",
|
|
179
|
+
"Technician": "Bonifencia A.",
|
|
180
|
+
},
|
|
181
|
+
notes: "Standard terms and conditions apply. For inquiries, contact info@urbandevicecare.co.uk.",
|
|
182
|
+
},
|
|
153
183
|
};
|
|
154
184
|
const activePreset = isCustom ? (PRESETS[rawPreset] || PRESETS.warranty) : null;
|
|
155
185
|
const sampleData = {
|
|
@@ -297,4 +327,4 @@ async function GET(req, res) {
|
|
|
297
327
|
}
|
|
298
328
|
// HEAD /documents/templates/preview
|
|
299
329
|
exports.HEAD = GET;
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkEwU0M7QUFqVEQsNkRBQWlFO0FBRWpFLDRFQUFzRjtBQUV6RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsaUtBQWlLO0FBQzFKLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FB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
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkF3VUM7QUEvVUQsNkRBQWlFO0FBRWpFLDRFQUFzRjtBQUV6RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsaUtBQWlLO0FBQzFKLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FB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
|