medusa-invoice 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/dependabot.yml +21 -0
- package/dist/api/admin/document-invoice-settings/route.js +8 -8
- package/dist/api/admin/document-packing-slip-settings/route.js +8 -8
- package/dist/api/admin/document-settings/route.js +4 -4
- package/dist/services/templates/invoices/basic/basic-logo.d.ts +1 -1
- package/dist/services/templates/invoices/basic/basic-logo.js +11 -9
- package/dist/services/templates/invoices/basic/basic.d.ts +1 -1
- package/dist/services/templates/invoices/basic/basic.js +11 -9
- package/dist/services/templates/packing-slips/basic/basic.d.ts +1 -1
- package/dist/services/templates/packing-slips/basic/basic.js +11 -9
- package/dist/services/templates/packing-slips/basic/small.d.ts +1 -1
- package/dist/services/templates/packing-slips/basic/small.js +12 -10
- package/package.json +1 -1
@@ -0,0 +1,21 @@
|
|
1
|
+
version: 2
|
2
|
+
updates:
|
3
|
+
- package-ecosystem: "npm"
|
4
|
+
directory: "/"
|
5
|
+
schedule:
|
6
|
+
interval: "daily"
|
7
|
+
allow:
|
8
|
+
- dependency-type: production
|
9
|
+
groups:
|
10
|
+
medusa:
|
11
|
+
patterns:
|
12
|
+
- "@medusajs*"
|
13
|
+
- "medusa*"
|
14
|
+
update-types:
|
15
|
+
- "minor"
|
16
|
+
- "patch"
|
17
|
+
ignore:
|
18
|
+
- dependency-name: "@medusajs*"
|
19
|
+
update-types: ["version-update:semver-major"]
|
20
|
+
- dependency-name: "medusa*"
|
21
|
+
update-types: ["version-update:semver-major"]
|
@@ -13,22 +13,22 @@
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
14
14
|
exports.POST = exports.GET = void 0;
|
15
15
|
const GET = async (req, res) => {
|
16
|
-
const documentInvoiceSettingsService = req.scope.resolve(
|
16
|
+
const documentInvoiceSettingsService = req.scope.resolve("documentInvoiceSettingsService");
|
17
17
|
try {
|
18
18
|
const lastDocumentInvoiceSettings = await documentInvoiceSettingsService.getLastDocumentInvoiceSettings();
|
19
19
|
res.status(200).json({
|
20
|
-
settings: lastDocumentInvoiceSettings
|
20
|
+
settings: lastDocumentInvoiceSettings,
|
21
21
|
});
|
22
22
|
}
|
23
23
|
catch (e) {
|
24
24
|
res.status(400).json({
|
25
|
-
message: e.message
|
25
|
+
message: e.message,
|
26
26
|
});
|
27
27
|
}
|
28
28
|
};
|
29
29
|
exports.GET = GET;
|
30
30
|
const POST = async (req, res) => {
|
31
|
-
const documentInvoiceSettingsService = req.scope.resolve(
|
31
|
+
const documentInvoiceSettingsService = req.scope.resolve("documentInvoiceSettingsService");
|
32
32
|
const body = req.body;
|
33
33
|
const formatNumber = body.formatNumber;
|
34
34
|
const forcedNumber = body.forcedNumber;
|
@@ -37,20 +37,20 @@ const POST = async (req, res) => {
|
|
37
37
|
const newSettings = await documentInvoiceSettingsService.updateSettings(formatNumber, forcedNumber, invoiceTemplate);
|
38
38
|
if (newSettings !== undefined) {
|
39
39
|
res.status(201).json({
|
40
|
-
settings: newSettings
|
40
|
+
settings: newSettings,
|
41
41
|
});
|
42
42
|
}
|
43
43
|
else {
|
44
44
|
res.status(400).json({
|
45
|
-
message:
|
45
|
+
message: "Cant update invoice settings",
|
46
46
|
});
|
47
47
|
}
|
48
48
|
}
|
49
49
|
catch (e) {
|
50
50
|
res.status(400).json({
|
51
|
-
message: e.message
|
51
|
+
message: e.message,
|
52
52
|
});
|
53
53
|
}
|
54
54
|
};
|
55
55
|
exports.POST = POST;
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50LWludm9pY2Utc2V0dGluZ3Mvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7OztBQU9JLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxHQUFrQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNuRSxNQUFNLDhCQUE4QixHQUNsQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBRXRELElBQUk7UUFDRixNQUFNLDJCQUEyQixHQUMvQixNQUFNLDhCQUE4QixDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDeEUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsUUFBUSxFQUFFLDJCQUEyQjtTQUN0QyxDQUFDLENBQUM7S0FDSjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1NBQ25CLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDO0FBZlcsUUFBQSxHQUFHLE9BZWQ7QUFFSyxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDcEUsTUFBTSw4QkFBOEIsR0FDbEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUN0RCxNQUFNLElBQUksR0FBUSxHQUFHLENBQUMsSUFBVyxDQUFDO0lBQ2xDLE1BQU0sWUFBWSxHQUF1QixJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNELE1BQU0sWUFBWSxHQUF1QixJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNELE1BQU0sZUFBZSxHQUF1QixJQUFJLENBQUMsUUFBUSxDQUFDO0lBRTFELElBQUk7UUFDRixNQUFNLFdBQVcsR0FDZixNQUFNLDhCQUE4QixDQUFDLGNBQWMsQ0FDakQsWUFBWSxFQUNaLFlBQVksRUFDWixlQUFzQyxDQUN2QyxDQUFDO1FBQ0osSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNuQixRQUFRLEVBQUUsV0FBVzthQUN0QixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSw4QkFBOEI7YUFDeEMsQ0FBQyxDQUFDO1NBQ0o7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1NBQ25CLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDO0FBN0JXLFFBQUEsSUFBSSxRQTZCZiJ9
|
@@ -13,23 +13,23 @@
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
14
14
|
exports.POST = exports.GET = void 0;
|
15
15
|
const GET = async (req, res) => {
|
16
|
-
const documentPackingSlipSettingsService = req.scope.resolve(
|
16
|
+
const documentPackingSlipSettingsService = req.scope.resolve("documentPackingSlipSettingsService");
|
17
17
|
try {
|
18
18
|
const lastDocumentPackingSlipSettings = await documentPackingSlipSettingsService.getLastDocumentPackingSlipSettings();
|
19
19
|
res.status(200).json({
|
20
|
-
settings: lastDocumentPackingSlipSettings
|
20
|
+
settings: lastDocumentPackingSlipSettings,
|
21
21
|
});
|
22
22
|
}
|
23
23
|
catch (e) {
|
24
24
|
res.status(400).json({
|
25
|
-
message: e.message
|
25
|
+
message: e.message,
|
26
26
|
});
|
27
27
|
}
|
28
28
|
};
|
29
29
|
exports.GET = GET;
|
30
30
|
const POST = async (req, res) => {
|
31
31
|
const body = req.body;
|
32
|
-
const documentPackingSlipSettingsService = req.scope.resolve(
|
32
|
+
const documentPackingSlipSettingsService = req.scope.resolve("documentPackingSlipSettingsService");
|
33
33
|
const formatNumber = body.formatNumber;
|
34
34
|
const forcedNumber = body.forcedNumber;
|
35
35
|
const template = body.template;
|
@@ -37,20 +37,20 @@ const POST = async (req, res) => {
|
|
37
37
|
const newSettings = await documentPackingSlipSettingsService.updateSettings(formatNumber, forcedNumber, template);
|
38
38
|
if (newSettings !== undefined) {
|
39
39
|
res.status(201).json({
|
40
|
-
settings: newSettings
|
40
|
+
settings: newSettings,
|
41
41
|
});
|
42
42
|
}
|
43
43
|
else {
|
44
44
|
res.status(400).json({
|
45
|
-
message:
|
45
|
+
message: "Cant update settings",
|
46
46
|
});
|
47
47
|
}
|
48
48
|
}
|
49
49
|
catch (e) {
|
50
50
|
res.status(400).json({
|
51
|
-
message: e.message
|
51
|
+
message: e.message,
|
52
52
|
});
|
53
53
|
}
|
54
54
|
};
|
55
55
|
exports.POST = POST;
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50LXBhY2tpbmctc2xpcC1zZXR0aW5ncy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7O0FBT0ksTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sa0NBQWtDLEdBQ3RDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFFMUQsSUFBSTtRQUNGLE1BQU0sK0JBQStCLEdBR25DLE1BQU0sa0NBQWtDLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUNoRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixRQUFRLEVBQUUsK0JBQStCO1NBQzFDLENBQUMsQ0FBQztLQUNKO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87U0FDbkIsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDLENBQUM7QUFqQlcsUUFBQSxHQUFHLE9BaUJkO0FBRUssTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ3BFLE1BQU0sSUFBSSxHQUFRLEdBQUcsQ0FBQyxJQUFXLENBQUM7SUFDbEMsTUFBTSxrQ0FBa0MsR0FDdEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUMxRCxNQUFNLFlBQVksR0FBdUIsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzRCxNQUFNLFlBQVksR0FBdUIsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzRCxNQUFNLFFBQVEsR0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUVuRCxJQUFJO1FBQ0YsTUFBTSxXQUFXLEdBQ2YsTUFBTSxrQ0FBa0MsQ0FBQyxjQUFjLENBQ3JELFlBQVksRUFDWixZQUFZLEVBQ1osUUFBbUMsQ0FDcEMsQ0FBQztRQUNKLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRTtZQUM3QixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkIsUUFBUSxFQUFFLFdBQVc7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNuQixPQUFPLEVBQUUsc0JBQXNCO2FBQ2hDLENBQUMsQ0FBQztTQUNKO0tBQ0Y7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztTQUNuQixDQUFDLENBQUM7S0FDSjtBQUNILENBQUMsQ0FBQztBQTdCVyxRQUFBLElBQUksUUE2QmYifQ==
|
@@ -13,18 +13,18 @@
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
14
14
|
exports.GET = void 0;
|
15
15
|
const GET = async (req, res) => {
|
16
|
-
const invoiceService = req.scope.resolve(
|
16
|
+
const invoiceService = req.scope.resolve("invoiceService");
|
17
17
|
try {
|
18
18
|
const documentSettings = await invoiceService.getLastDocumentSettings();
|
19
19
|
res.status(200).json({
|
20
|
-
settings: documentSettings
|
20
|
+
settings: documentSettings,
|
21
21
|
});
|
22
22
|
}
|
23
23
|
catch (e) {
|
24
24
|
res.status(400).json({
|
25
|
-
message: e.message
|
25
|
+
message: e.message,
|
26
26
|
});
|
27
27
|
}
|
28
28
|
};
|
29
29
|
exports.GET = GET;
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50LXNldHRpbmdzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOzs7QUFNSSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDbkUsTUFBTSxjQUFjLEdBQW1CLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFM0UsSUFBSTtRQUNGLE1BQU0sZ0JBQWdCLEdBQ3BCLE1BQU0sY0FBYyxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDakQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsUUFBUSxFQUFFLGdCQUFnQjtTQUMzQixDQUFDLENBQUM7S0FDSjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1NBQ25CLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDO0FBZFcsUUFBQSxHQUFHLE9BY2QifQ==
|
@@ -3,6 +3,6 @@
|
|
3
3
|
import { Order } from "@medusajs/medusa";
|
4
4
|
import { Invoice } from "../../../../models/invoice";
|
5
5
|
import { DocumentSettings } from "../../../../models/document-settings";
|
6
|
-
export declare function validateInput(settings?: DocumentSettings):
|
6
|
+
export declare function validateInput(settings?: DocumentSettings): [boolean, string];
|
7
7
|
declare const _default: (settings: DocumentSettings, invoice: Invoice, order: Order) => Promise<Buffer>;
|
8
8
|
export default _default;
|
@@ -21,22 +21,24 @@ const table_1 = require("./parts/table");
|
|
21
21
|
const invoice_info_1 = require("./parts/invoice-info");
|
22
22
|
const header_for_logo_1 = require("./parts/header-for-logo");
|
23
23
|
const header_logo_1 = require("./parts/header-logo");
|
24
|
-
const path_1 = __importDefault(require("path"));
|
25
24
|
function validateInput(settings) {
|
26
|
-
if (settings &&
|
25
|
+
if (settings &&
|
26
|
+
settings.store_address &&
|
27
|
+
settings.store_address.company &&
|
27
28
|
settings.store_address.address_1 &&
|
28
29
|
settings.store_address.city &&
|
29
30
|
settings.store_address.postal_code &&
|
30
31
|
settings.store_logo_source)
|
31
|
-
return [true,
|
32
|
-
return [
|
32
|
+
return [true, ""];
|
33
|
+
return [
|
34
|
+
false,
|
35
|
+
`Not all settings are defined to generate template. Following settings are checked: company, address, city, postal code, logo`,
|
36
|
+
];
|
33
37
|
}
|
34
38
|
exports.validateInput = validateInput;
|
35
39
|
exports.default = async (settings, invoice, order) => {
|
36
40
|
var doc = new pdfkit_1.default();
|
37
|
-
doc.
|
38
|
-
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
39
|
-
doc.font('Regular');
|
41
|
+
doc.font("Regular");
|
40
42
|
const buffers = [];
|
41
43
|
doc.on("data", buffers.push.bind(buffers));
|
42
44
|
const endHeader = (0, header_for_logo_1.generateHeaderForLogo)(doc, 50, settings);
|
@@ -45,7 +47,7 @@ exports.default = async (settings, invoice, order) => {
|
|
45
47
|
const endDetails = (0, customer_info_1.generateCustomerInformation)(doc, endInvoice, order);
|
46
48
|
(0, table_1.generateInvoiceTable)(doc, endDetails, order, order.items);
|
47
49
|
doc.end();
|
48
|
-
const bufferPromise = new Promise(resolve => {
|
50
|
+
const bufferPromise = new Promise((resolve) => {
|
49
51
|
doc.on("end", () => {
|
50
52
|
const pdfData = Buffer.concat(buffers);
|
51
53
|
resolve(pdfData);
|
@@ -53,4 +55,4 @@ exports.default = async (settings, invoice, order) => {
|
|
53
55
|
});
|
54
56
|
return await bufferPromise;
|
55
57
|
};
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtbG9nby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy90ZW1wbGF0ZXMvaW52b2ljZXMvYmFzaWMvYmFzaWMtbG9nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7Ozs7O0FBS0gsb0RBQWlDO0FBQ2pDLHlEQUFvRTtBQUNwRSx5Q0FBcUQ7QUFDckQsdURBQWtFO0FBQ2xFLDZEQUFnRTtBQUNoRSxxREFBeUQ7QUFHekQsU0FBZ0IsYUFBYSxDQUFDLFFBQTJCO0lBQ3ZELElBQ0UsUUFBUTtRQUNSLFFBQVEsQ0FBQyxhQUFhO1FBQ3RCLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTztRQUM5QixRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVM7UUFDaEMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJO1FBQzNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVztRQUNsQyxRQUFRLENBQUMsaUJBQWlCO1FBRTFCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEIsT0FBTztRQUNMLEtBQUs7UUFDTCw4SEFBOEg7S0FDL0gsQ0FBQztBQUNKLENBQUM7QUFmRCxzQ0FlQztBQUVELGtCQUFlLEtBQUssRUFDbEIsUUFBMEIsRUFDMUIsT0FBZ0IsRUFDaEIsS0FBWSxFQUNLLEVBQUU7SUFDbkIsSUFBSSxHQUFHLEdBQUcsSUFBSSxnQkFBVyxFQUFFLENBQUM7SUFDNUIsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVwQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDbkIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUUzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLHVDQUFxQixFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0QsTUFBTSxJQUFBLGdDQUFrQixFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsTUFBTSxVQUFVLEdBQUcsSUFBQSx5Q0FBMEIsRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUEsMkNBQTJCLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxJQUFBLDRCQUFvQixFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFVixNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3BELEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUNqQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLGFBQWEsQ0FBQztBQUM3QixDQUFDLENBQUMifQ==
|
@@ -3,6 +3,6 @@
|
|
3
3
|
import { Order } from "@medusajs/medusa";
|
4
4
|
import { Invoice } from "../../../../models/invoice";
|
5
5
|
import { DocumentSettings } from "../../../../models/document-settings";
|
6
|
-
export declare function validateInput(settings?: DocumentSettings):
|
6
|
+
export declare function validateInput(settings?: DocumentSettings): [boolean, string];
|
7
7
|
declare const _default: (settings: DocumentSettings, invoice: Invoice, order: Order) => Promise<Buffer>;
|
8
8
|
export default _default;
|
@@ -20,21 +20,23 @@ const header_1 = require("./parts/header");
|
|
20
20
|
const customer_info_1 = require("./parts/customer-info");
|
21
21
|
const table_1 = require("./parts/table");
|
22
22
|
const invoice_info_1 = require("./parts/invoice-info");
|
23
|
-
const path_1 = __importDefault(require("path"));
|
24
23
|
function validateInput(settings) {
|
25
|
-
if (settings &&
|
24
|
+
if (settings &&
|
25
|
+
settings.store_address &&
|
26
|
+
settings.store_address.company &&
|
26
27
|
settings.store_address.address_1 &&
|
27
28
|
settings.store_address.city &&
|
28
29
|
settings.store_address.postal_code)
|
29
|
-
return [true,
|
30
|
-
return [
|
30
|
+
return [true, ""];
|
31
|
+
return [
|
32
|
+
false,
|
33
|
+
`Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code`,
|
34
|
+
];
|
31
35
|
}
|
32
36
|
exports.validateInput = validateInput;
|
33
37
|
exports.default = async (settings, invoice, order) => {
|
34
38
|
var doc = new pdfkit_1.default();
|
35
|
-
doc.
|
36
|
-
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
37
|
-
doc.font('Regular');
|
39
|
+
doc.font("Regular");
|
38
40
|
const buffers = [];
|
39
41
|
doc.on("data", buffers.push.bind(buffers));
|
40
42
|
const endHeader = (0, header_1.generateHeader)(doc, 50, settings);
|
@@ -42,7 +44,7 @@ exports.default = async (settings, invoice, order) => {
|
|
42
44
|
const endY = (0, customer_info_1.generateCustomerInformation)(doc, endInvoiceInfo, order);
|
43
45
|
(0, table_1.generateInvoiceTable)(doc, endY, order, order.items);
|
44
46
|
doc.end();
|
45
|
-
const bufferPromise = new Promise(resolve => {
|
47
|
+
const bufferPromise = new Promise((resolve) => {
|
46
48
|
doc.on("end", () => {
|
47
49
|
const pdfData = Buffer.concat(buffers);
|
48
50
|
resolve(pdfData);
|
@@ -50,4 +52,4 @@ exports.default = async (settings, invoice, order) => {
|
|
50
52
|
});
|
51
53
|
return await bufferPromise;
|
52
54
|
};
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2Jhc2ljL2Jhc2ljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOzs7Ozs7QUFLSCxvREFBaUM7QUFDakMsMkNBQWdEO0FBQ2hELHlEQUFvRTtBQUNwRSx5Q0FBcUQ7QUFDckQsdURBQWtFO0FBR2xFLFNBQWdCLGFBQWEsQ0FBQyxRQUEyQjtJQUN2RCxJQUNFLFFBQVE7UUFDUixRQUFRLENBQUMsYUFBYTtRQUN0QixRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU87UUFDOUIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1FBQ2hDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSTtRQUMzQixRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVc7UUFFbEMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQixPQUFPO1FBQ0wsS0FBSztRQUNMLHdIQUF3SDtLQUN6SCxDQUFDO0FBQ0osQ0FBQztBQWRELHNDQWNDO0FBRUQsa0JBQWUsS0FBSyxFQUNsQixRQUEwQixFQUMxQixPQUFnQixFQUNoQixLQUFZLEVBQ0ssRUFBRTtJQUNuQixJQUFJLEdBQUcsR0FBRyxJQUFJLGdCQUFXLEVBQUUsQ0FBQztJQUM1QixHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sU0FBUyxHQUFHLElBQUEsdUJBQWMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sY0FBYyxHQUFHLElBQUEseUNBQTBCLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRSxNQUFNLElBQUksR0FBRyxJQUFBLDJDQUEyQixFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckUsSUFBQSw0QkFBb0IsRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRVYsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNwRCxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDakIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxhQUFhLENBQUM7QUFDN0IsQ0FBQyxDQUFDIn0=
|
@@ -3,6 +3,6 @@
|
|
3
3
|
import { Order } from "@medusajs/medusa";
|
4
4
|
import { PackingSlip } from "../../../../models/packing-slip";
|
5
5
|
import { DocumentSettings } from "../../../../models/document-settings";
|
6
|
-
export declare function validateInput(settings?: DocumentSettings):
|
6
|
+
export declare function validateInput(settings?: DocumentSettings): [boolean, string];
|
7
7
|
declare const _default: (settings: DocumentSettings, packingSlip: PackingSlip, order: Order) => Promise<Buffer>;
|
8
8
|
export default _default;
|
@@ -20,21 +20,23 @@ const header_1 = require("./parts/header");
|
|
20
20
|
const customer_info_1 = require("./parts/customer-info");
|
21
21
|
const table_items_1 = require("./parts/table-items");
|
22
22
|
const table_order_info_1 = require("./parts/table-order-info");
|
23
|
-
const path_1 = __importDefault(require("path"));
|
24
23
|
function validateInput(settings) {
|
25
|
-
if (settings &&
|
24
|
+
if (settings &&
|
25
|
+
settings.store_address &&
|
26
|
+
settings.store_address.company &&
|
26
27
|
settings.store_address.address_1 &&
|
27
28
|
settings.store_address.city &&
|
28
29
|
settings.store_address.postal_code)
|
29
|
-
return [true,
|
30
|
-
return [
|
30
|
+
return [true, ""];
|
31
|
+
return [
|
32
|
+
false,
|
33
|
+
`Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code`,
|
34
|
+
];
|
31
35
|
}
|
32
36
|
exports.validateInput = validateInput;
|
33
37
|
exports.default = async (settings, packingSlip, order) => {
|
34
38
|
var doc = new pdfkit_1.default();
|
35
|
-
doc.
|
36
|
-
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
37
|
-
doc.font('Regular');
|
39
|
+
doc.font("Regular");
|
38
40
|
const buffers = [];
|
39
41
|
doc.on("data", buffers.push.bind(buffers));
|
40
42
|
const endHeader = (0, header_1.generateHeader)(doc, 30, settings);
|
@@ -42,7 +44,7 @@ exports.default = async (settings, packingSlip, order) => {
|
|
42
44
|
const endTable = (0, table_order_info_1.generateOrderInfoTable)(doc, endY, order, order.items);
|
43
45
|
(0, table_items_1.generateItemsTable)(doc, endTable, order, order.items);
|
44
46
|
doc.end();
|
45
|
-
const bufferPromise = new Promise(resolve => {
|
47
|
+
const bufferPromise = new Promise((resolve) => {
|
46
48
|
doc.on("end", () => {
|
47
49
|
const pdfData = Buffer.concat(buffers);
|
48
50
|
resolve(pdfData);
|
@@ -50,4 +52,4 @@ exports.default = async (settings, packingSlip, order) => {
|
|
50
52
|
});
|
51
53
|
return await bufferPromise;
|
52
54
|
};
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvYmFzaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7Ozs7OztBQUtILG9EQUFpQztBQUNqQywyQ0FBZ0Q7QUFDaEQseURBQW9FO0FBQ3BFLHFEQUF5RDtBQUN6RCwrREFBa0U7QUFHbEUsU0FBZ0IsYUFBYSxDQUFDLFFBQTJCO0lBQ3ZELElBQ0UsUUFBUTtRQUNSLFFBQVEsQ0FBQyxhQUFhO1FBQ3RCLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTztRQUM5QixRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVM7UUFDaEMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJO1FBQzNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVztRQUVsQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLE9BQU87UUFDTCxLQUFLO1FBQ0wsd0hBQXdIO0tBQ3pILENBQUM7QUFDSixDQUFDO0FBZEQsc0NBY0M7QUFFRCxrQkFBZSxLQUFLLEVBQ2xCLFFBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLEtBQVksRUFDSyxFQUFFO0lBQ25CLElBQUksR0FBRyxHQUFHLElBQUksZ0JBQVcsRUFBRSxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ25CLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFM0MsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBYyxFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQ0FBMkIsRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUEseUNBQXNCLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLElBQUEsZ0NBQWtCLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXRELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVWLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDcEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sYUFBYSxDQUFDO0FBQzdCLENBQUMsQ0FBQyJ9
|
@@ -3,6 +3,6 @@
|
|
3
3
|
import { Order } from "@medusajs/medusa";
|
4
4
|
import { PackingSlip } from "../../../../models/packing-slip";
|
5
5
|
import { DocumentSettings } from "../../../../models/document-settings";
|
6
|
-
export declare function validateInput(settings?: DocumentSettings):
|
6
|
+
export declare function validateInput(settings?: DocumentSettings): [boolean, string];
|
7
7
|
declare const _default: (settings: DocumentSettings, packingSlip: PackingSlip, order: Order) => Promise<Buffer>;
|
8
8
|
export default _default;
|
@@ -20,21 +20,23 @@ const header_small_1 = require("./parts/header-small");
|
|
20
20
|
const customer_info_small_1 = require("./parts/customer-info-small");
|
21
21
|
const table_items_small_1 = require("./parts/table-items-small");
|
22
22
|
const table_order_info_small_1 = require("./parts/table-order-info-small");
|
23
|
-
const path_1 = __importDefault(require("path"));
|
24
23
|
function validateInput(settings) {
|
25
|
-
if (settings &&
|
24
|
+
if (settings &&
|
25
|
+
settings.store_address &&
|
26
|
+
settings.store_address.company &&
|
26
27
|
settings.store_address.address_1 &&
|
27
28
|
settings.store_address.city &&
|
28
29
|
settings.store_address.postal_code)
|
29
|
-
return [true,
|
30
|
-
return [
|
30
|
+
return [true, ""];
|
31
|
+
return [
|
32
|
+
false,
|
33
|
+
`Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code`,
|
34
|
+
];
|
31
35
|
}
|
32
36
|
exports.validateInput = validateInput;
|
33
37
|
exports.default = async (settings, packingSlip, order) => {
|
34
|
-
var doc = new pdfkit_1.default({ size:
|
35
|
-
doc.
|
36
|
-
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
37
|
-
doc.font('Regular');
|
38
|
+
var doc = new pdfkit_1.default({ size: "A7" });
|
39
|
+
doc.font("Regular");
|
38
40
|
const buffers = [];
|
39
41
|
doc.on("data", buffers.push.bind(buffers));
|
40
42
|
const endHeader = (0, header_small_1.generateHeader)(doc, 30, settings);
|
@@ -43,7 +45,7 @@ exports.default = async (settings, packingSlip, order) => {
|
|
43
45
|
doc = doc.addPage();
|
44
46
|
(0, table_items_small_1.generateItemsTable)(doc, 0, order, order.items);
|
45
47
|
doc.end();
|
46
|
-
const bufferPromise = new Promise(resolve => {
|
48
|
+
const bufferPromise = new Promise((resolve) => {
|
47
49
|
doc.on("end", () => {
|
48
50
|
const pdfData = Buffer.concat(buffers);
|
49
51
|
resolve(pdfData);
|
@@ -51,4 +53,4 @@ exports.default = async (settings, packingSlip, order) => {
|
|
51
53
|
});
|
52
54
|
return await bufferPromise;
|
53
55
|
};
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvc21hbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7Ozs7OztBQUtILG9EQUFpQztBQUNqQyx1REFBc0Q7QUFDdEQscUVBQTBFO0FBQzFFLGlFQUErRDtBQUMvRCwyRUFBd0U7QUFHeEUsU0FBZ0IsYUFBYSxDQUFDLFFBQTJCO0lBQ3ZELElBQ0UsUUFBUTtRQUNSLFFBQVEsQ0FBQyxhQUFhO1FBQ3RCLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTztRQUM5QixRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVM7UUFDaEMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJO1FBQzNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVztRQUVsQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLE9BQU87UUFDTCxLQUFLO1FBQ0wsd0hBQXdIO0tBQ3pILENBQUM7QUFDSixDQUFDO0FBZEQsc0NBY0M7QUFFRCxrQkFBZSxLQUFLLEVBQ2xCLFFBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLEtBQVksRUFDSyxFQUFFO0lBQ25CLElBQUksR0FBRyxHQUFHLElBQUksZ0JBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ25CLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFM0MsTUFBTSxTQUFTLEdBQUcsSUFBQSw2QkFBYyxFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsSUFBQSxpREFBMkIsRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUEsK0NBQXNCLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEIsSUFBQSxzQ0FBa0IsRUFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFL0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRVYsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNwRCxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDakIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxhQUFhLENBQUM7QUFDN0IsQ0FBQyxDQUFDIn0=
|