medusa-pos-plugin 0.0.43 → 0.0.44
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/api/admin/barcode-template/route.js +42 -3
- package/.medusa/server/src/api/admin/pos/custom-print-templates/route.js +92 -0
- package/.medusa/server/src/api/admin/pos/print-settings/route.js +14 -6
- package/.medusa/server/src/utils/custom-print-templates-store.js +97 -0
- package/.medusa/server/src/utils/pos-access.js +2 -1
- package/.medusa/server/src/utils/print-settings-store.js +47 -13
- package/.medusa/server/src/utils/print-templates-catalog.js +22 -1
- package/package.json +5 -1
|
@@ -6,6 +6,9 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
6
6
|
const barcode_labels_1 = require("../../../utils/barcode-labels");
|
|
7
7
|
const barcode_templates_1 = require("../../../utils/barcode-templates");
|
|
8
8
|
const print_settings_store_1 = require("../../../utils/print-settings-store");
|
|
9
|
+
const print_templates_catalog_1 = require("../../../utils/print-templates-catalog");
|
|
10
|
+
const custom_print_templates_store_1 = require("../../../utils/custom-print-templates-store");
|
|
11
|
+
const print_templates_1 = require("@pradip1995/pos-common/print-templates");
|
|
9
12
|
const VARIANT_FIELDS = [
|
|
10
13
|
"id",
|
|
11
14
|
"barcode",
|
|
@@ -85,8 +88,8 @@ async function POST(req, res) {
|
|
|
85
88
|
const printHeight = Number(body.print_height) || 60;
|
|
86
89
|
(0, barcode_labels_1.warnIgnoredHostBarcodeTemplate)();
|
|
87
90
|
const { barcodeTemplateId } = (0, print_settings_store_1.getPrintSettings)();
|
|
88
|
-
const
|
|
89
|
-
const contactHtml = (0, barcode_labels_1.buildContactHtml)(
|
|
91
|
+
const contactDetails = await loadContactDetails(req.scope);
|
|
92
|
+
const contactHtml = (0, barcode_labels_1.buildContactHtml)(contactDetails);
|
|
90
93
|
const regionId = await resolveRegionId(req.scope, body.region_id);
|
|
91
94
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
92
95
|
const { data: variantsRaw = [] } = await query.graph({
|
|
@@ -113,6 +116,42 @@ async function POST(req, res) {
|
|
|
113
116
|
res.status(404).json({ error: "No variants found for the given ids" });
|
|
114
117
|
return;
|
|
115
118
|
}
|
|
119
|
+
if ((0, print_templates_catalog_1.isCustomBarcodeTemplateId)(barcodeTemplateId)) {
|
|
120
|
+
const customHtml = (0, custom_print_templates_store_1.getCustomPrintTemplateHtml)(barcodeTemplateId);
|
|
121
|
+
if (!customHtml) {
|
|
122
|
+
res.status(400).json({ error: "Custom barcode template HTML missing" });
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const items = ordered.map((v) => {
|
|
126
|
+
const { mrp, sale } = (0, barcode_labels_1.resolvePrices)(v);
|
|
127
|
+
const price = sale > 0 && sale < mrp ? sale : mrp;
|
|
128
|
+
const sizeOpt = (v.options || []).find((o) => /size/i.test(o.option?.title || o.title || ""));
|
|
129
|
+
const colorOpt = (v.options || []).find((o) => /color/i.test(o.option?.title || o.title || ""));
|
|
130
|
+
return {
|
|
131
|
+
barcode: String(v.barcode || v.id),
|
|
132
|
+
title: v.product?.title || "Product",
|
|
133
|
+
variantTitle: (v.options || [])
|
|
134
|
+
.map((o) => `${o.option?.title || o.title || "Opt"}: ${o.value || ""}`)
|
|
135
|
+
.join(" · "),
|
|
136
|
+
priceLabel: price > 0 ? `₹ ${price}` : "",
|
|
137
|
+
quantity: 1,
|
|
138
|
+
size: sizeOpt?.value || "",
|
|
139
|
+
color: colorOpt?.value || "",
|
|
140
|
+
countryOfOrigin: "INDIA",
|
|
141
|
+
manufacturerLine: contactDetails.address || "",
|
|
142
|
+
complaintEmail: contactDetails.email || "",
|
|
143
|
+
complaintPhone: contactDetails.phone || "",
|
|
144
|
+
};
|
|
145
|
+
});
|
|
146
|
+
const html = (0, print_templates_1.renderCustomBarcodeSheetHtml)(customHtml, items);
|
|
147
|
+
res.json({
|
|
148
|
+
html,
|
|
149
|
+
count: items.length,
|
|
150
|
+
variants: uniqueVariantIds.length,
|
|
151
|
+
});
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const template = (0, barcode_templates_1.resolveBarcodeTemplate)(barcodeTemplateId);
|
|
116
155
|
const { html, count } = (0, barcode_labels_1.renderBarcodeLabelsHtml)({
|
|
117
156
|
template,
|
|
118
157
|
variants: ordered,
|
|
@@ -135,4 +174,4 @@ async function POST(req, res) {
|
|
|
135
174
|
});
|
|
136
175
|
}
|
|
137
176
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2JhcmNvZGUtdGVtcGxhdGUvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFxR0Esa0JBY0M7QUFTRCxvQkFtSEM7QUE5T0QscURBSWtDO0FBQ2xDLGtFQVVzQztBQUN0Qyx3RUFBeUU7QUFDekUsOEVBQXNFO0FBQ3RFLG9GQUFrRjtBQUNsRiw4RkFBd0Y7QUFDeEYsNEVBQXFGO0FBdUJyRixNQUFNLGNBQWMsR0FBRztJQUNyQixJQUFJO0lBQ0osU0FBUztJQUNULEtBQUs7SUFDTCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6QixnQ0FBZ0M7SUFDaEMsZ0NBQWdDO0NBQ2pDLENBQUE7QUFFRCxTQUFTLFlBQVksQ0FBQyxLQUFjO0lBQ2xDLE9BQU8sQ0FDTCxDQUFDLENBQUMsS0FBSztRQUNQLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsT0FBUSxLQUEwQixDQUFDLEVBQUUsS0FBSyxRQUFRLENBQ25ELENBQUE7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQixDQUMvQixLQUE2QjtJQUU3QixJQUFJLENBQUM7UUFDSCxNQUFNLG9CQUFvQixHQUN4QixLQUFLLENBQUMsT0FBTyxDQUF1QixnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3ZELE9BQU8sSUFBQSx5Q0FBd0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUFDLE9BQU8sV0FBVyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxvREFBb0QsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FB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
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
exports.PUT = PUT;
|
|
6
|
+
exports.DELETE = DELETE;
|
|
7
|
+
const custom_1 = require("@pradip1995/pos-common/print-templates/custom");
|
|
8
|
+
const custom_print_templates_store_1 = require("../../../../utils/custom-print-templates-store");
|
|
9
|
+
/**
|
|
10
|
+
* GET /admin/pos/custom-print-templates?type=bill|barcode
|
|
11
|
+
*/
|
|
12
|
+
async function GET(req, res) {
|
|
13
|
+
const typeRaw = typeof req.query?.type === "string" ? req.query.type : undefined;
|
|
14
|
+
const type = typeRaw === "bill" || typeRaw === "barcode" ? typeRaw : undefined;
|
|
15
|
+
res.status(200).json({
|
|
16
|
+
templates: (0, custom_print_templates_store_1.listCustomPrintTemplates)(type),
|
|
17
|
+
variables: {
|
|
18
|
+
bill: (0, custom_1.listTemplateVariables)("bill"),
|
|
19
|
+
barcode: (0, custom_1.listTemplateVariables)("barcode"),
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* POST /admin/pos/custom-print-templates — create (id optional → generated)
|
|
25
|
+
* PUT — upsert by id (used by deployer sync)
|
|
26
|
+
*/
|
|
27
|
+
async function POST(req, res) {
|
|
28
|
+
try {
|
|
29
|
+
const body = (req.body && typeof req.body === "object"
|
|
30
|
+
? req.body
|
|
31
|
+
: {});
|
|
32
|
+
const type = body.type === "barcode" ? "barcode" : body.type === "bill" ? "bill" : null;
|
|
33
|
+
if (!type) {
|
|
34
|
+
res.status(400).json({ error: "type must be bill or barcode" });
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const name = String(body.name || "").trim();
|
|
38
|
+
const html = String(body.html || "");
|
|
39
|
+
let id = typeof body.id === "string" ? body.id.trim() : "";
|
|
40
|
+
if (!id) {
|
|
41
|
+
const suffix = `c${Date.now().toString(36)}${Math.random().toString(36).slice(2, 8)}`;
|
|
42
|
+
id = type === "bill" ? `custom-bill-${suffix}` : `custom-barcode-${suffix}`;
|
|
43
|
+
}
|
|
44
|
+
const template = (0, custom_print_templates_store_1.upsertCustomPrintTemplate)({ id, type, name, html });
|
|
45
|
+
res.status(201).json({ template });
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
const message = err instanceof Error ? err.message : "Create failed";
|
|
49
|
+
res.status(400).json({ error: message });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function PUT(req, res) {
|
|
53
|
+
try {
|
|
54
|
+
const body = (req.body && typeof req.body === "object"
|
|
55
|
+
? req.body
|
|
56
|
+
: {});
|
|
57
|
+
const type = body.type === "barcode" ? "barcode" : body.type === "bill" ? "bill" : null;
|
|
58
|
+
const id = typeof body.id === "string" ? body.id.trim() : "";
|
|
59
|
+
if (!type || !id) {
|
|
60
|
+
res.status(400).json({ error: "id and type are required" });
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const template = (0, custom_print_templates_store_1.upsertCustomPrintTemplate)({
|
|
64
|
+
id,
|
|
65
|
+
type,
|
|
66
|
+
name: String(body.name || "Custom template"),
|
|
67
|
+
html: String(body.html || ""),
|
|
68
|
+
});
|
|
69
|
+
res.status(200).json({ template });
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
const message = err instanceof Error ? err.message : "Upsert failed";
|
|
73
|
+
res.status(400).json({ error: message });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* DELETE /admin/pos/custom-print-templates?id=custom-bill-…
|
|
78
|
+
*/
|
|
79
|
+
async function DELETE(req, res) {
|
|
80
|
+
const id = typeof req.query?.id === "string" ? req.query.id : "";
|
|
81
|
+
if (!id) {
|
|
82
|
+
res.status(400).json({ error: "id is required" });
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!(0, custom_print_templates_store_1.getCustomPrintTemplate)(id)) {
|
|
86
|
+
res.status(404).json({ error: "Template not found" });
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
(0, custom_print_templates_store_1.deleteCustomPrintTemplate)(id);
|
|
90
|
+
res.status(200).json({ ok: true });
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9jdXN0b20tcHJpbnQtdGVtcGxhdGVzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBWUEsa0JBVUM7QUFNRCxvQkF1QkM7QUFFRCxrQkFzQkM7QUFLRCx3QkFZQztBQTNGRCwwRUFBcUY7QUFDckYsaUdBS3VEO0FBRXZEOztHQUVHO0FBQ0ksS0FBSyxVQUFVLEdBQUcsQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQy9ELE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ2hGLE1BQU0sSUFBSSxHQUFHLE9BQU8sS0FBSyxNQUFNLElBQUksT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDOUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkIsU0FBUyxFQUFFLElBQUEsdURBQXdCLEVBQUMsSUFBSSxDQUFDO1FBQ3pDLFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxJQUFBLDhCQUFxQixFQUFDLE1BQU0sQ0FBQztZQUNuQyxPQUFPLEVBQUUsSUFBQSw4QkFBcUIsRUFBQyxTQUFTLENBQUM7U0FDMUM7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQ2hFLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUNwRCxDQUFDLENBQUMsR0FB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
|
|
@@ -4,12 +4,14 @@ exports.GET = GET;
|
|
|
4
4
|
exports.PATCH = PATCH;
|
|
5
5
|
const print_templates_catalog_1 = require("../../../../utils/print-templates-catalog");
|
|
6
6
|
const print_settings_store_1 = require("../../../../utils/print-settings-store");
|
|
7
|
+
const custom_print_templates_store_1 = require("../../../../utils/custom-print-templates-store");
|
|
7
8
|
function responsePayload() {
|
|
8
9
|
const settings = (0, print_settings_store_1.getPrintSettings)();
|
|
9
10
|
return {
|
|
10
11
|
billTemplateId: settings.billTemplateId,
|
|
11
12
|
barcodeTemplateId: settings.barcodeTemplateId,
|
|
12
13
|
catalog: (0, print_templates_catalog_1.printTemplatesCatalog)(),
|
|
14
|
+
customTemplates: (0, custom_print_templates_store_1.listCustomPrintTemplates)(),
|
|
13
15
|
};
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
@@ -26,10 +28,16 @@ async function PATCH(req, res) {
|
|
|
26
28
|
const body = (req.body && typeof req.body === "object"
|
|
27
29
|
? req.body
|
|
28
30
|
: {});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
try {
|
|
32
|
+
(0, print_settings_store_1.updatePrintSettings)({
|
|
33
|
+
billTemplateId: body.billTemplateId,
|
|
34
|
+
barcodeTemplateId: body.barcodeTemplateId,
|
|
35
|
+
});
|
|
36
|
+
res.status(200).json(responsePayload());
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
const message = err instanceof Error ? err.message : "Update failed";
|
|
40
|
+
res.status(400).json({ error: message });
|
|
41
|
+
}
|
|
34
42
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy9wcmludC1zZXR0aW5ncy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFCQSxrQkFFQztBQU1ELHNCQWVDO0FBM0NELHVGQUFpRjtBQUNqRixpRkFHK0M7QUFDL0MsaUdBQXlGO0FBRXpGLFNBQVMsZUFBZTtJQUN0QixNQUFNLFFBQVEsR0FBRyxJQUFBLHVDQUFnQixHQUFFLENBQUE7SUFDbkMsT0FBTztRQUNMLGNBQWMsRUFBRSxRQUFRLENBQUMsY0FBYztRQUN2QyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsaUJBQWlCO1FBQzdDLE9BQU8sRUFBRSxJQUFBLCtDQUFxQixHQUFFO1FBQ2hDLGVBQWUsRUFBRSxJQUFBLHVEQUF3QixHQUFFO0tBQzVDLENBQUE7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUsR0FBRyxDQUFDLElBQW1CLEVBQUUsR0FBbUI7SUFDaEUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQTtBQUN6QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLEtBQUssQ0FBQyxHQUFrQixFQUFFLEdBQW1CO0lBQ2pFLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUTtRQUNwRCxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUk7UUFDVixDQUFDLENBQUMsRUFBRSxDQUE0QixDQUFBO0lBRWxDLElBQUksQ0FBQztRQUNILElBQUEsMENBQW1CLEVBQUM7WUFDbEIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7U0FDMUMsQ0FBQyxDQUFBO1FBQ0YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sT0FBTyxHQUFHLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQTtRQUNwRSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listCustomPrintTemplates = listCustomPrintTemplates;
|
|
7
|
+
exports.getCustomPrintTemplate = getCustomPrintTemplate;
|
|
8
|
+
exports.getCustomPrintTemplateHtml = getCustomPrintTemplateHtml;
|
|
9
|
+
exports.upsertCustomPrintTemplate = upsertCustomPrintTemplate;
|
|
10
|
+
exports.deleteCustomPrintTemplate = deleteCustomPrintTemplate;
|
|
11
|
+
exports.resetCustomPrintTemplatesForTests = resetCustomPrintTemplatesForTests;
|
|
12
|
+
const fs_1 = __importDefault(require("fs"));
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const custom_1 = require("@pradip1995/pos-common/print-templates/custom");
|
|
15
|
+
function storeFilePath() {
|
|
16
|
+
return path_1.default.join(process.cwd(), ".medusa", "pos-custom-print-templates.json");
|
|
17
|
+
}
|
|
18
|
+
function readStore() {
|
|
19
|
+
try {
|
|
20
|
+
const file = storeFilePath();
|
|
21
|
+
if (!fs_1.default.existsSync(file))
|
|
22
|
+
return { templates: [] };
|
|
23
|
+
const raw = JSON.parse(fs_1.default.readFileSync(file, "utf-8"));
|
|
24
|
+
return { templates: Array.isArray(raw.templates) ? raw.templates : [] };
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return { templates: [] };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function writeStore(store) {
|
|
31
|
+
const file = storeFilePath();
|
|
32
|
+
fs_1.default.mkdirSync(path_1.default.dirname(file), { recursive: true });
|
|
33
|
+
fs_1.default.writeFileSync(file, JSON.stringify(store, null, 2) + "\n", "utf-8");
|
|
34
|
+
}
|
|
35
|
+
function listCustomPrintTemplates(type) {
|
|
36
|
+
const all = readStore().templates;
|
|
37
|
+
return type ? all.filter((t) => t.type === type) : all;
|
|
38
|
+
}
|
|
39
|
+
function getCustomPrintTemplate(id) {
|
|
40
|
+
return readStore().templates.find((t) => t.id === id) ?? null;
|
|
41
|
+
}
|
|
42
|
+
function getCustomPrintTemplateHtml(id) {
|
|
43
|
+
return getCustomPrintTemplate(id)?.html ?? null;
|
|
44
|
+
}
|
|
45
|
+
function upsertCustomPrintTemplate(input) {
|
|
46
|
+
if (input.type === "bill" && !(0, custom_1.isCustomBillTemplateId)(input.id)) {
|
|
47
|
+
throw new Error("Bill custom template id must start with custom-bill-");
|
|
48
|
+
}
|
|
49
|
+
if (input.type === "barcode" && !(0, custom_1.isCustomBarcodeTemplateId)(input.id)) {
|
|
50
|
+
throw new Error("Barcode custom template id must start with custom-barcode-");
|
|
51
|
+
}
|
|
52
|
+
const name = String(input.name || "").trim();
|
|
53
|
+
if (!name)
|
|
54
|
+
throw new Error("Template name is required");
|
|
55
|
+
const validation = (0, custom_1.validateCustomTemplateHtml)(input.html, input.type);
|
|
56
|
+
if (!validation.ok) {
|
|
57
|
+
throw new Error(validation.issues.map((i) => i.message).join("; "));
|
|
58
|
+
}
|
|
59
|
+
const store = readStore();
|
|
60
|
+
const next = {
|
|
61
|
+
id: input.id,
|
|
62
|
+
type: input.type,
|
|
63
|
+
name,
|
|
64
|
+
html: validation.sanitizedHtml,
|
|
65
|
+
schemaVersion: 1,
|
|
66
|
+
updatedAt: new Date().toISOString(),
|
|
67
|
+
};
|
|
68
|
+
const idx = store.templates.findIndex((t) => t.id === input.id);
|
|
69
|
+
if (idx >= 0)
|
|
70
|
+
store.templates[idx] = next;
|
|
71
|
+
else
|
|
72
|
+
store.templates.push(next);
|
|
73
|
+
writeStore(store);
|
|
74
|
+
return next;
|
|
75
|
+
}
|
|
76
|
+
function deleteCustomPrintTemplate(id) {
|
|
77
|
+
const store = readStore();
|
|
78
|
+
const before = store.templates.length;
|
|
79
|
+
store.templates = store.templates.filter((t) => t.id !== id);
|
|
80
|
+
if (store.templates.length === before)
|
|
81
|
+
return false;
|
|
82
|
+
writeStore(store);
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
/** @internal */
|
|
86
|
+
function resetCustomPrintTemplatesForTests(cwd) {
|
|
87
|
+
const file = cwd
|
|
88
|
+
? path_1.default.join(cwd, ".medusa", "pos-custom-print-templates.json")
|
|
89
|
+
: storeFilePath();
|
|
90
|
+
try {
|
|
91
|
+
fs_1.default.rmSync(file, { force: true });
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// ignore
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXByaW50LXRlbXBsYXRlcy1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9jdXN0b20tcHJpbnQtdGVtcGxhdGVzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBMENBLDREQUtDO0FBRUQsd0RBSUM7QUFFRCxnRUFFQztBQUVELDhEQWtDQztBQUVELDhEQU9DO0FBR0QsOEVBU0M7QUFsSEQsNENBQW1CO0FBQ25CLGdEQUF1QjtBQUN2QiwwRUFJc0Q7QUFldEQsU0FBUyxhQUFhO0lBQ3BCLE9BQU8sY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLGlDQUFpQyxDQUFDLENBQUE7QUFDL0UsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNoQixJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxhQUFhLEVBQUUsQ0FBQTtRQUM1QixJQUFJLENBQUMsWUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFBO1FBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQWMsQ0FBQTtRQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQTtJQUN6RSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWdCO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLGFBQWEsRUFBRSxDQUFB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
|
|
@@ -49,6 +49,7 @@ const SETTINGS_WRITE_BLOCKED = [
|
|
|
49
49
|
"/admin/notifications",
|
|
50
50
|
"/admin/pos/setup",
|
|
51
51
|
"/admin/pos/print-settings",
|
|
52
|
+
"/admin/pos/custom-print-templates",
|
|
52
53
|
];
|
|
53
54
|
/** Catalog, pricing, stock and money-back actions: manager and owner. */
|
|
54
55
|
const MANAGER_WRITE_ONLY = [
|
|
@@ -167,4 +168,4 @@ function checkPosAccess(input) {
|
|
|
167
168
|
return checkBindings(path, input.body, claims);
|
|
168
169
|
return null;
|
|
169
170
|
}
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zLWFjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wb3MtYWNjZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBb0JILHNDQU1DO0FBZ0lELHdDQWdDQztBQXhLRCxNQUFNLEtBQUssR0FBYyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFFeEQsU0FBZ0IsYUFBYSxDQUFDLFdBQW9CO0lBQ2hELE1BQU0sR0FBRyxHQUFJLFdBQTZDLEVBQUUsR0FBcUMsQ0FBQTtJQUNqRyxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNoRCxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQ3RFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNqRCxPQUFPLEdBQWdCLENBQUE7QUFDekIsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtBQUVqRSw2REFBNkQ7QUFDN0QsTUFBTSxjQUFjLEdBQUc7SUFDckIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLDZCQUE2QjtDQUM5QixDQUFBO0FBRUQsdUNBQXVDO0FBQ3ZDLE1BQU0sc0JBQXNCLEdBQUc7SUFDN0Isd0JBQXdCO0lBQ3hCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLGtCQUFrQjtJ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
|
|
@@ -10,6 +10,7 @@ exports.resetPrintSettingsForTests = resetPrintSettingsForTests;
|
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
11
11
|
const path_1 = __importDefault(require("path"));
|
|
12
12
|
const print_templates_catalog_1 = require("./print-templates-catalog");
|
|
13
|
+
const custom_print_templates_store_1 = require("./custom-print-templates-store");
|
|
13
14
|
function settingsFilePath() {
|
|
14
15
|
return path_1.default.join(process.cwd(), ".medusa", "pos-print-settings.json");
|
|
15
16
|
}
|
|
@@ -20,8 +21,8 @@ let optionDefaults = {
|
|
|
20
21
|
/** Optional plugin-option defaults (barcodeTemplateId / billTemplateId). */
|
|
21
22
|
function setPrintSettingsOptionDefaults(input) {
|
|
22
23
|
optionDefaults = {
|
|
23
|
-
billTemplateId: (0, print_templates_catalog_1.
|
|
24
|
-
barcodeTemplateId: (0, print_templates_catalog_1.
|
|
24
|
+
billTemplateId: (0, print_templates_catalog_1.resolveActiveBillTemplateId)(input.billTemplateId ?? optionDefaults.billTemplateId),
|
|
25
|
+
barcodeTemplateId: (0, print_templates_catalog_1.resolveActiveBarcodeTemplateId)(input.barcodeTemplateId ?? optionDefaults.barcodeTemplateId),
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
function readFileSettings() {
|
|
@@ -31,8 +32,8 @@ function readFileSettings() {
|
|
|
31
32
|
return null;
|
|
32
33
|
const raw = JSON.parse(fs_1.default.readFileSync(file, "utf-8"));
|
|
33
34
|
return {
|
|
34
|
-
billTemplateId: (0, print_templates_catalog_1.
|
|
35
|
-
barcodeTemplateId: (0, print_templates_catalog_1.
|
|
35
|
+
billTemplateId: (0, print_templates_catalog_1.resolveActiveBillTemplateId)(raw.billTemplateId),
|
|
36
|
+
barcodeTemplateId: (0, print_templates_catalog_1.resolveActiveBarcodeTemplateId)(raw.barcodeTemplateId),
|
|
36
37
|
};
|
|
37
38
|
}
|
|
38
39
|
catch {
|
|
@@ -46,16 +47,49 @@ function getPrintSettings() {
|
|
|
46
47
|
barcodeTemplateId: fromFile?.barcodeTemplateId ?? optionDefaults.barcodeTemplateId,
|
|
47
48
|
};
|
|
48
49
|
}
|
|
50
|
+
function assertActivatable(id, kind) {
|
|
51
|
+
if (kind === "bill") {
|
|
52
|
+
if ((0, print_templates_catalog_1.isCustomBillTemplateId)(id)) {
|
|
53
|
+
if (!(0, custom_print_templates_store_1.getCustomPrintTemplate)(id)) {
|
|
54
|
+
throw new Error(`Custom bill template not found: ${id}`);
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
(0, print_templates_catalog_1.normalizeBillTemplateId)(id);
|
|
59
|
+
if ((0, print_templates_catalog_1.normalizeBillTemplateId)(id) !== id) {
|
|
60
|
+
throw new Error(`Invalid bill template: ${id}`);
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if ((0, print_templates_catalog_1.isCustomBarcodeTemplateId)(id)) {
|
|
65
|
+
if (!(0, custom_print_templates_store_1.getCustomPrintTemplate)(id)) {
|
|
66
|
+
throw new Error(`Custom barcode template not found: ${id}`);
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if ((0, print_templates_catalog_1.normalizeBarcodeTemplateId)(id) !== id) {
|
|
71
|
+
throw new Error(`Invalid barcode template: ${id}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
49
74
|
function updatePrintSettings(patch) {
|
|
50
75
|
const current = getPrintSettings();
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
76
|
+
let billTemplateId = current.billTemplateId;
|
|
77
|
+
let barcodeTemplateId = current.barcodeTemplateId;
|
|
78
|
+
if (patch.billTemplateId !== undefined) {
|
|
79
|
+
billTemplateId = (0, print_templates_catalog_1.resolveActiveBillTemplateId)(patch.billTemplateId);
|
|
80
|
+
if (billTemplateId !== String(patch.billTemplateId)) {
|
|
81
|
+
throw new Error(`Invalid bill template: ${String(patch.billTemplateId)}`);
|
|
82
|
+
}
|
|
83
|
+
assertActivatable(billTemplateId, "bill");
|
|
84
|
+
}
|
|
85
|
+
if (patch.barcodeTemplateId !== undefined) {
|
|
86
|
+
barcodeTemplateId = (0, print_templates_catalog_1.resolveActiveBarcodeTemplateId)(patch.barcodeTemplateId);
|
|
87
|
+
if (barcodeTemplateId !== String(patch.barcodeTemplateId)) {
|
|
88
|
+
throw new Error(`Invalid barcode template: ${String(patch.barcodeTemplateId)}`);
|
|
89
|
+
}
|
|
90
|
+
assertActivatable(barcodeTemplateId, "barcode");
|
|
91
|
+
}
|
|
92
|
+
const next = { billTemplateId, barcodeTemplateId };
|
|
59
93
|
const file = settingsFilePath();
|
|
60
94
|
fs_1.default.mkdirSync(path_1.default.dirname(file), { recursive: true });
|
|
61
95
|
fs_1.default.writeFileSync(file, JSON.stringify(next, null, 2) + "\n", "utf-8");
|
|
@@ -77,4 +111,4 @@ function resetPrintSettingsForTests(cwd) {
|
|
|
77
111
|
barcodeTemplateId: print_templates_catalog_1.DEFAULT_BARCODE_TEMPLATE_ID,
|
|
78
112
|
};
|
|
79
113
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtc2V0dGluZ3Mtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcHJpbnQtc2V0dGluZ3Mtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUErQkEsd0VBWUM7QUFtQkQsNENBUUM7QUEyQkQsa0RBOEJDO0FBR0QsZ0VBYUM7QUEvSUQsNENBQW1CO0FBQ25CLGdEQUF1QjtBQUN2Qix1RUFXa0M7QUFDbEMsaUZBQXVFO0FBT3ZFLFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sY0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixDQUFDLENBQUE7QUFDdkUsQ0FBQztBQUVELElBQUksY0FBYyxHQUFxQjtJQUNyQyxjQUFjLEVBQUUsa0RBQXdCO0lBQ3hDLGlCQUFpQixFQUFFLHFEQUEyQjtDQUMvQyxDQUFBO0FBRUQsNEVBQTRFO0FBQzVFLFNBQWdCLDhCQUE4QixDQUFDLEtBRzlDO0lBQ0MsY0FBYyxHQUFHO1FBQ2YsY0FBYyxFQUFFLElBQUEscURBQTJCLEVBQ3pDLEtBQUssQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FDdEQ7UUFDRCxpQkFBaUIsRUFBRSxJQUFBLHdEQUE4QixFQUMvQyxLQUFLLENBQUMsaUJBQWlCLElBQUksY0FBYyxDQUFDLGlCQUFpQixDQUM1RDtLQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0I7SUFDdkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtRQUMvQixJQUFJLENBQUMsWUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUdwRCxDQUFB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
|
|
@@ -6,6 +6,10 @@ exports.isBillTemplateId = isBillTemplateId;
|
|
|
6
6
|
exports.isBarcodeTemplateId = isBarcodeTemplateId;
|
|
7
7
|
exports.normalizeBillTemplateId = normalizeBillTemplateId;
|
|
8
8
|
exports.normalizeBarcodeTemplateId = normalizeBarcodeTemplateId;
|
|
9
|
+
exports.isCustomBillTemplateId = isCustomBillTemplateId;
|
|
10
|
+
exports.isCustomBarcodeTemplateId = isCustomBarcodeTemplateId;
|
|
11
|
+
exports.resolveActiveBillTemplateId = resolveActiveBillTemplateId;
|
|
12
|
+
exports.resolveActiveBarcodeTemplateId = resolveActiveBarcodeTemplateId;
|
|
9
13
|
exports.printTemplatesCatalog = printTemplatesCatalog;
|
|
10
14
|
exports.DEFAULT_BILL_TEMPLATE_ID = "bill-01";
|
|
11
15
|
exports.DEFAULT_BARCODE_TEMPLATE_ID = "barcode-01";
|
|
@@ -69,6 +73,23 @@ function normalizeBillTemplateId(value) {
|
|
|
69
73
|
function normalizeBarcodeTemplateId(value) {
|
|
70
74
|
return isBarcodeTemplateId(value) ? value : exports.DEFAULT_BARCODE_TEMPLATE_ID;
|
|
71
75
|
}
|
|
76
|
+
function isCustomBillTemplateId(value) {
|
|
77
|
+
return typeof value === "string" && value.startsWith("custom-bill-") && value.length > 12;
|
|
78
|
+
}
|
|
79
|
+
function isCustomBarcodeTemplateId(value) {
|
|
80
|
+
return typeof value === "string" && value.startsWith("custom-barcode-") && value.length > 15;
|
|
81
|
+
}
|
|
82
|
+
/** Catalog id or custom-bill-* / custom-barcode-*; unknown → default catalog. */
|
|
83
|
+
function resolveActiveBillTemplateId(value) {
|
|
84
|
+
if (isCustomBillTemplateId(value))
|
|
85
|
+
return value;
|
|
86
|
+
return normalizeBillTemplateId(value);
|
|
87
|
+
}
|
|
88
|
+
function resolveActiveBarcodeTemplateId(value) {
|
|
89
|
+
if (isCustomBarcodeTemplateId(value))
|
|
90
|
+
return value;
|
|
91
|
+
return normalizeBarcodeTemplateId(value);
|
|
92
|
+
}
|
|
72
93
|
function printTemplatesCatalog() {
|
|
73
94
|
return {
|
|
74
95
|
bills: exports.BILL_TEMPLATES,
|
|
@@ -77,4 +98,4 @@ function printTemplatesCatalog() {
|
|
|
77
98
|
defaultBarcodeTemplateId: exports.DEFAULT_BARCODE_TEMPLATE_ID,
|
|
78
99
|
};
|
|
79
100
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQtdGVtcGxhdGVzLWNhdGFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcHJpbnQtdGVtcGxhdGVzLWNhdGFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlHQUFpRzs7O0FBa0VqRyw0Q0FFQztBQUVELGtEQUVDO0FBRUQsMERBRUM7QUFFRCxnRUFFQztBQUVELHdEQUVDO0FBRUQsOERBRUM7QUFHRCxrRUFHQztBQUVELHdFQUdDO0FBRUQsc0RBT0M7QUExR1ksUUFBQSx3QkFBd0IsR0FBRyxTQUFrQixDQUFBO0FBQzdDLFFBQUEsMkJBQTJCLEdBQUcsWUFBcUIsQ0FBQTtBQUVuRCxRQUFBLGlCQUFpQixHQUFHO0lBQy9CLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7Q0FDRCxDQUFBO0FBRUcsUUFBQSxvQkFBb0IsR0FBRztJQUNsQyxZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0NBQ0osQ0FBQTtBQVdHLFFBQUEsY0FBYyxHQUF3QjtJQUNqRCxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsMkNBQTJDLEVBQUU7SUFDNUYsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1DQUFtQyxFQUFFO0lBQ3BGLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSx3Q0FBd0MsRUFBRTtJQUM1RixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLEVB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "medusa-pos-plugin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.44",
|
|
4
4
|
"description": "Medusa v2 POS operations: draft carts, finalize, payments, returns, catalog, refunds.",
|
|
5
5
|
"author": "Medusa (https://medusajs.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -71,5 +71,9 @@
|
|
|
71
71
|
},
|
|
72
72
|
"engines": {
|
|
73
73
|
"node": ">=20"
|
|
74
|
+
},
|
|
75
|
+
"dependencies": {
|
|
76
|
+
"@pradip1995/pos-common": "0.1.10",
|
|
77
|
+
"qrcode": "^1.5.4"
|
|
74
78
|
}
|
|
75
79
|
}
|