@zosmaai/medusa-documents-v2 0.2.13
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 +1884 -0
- package/.medusa/server/src/admin/index.mjs +1881 -0
- package/.medusa/server/src/api/admin/documents/document-invoice-settings/invoice-template/route.js +40 -0
- package/.medusa/server/src/api/admin/documents/document-invoice-settings/route.js +62 -0
- package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/route.js +62 -0
- package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/template/route.js +40 -0
- package/.medusa/server/src/api/admin/documents/document-settings/document-address/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/document-settings/india-gst/route.js +67 -0
- package/.medusa/server/src/api/admin/documents/document-settings/logo/route.js +67 -0
- package/.medusa/server/src/api/admin/documents/document-settings/route.js +36 -0
- package/.medusa/server/src/api/admin/documents/invoice/display-number/route.js +34 -0
- package/.medusa/server/src/api/admin/documents/invoice/generate/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/invoice/route.js +112 -0
- package/.medusa/server/src/api/admin/documents/packing-slip/preview/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/packing-slip/route.js +112 -0
- package/.medusa/server/src/links/invoice-order.js +13 -0
- package/.medusa/server/src/links/packing-slip-order.js +13 -0
- package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Bold.ttf +0 -0
- package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Regular.ttf +0 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/de-AT/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/en/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/es/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/fr/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/pl/translation.json +26 -0
- package/.medusa/server/src/modules/documents/index.js +26 -0
- package/.medusa/server/src/modules/documents/loaders/i18next.js +49 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20250228142557.js +39 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20260810120000.js +14 -0
- package/.medusa/server/src/modules/documents/models/document-invoice-settings.js +29 -0
- package/.medusa/server/src/modules/documents/models/document-invoice.js +32 -0
- package/.medusa/server/src/modules/documents/models/document-packing-slip-settings.js +29 -0
- package/.medusa/server/src/modules/documents/models/document-packing-slip.js +32 -0
- package/.medusa/server/src/modules/documents/models/document-settings.js +33 -0
- package/.medusa/server/src/modules/documents/service.js +502 -0
- package/.medusa/server/src/modules/documents/services/generators/invoice-generator.js +78 -0
- package/.medusa/server/src/modules/documents/services/generators/packing-slip-generator.js +73 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic-logo.js +55 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic.js +52 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/customer-info.js +69 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-for-logo.js +32 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-logo.js +29 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/hr.js +23 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/invoice-info.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/table.js +97 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/india-gst.js +72 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/footer.js +41 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/invoice-meta.js +22 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/seller-info.js +42 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/table.js +88 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/basic.js +52 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info-small.js +69 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info.js +65 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header-small.js +37 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header.js +37 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/hr.js +32 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items-small.js +44 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items.js +44 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info-small.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info.js +36 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/small.js +53 -0
- package/.medusa/server/src/modules/documents/types/api.js +14 -0
- package/.medusa/server/src/modules/documents/types/constants.js +17 -0
- package/.medusa/server/src/modules/documents/types/dto.js +14 -0
- package/.medusa/server/src/modules/documents/types/template-kind.js +26 -0
- package/.medusa/server/src/modules/documents/utils/currency.js +18 -0
- package/.medusa/server/src/ui-components/actions-dropdown/actions-dropdown.js +15 -0
- package/.medusa/server/src/ui-components/actions-dropdown/invoice/button-generate-invoice.js +75 -0
- package/.medusa/server/src/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.js +72 -0
- package/.medusa/server/src/ui-components/index.js +21 -0
- package/.medusa/server/src/ui-components/orders/order-table/invoice-number-from-order.js +107 -0
- package/.medusa/server/src/ui-components/orders/order-table/packing-slip-number.js +107 -0
- package/.medusa/server/src/ui-components/orders/order-table/use-columns.js +172 -0
- package/.medusa/server/src/ui-components/orders/order-table/use-orders.js +145 -0
- package/.medusa/server/src/ui-components/orders/order-table/utils/currencies.js +1077 -0
- package/.medusa/server/src/ui-components/orders/order-table/utils/time.js +53 -0
- package/.medusa/server/src/ui-components/orders/order-table.js +134 -0
- package/.medusa/server/src/ui-components/settings/settings-address.js +90 -0
- package/.medusa/server/src/ui-components/settings/settings-india-gst.js +90 -0
- package/.medusa/server/src/ui-components/settings/settings-invoice-display-number.js +55 -0
- package/.medusa/server/src/ui-components/settings/settings-invoice.js +139 -0
- package/.medusa/server/src/ui-components/settings/settings-logo.js +108 -0
- package/.medusa/server/src/ui-components/tabs/orders-tab.js +28 -0
- package/.medusa/server/src/ui-components/tabs/pro-tab.js +23 -0
- package/.medusa/server/src/ui-components/tabs/settings-tab.js +29 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-invoice-tab.js +153 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-packing-slip-tab.js +155 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-tab.js +24 -0
- package/.medusa/server/src/ui-components/types/api.js +14 -0
- package/.medusa/server/src/ui-components/types/invoice.js +14 -0
- package/.medusa/server/src/ui-components/types/packing-slip.js +14 -0
- package/.medusa/server/src/ui-components/types/template-kind.js +26 -0
- package/.medusa/server/src/workflows/assign-invoice.js +31 -0
- package/.medusa/server/src/workflows/assign-packing-slip.js +31 -0
- package/README.md +171 -0
- package/package.json +103 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.validateInputForProvidedKind = validateInputForProvidedKind;
|
|
48
|
+
exports.generatePackingSlip = generatePackingSlip;
|
|
49
|
+
const template_kind_1 = require("../../types/template-kind");
|
|
50
|
+
const basic_1 = __importStar(require("../templates/packing-slips/basic/basic"));
|
|
51
|
+
const small_1 = __importStar(require("../templates/packing-slips/basic/small"));
|
|
52
|
+
function validateInputForProvidedKind(templateKind, documentSettings) {
|
|
53
|
+
switch (templateKind) {
|
|
54
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC:
|
|
55
|
+
return (0, basic_1.validateInput)(documentSettings);
|
|
56
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC_SMALL:
|
|
57
|
+
return (0, small_1.validateInput)(documentSettings);
|
|
58
|
+
default:
|
|
59
|
+
return [false, 'Not supported template'];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function generatePackingSlip(kind, documentSettings, invoice, order) {
|
|
63
|
+
switch (kind) {
|
|
64
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC:
|
|
65
|
+
return (0, basic_1.default)(documentSettings, invoice, order);
|
|
66
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC_SMALL:
|
|
67
|
+
return (0, small_1.default)(documentSettings, invoice, order);
|
|
68
|
+
default:
|
|
69
|
+
return Promise.resolve(Buffer.from('Not supported template'));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
;
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2luZy1zbGlwLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2RvY3VtZW50cy9zZXJ2aWNlcy9nZW5lcmF0b3JzL3BhY2tpbmctc2xpcC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUgsb0VBU0M7QUFFRCxrREFTQztBQXhCRCw2REFBb0U7QUFDcEUsZ0ZBQTBHO0FBQzFHLGdGQUEwRztBQUUxRyxTQUFnQiw0QkFBNEIsQ0FBQyxZQUFxQyxFQUFFLGdCQUFxQztJQUN2SCxRQUFRLFlBQVksRUFBRSxDQUFDO1FBQ3JCLEtBQUssdUNBQXVCLENBQUMsS0FBSztZQUNoQyxPQUFPLElBQUEscUJBQWtCLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QyxLQUFLLHVDQUF1QixDQUFDLFdBQVc7WUFDdEMsT0FBTyxJQUFBLHFCQUFrQixFQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUM7WUFDRSxPQUFPLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxJQUE2QixFQUFFLGdCQUFxQyxFQUFFLE9BQStCLEVBQUUsS0FBZTtJQUN4SixRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyx1Q0FBdUIsQ0FBQyxLQUFLO1lBQ2hDLE9BQU8sSUFBQSxlQUFhLEVBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pELEtBQUssdUNBQXVCLENBQUMsV0FBVztZQUN0QyxPQUFPLElBQUEsZUFBYSxFQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RDtZQUNFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0FBQ0gsQ0FBQztBQUFBLENBQUMifQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.validateInput = validateInput;
|
|
18
|
+
const pdfkit_1 = __importDefault(require("pdfkit"));
|
|
19
|
+
const customer_info_1 = require("./parts/customer-info");
|
|
20
|
+
const table_1 = require("./parts/table");
|
|
21
|
+
const invoice_info_1 = require("./parts/invoice-info");
|
|
22
|
+
const header_for_logo_1 = require("./parts/header-for-logo");
|
|
23
|
+
const header_logo_1 = require("./parts/header-logo");
|
|
24
|
+
const path_1 = __importDefault(require("path"));
|
|
25
|
+
function validateInput(settings) {
|
|
26
|
+
if (settings && settings.storeAddress && settings.storeAddress.company &&
|
|
27
|
+
settings.storeAddress.address_1 &&
|
|
28
|
+
settings.storeAddress.city &&
|
|
29
|
+
settings.storeAddress.postal_code &&
|
|
30
|
+
settings.storeLogoSource)
|
|
31
|
+
return [true, ''];
|
|
32
|
+
return [false, `Not all settings are defined to generate template. Following settings are checked: logo, company, address, city, postal_code`];
|
|
33
|
+
}
|
|
34
|
+
exports.default = async (settings, invoice, order) => {
|
|
35
|
+
var doc = new pdfkit_1.default();
|
|
36
|
+
doc.registerFont('Regular', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Regular.ttf'));
|
|
37
|
+
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
|
38
|
+
doc.font('Regular');
|
|
39
|
+
const buffers = [];
|
|
40
|
+
doc.on("data", buffers.push.bind(buffers));
|
|
41
|
+
const endHeader = (0, header_for_logo_1.generateHeaderForLogo)(doc, 50, settings);
|
|
42
|
+
await (0, header_logo_1.generateHeaderLogo)(doc, 50, settings.storeLogoSource);
|
|
43
|
+
const endInvoice = (0, invoice_info_1.generateInvoiceInformation)(doc, endHeader, invoice);
|
|
44
|
+
const endDetails = (0, customer_info_1.generateCustomerInformation)(doc, endInvoice, order);
|
|
45
|
+
(0, table_1.generateInvoiceTable)(doc, endDetails, order, order.items || []);
|
|
46
|
+
doc.end();
|
|
47
|
+
const bufferPromise = new Promise(resolve => {
|
|
48
|
+
doc.on("end", () => {
|
|
49
|
+
const pdfData = Buffer.concat(buffers);
|
|
50
|
+
resolve(pdfData);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
return await bufferPromise;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtbG9nby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2RvY3VtZW50cy9zZXJ2aWNlcy90ZW1wbGF0ZXMvaW52b2ljZXMvYmFzaWMvYmFzaWMtbG9nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7Ozs7QUFZSCxzQ0FRQztBQWhCRCxvREFBaUM7QUFDakMseURBQW9FO0FBQ3BFLHlDQUFxRDtBQUNyRCx1REFBa0U7QUFDbEUsNkRBQWdFO0FBQ2hFLHFEQUF5RDtBQUN6RCxnREFBd0I7QUFFeEIsU0FBZ0IsYUFBYSxDQUFDLFFBQThCO0lBQzFELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPO1FBQ3BFLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUztRQUMvQixRQUFRLENBQUMsWUFBWSxDQUFDLElBQUk7UUFDMUIsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXO1FBQ2pDLFFBQVEsQ0FBQyxlQUFlO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEIsT0FBTyxDQUFDLEtBQUssRUFBRSw4SEFBOEgsQ0FBQyxDQUFDO0FBQ2pKLENBQUM7QUFFRCxrQkFBZSxLQUFLLEVBQUUsUUFBNkIsRUFBRSxPQUEyQixFQUFFLEtBQWUsRUFBbUIsRUFBRTtJQUNwSCxJQUFJLEdBQUcsR0FBRyxJQUFJLGdCQUFXLEVBQUUsQ0FBQztJQUM1QixHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxrREFBa0QsQ0FBQyxDQUFDLENBQUE7SUFDeEcsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsK0NBQStDLENBQUMsQ0FBQyxDQUFBO0lBQ2xHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ2xCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFMUMsTUFBTSxTQUFTLEdBQUcsSUFBQSx1Q0FBcUIsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNELE1BQU0sSUFBQSxnQ0FBa0IsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxlQUFnQixDQUFDLENBQUM7SUFDN0QsTUFBTSxVQUFVLEdBQUcsSUFBQSx5Q0FBMEIsRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLElBQUEsMkNBQTJCLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxJQUFBLDRCQUFvQixFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFFaEUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRVYsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQVMsT0FBTyxDQUFDLEVBQUU7UUFDbEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ2YsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN0QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtJQUVGLE9BQU8sTUFBTSxhQUFhLENBQUM7QUFDN0IsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.validateInput = validateInput;
|
|
18
|
+
const pdfkit_1 = __importDefault(require("pdfkit"));
|
|
19
|
+
const header_1 = require("./parts/header");
|
|
20
|
+
const customer_info_1 = require("./parts/customer-info");
|
|
21
|
+
const table_1 = require("./parts/table");
|
|
22
|
+
const invoice_info_1 = require("./parts/invoice-info");
|
|
23
|
+
const path_1 = __importDefault(require("path"));
|
|
24
|
+
function validateInput(settings) {
|
|
25
|
+
if (settings && settings.storeAddress && settings.storeAddress.company &&
|
|
26
|
+
settings.storeAddress.address_1 &&
|
|
27
|
+
settings.storeAddress.city &&
|
|
28
|
+
settings.storeAddress.postal_code)
|
|
29
|
+
return [true, ''];
|
|
30
|
+
return [false, `Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code`];
|
|
31
|
+
}
|
|
32
|
+
exports.default = async (settings, invoice, order) => {
|
|
33
|
+
var doc = new pdfkit_1.default();
|
|
34
|
+
doc.registerFont('Regular', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Regular.ttf'));
|
|
35
|
+
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
|
36
|
+
doc.font('Regular');
|
|
37
|
+
const buffers = [];
|
|
38
|
+
doc.on("data", buffers.push.bind(buffers));
|
|
39
|
+
const endHeader = (0, header_1.generateHeader)(doc, 50, settings);
|
|
40
|
+
const endInvoiceInfo = (0, invoice_info_1.generateInvoiceInformation)(doc, endHeader, invoice);
|
|
41
|
+
const endY = (0, customer_info_1.generateCustomerInformation)(doc, endInvoiceInfo, order);
|
|
42
|
+
(0, table_1.generateInvoiceTable)(doc, endY, order, order.items || []);
|
|
43
|
+
doc.end();
|
|
44
|
+
const bufferPromise = new Promise(resolve => {
|
|
45
|
+
doc.on("end", () => {
|
|
46
|
+
const pdfData = Buffer.concat(buffers);
|
|
47
|
+
resolve(pdfData);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
return await bufferPromise;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2Jhc2ljL2Jhc2ljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOzs7OztBQVdILHNDQU9DO0FBaEJELG9EQUFpQztBQUVqQywyQ0FBZ0Q7QUFDaEQseURBQW9FO0FBQ3BFLHlDQUFxRDtBQUNyRCx1REFBa0U7QUFDbEUsZ0RBQXdCO0FBR3hCLFNBQWdCLGFBQWEsQ0FBQyxRQUE4QjtJQUMxRCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTztRQUNwRSxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVM7UUFDL0IsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJO1FBQzFCLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVztRQUNqQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsd0hBQXdILENBQUMsQ0FBQztBQUMzSSxDQUFDO0FBRUQsa0JBQWUsS0FBSyxFQUFFLFFBQTZCLEVBQUUsT0FBMkIsRUFBRSxLQUFlLEVBQW1CLEVBQUU7SUFDcEgsSUFBSSxHQUFHLEdBQUcsSUFBSSxnQkFBVyxFQUFFLENBQUM7SUFDNUIsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0RBQWtELENBQUMsQ0FBQyxDQUFBO0lBQ3hHLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLCtDQUErQyxDQUFDLENBQUMsQ0FBQTtJQUNsRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUNsQixHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBRTFDLE1BQU0sU0FBUyxHQUFHLElBQUEsdUJBQWMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sY0FBYyxHQUFHLElBQUEseUNBQTBCLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRSxNQUFNLElBQUksR0FBRyxJQUFBLDJDQUEyQixFQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckUsSUFBQSw0QkFBb0IsRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTFELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVWLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFTLE9BQU8sQ0FBQyxFQUFFO1FBQ2xELEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtZQUNmLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDdEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLE1BQU0sYUFBYSxDQUFDO0FBQzdCLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateCustomerInformation = generateCustomerInformation;
|
|
15
|
+
const hr_1 = require("./hr");
|
|
16
|
+
const i18next_1 = require("i18next");
|
|
17
|
+
function generateCustomerInformation(doc, y, order) {
|
|
18
|
+
doc
|
|
19
|
+
.fillColor("#444444")
|
|
20
|
+
.fontSize(20)
|
|
21
|
+
.text(`${(0, i18next_1.t)("invoice-customer-details", "Details")}`, 50, y + 30);
|
|
22
|
+
(0, hr_1.generateHr)(doc, y + 55);
|
|
23
|
+
const customerInformationTop = y + 70;
|
|
24
|
+
let heightOfBillToAddress;
|
|
25
|
+
if (order.billing_address) {
|
|
26
|
+
doc
|
|
27
|
+
.fontSize(10)
|
|
28
|
+
.font("Bold")
|
|
29
|
+
.text(`${(0, i18next_1.t)("invoice-bill-to", "Bill to")}:`, 50, customerInformationTop, { align: 'left' })
|
|
30
|
+
.font("Regular")
|
|
31
|
+
.text(`${order.billing_address.first_name} ${order.billing_address.last_name}`, 50, customerInformationTop + 15, { align: 'left' })
|
|
32
|
+
.text(`${order.billing_address.city} ${order.billing_address.postal_code}`, 50, customerInformationTop + 30, { align: 'left' });
|
|
33
|
+
const billAddress = order.billing_address.address_1;
|
|
34
|
+
heightOfBillToAddress = doc.heightOfString(billAddress, { width: 150 });
|
|
35
|
+
doc.text(billAddress, 50, customerInformationTop + 45, { align: 'left', width: 150 })
|
|
36
|
+
.moveDown();
|
|
37
|
+
}
|
|
38
|
+
let heightOfShipToAddress;
|
|
39
|
+
if (order.shipping_address) {
|
|
40
|
+
doc
|
|
41
|
+
.fontSize(10)
|
|
42
|
+
.font("Bold")
|
|
43
|
+
.text(`${(0, i18next_1.t)("invoice-ship-to", "Ship to")}:`, 50, customerInformationTop, { align: 'right' })
|
|
44
|
+
.font("Regular")
|
|
45
|
+
.text(`${order.shipping_address.first_name} ${order.shipping_address.last_name}`, 50, customerInformationTop + 15, { align: 'right' })
|
|
46
|
+
.text(`${order.shipping_address.city} ${order.shipping_address.postal_code}`, 50, customerInformationTop + 30, { align: 'right' })
|
|
47
|
+
.moveDown();
|
|
48
|
+
const shipAddress = order.shipping_address.address_1;
|
|
49
|
+
heightOfShipToAddress = doc.heightOfString(shipAddress, { width: 150 });
|
|
50
|
+
doc.text(shipAddress, 360, customerInformationTop + 45, { align: 'right', widdth: 150 })
|
|
51
|
+
.moveDown();
|
|
52
|
+
}
|
|
53
|
+
if (heightOfBillToAddress && heightOfShipToAddress) {
|
|
54
|
+
if (heightOfShipToAddress > heightOfBillToAddress) {
|
|
55
|
+
return customerInformationTop + 45 + heightOfShipToAddress;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return customerInformationTop + 45 + heightOfBillToAddress;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (heightOfBillToAddress) {
|
|
62
|
+
return customerInformationTop + 45 + heightOfBillToAddress;
|
|
63
|
+
}
|
|
64
|
+
if (heightOfShipToAddress) {
|
|
65
|
+
return customerInformationTop + 45 + heightOfShipToAddress;
|
|
66
|
+
}
|
|
67
|
+
return customerInformationTop;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2RvY3VtZW50cy9zZXJ2aWNlcy90ZW1wbGF0ZXMvaW52b2ljZXMvYmFzaWMvcGFydHMvY3VzdG9tZXItaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFNSCxrRUE0REM7QUFoRUQsNkJBQWtDO0FBQ2xDLHFDQUE0QjtBQUc1QixTQUFnQiwyQkFBMkIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQWU7SUFDakUsR0FBRztTQUNBLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDcEIsUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUNaLElBQUksQ0FBQyxHQUFHLElBQUEsV0FBQyxFQUFDLDBCQUEwQixFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUVuRSxJQUFBLGVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRXhCLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV0QyxJQUFJLHFCQUF5QyxDQUFDO0lBRTlDLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLEdBQUc7YUFDQSxRQUFRLENBQUMsRUFBRSxDQUFDO2FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUVaLElBQUksQ0FBQyxHQUFHLElBQUEsV0FBQyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLHNCQUFzQixFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO2FBQ3hGLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsZUFB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
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateHeaderForLogo = generateHeaderForLogo;
|
|
15
|
+
function generateHeaderForLogo(doc, y, documentSettings) {
|
|
16
|
+
doc
|
|
17
|
+
.fillColor("#444444")
|
|
18
|
+
.fontSize(20);
|
|
19
|
+
const heightCompany = doc.heightOfString(documentSettings.storeAddress?.company, { width: 250 });
|
|
20
|
+
doc
|
|
21
|
+
.fillColor("#444444")
|
|
22
|
+
.fontSize(20)
|
|
23
|
+
.text(documentSettings.storeAddress?.company, 50, 50, { align: "left", width: 250 })
|
|
24
|
+
.moveDown()
|
|
25
|
+
.fontSize(10)
|
|
26
|
+
.text(documentSettings.storeAddress?.company, 50, heightCompany + 65, { align: "left" })
|
|
27
|
+
.text(`${documentSettings.storeAddress?.city} ${documentSettings.storeAddress?.postal_code}`, 50, heightCompany + 80, { align: "left" });
|
|
28
|
+
const heightOfAddress = doc.heightOfString(documentSettings.storeAddress?.address_1, { width: 250 });
|
|
29
|
+
doc.text(documentSettings.storeAddress?.address_1, 50, heightCompany + 95, { align: "left", width: 250 });
|
|
30
|
+
return heightOfAddress + heightCompany + 95;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWZvci1sb2dvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9iYXNpYy9wYXJ0cy9oZWFkZXItZm9yLWxvZ28udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBSUgsc0RBbUJDO0FBbkJELFNBQWdCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFTLEVBQUUsZ0JBQXFDO0lBQ3pGLEdBQUc7U0FDQSxTQUFTLENBQUMsU0FBUyxDQUFDO1NBQ3BCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUVmLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRWpHLEdBQUc7U0FDQSxTQUFTLENBQUMsU0FBUyxDQUFDO1NBQ3BCLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDbkYsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxhQUFhLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQ3ZGLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFDeEksTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDcEcsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxhQUFhLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUV6RyxPQUFPLGVBQWUsR0FBRyxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ2hELENBQUMifQ==
|
package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-logo.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateHeaderLogo = generateHeaderLogo;
|
|
15
|
+
async function generateHeaderLogo(doc, y, logoSource) {
|
|
16
|
+
const responseImage = await fetch(logoSource);
|
|
17
|
+
if (responseImage.ok && responseImage.status == 200) {
|
|
18
|
+
const responseImageBuffer = await responseImage.arrayBuffer();
|
|
19
|
+
const responseBuffer = Buffer.from(responseImageBuffer);
|
|
20
|
+
doc
|
|
21
|
+
.image(responseBuffer, 350, y, { align: 'right', width: 200 });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
doc
|
|
25
|
+
.text('Cannot get logo from provided URL'), 390, y, { align: 'right', width: 200 };
|
|
26
|
+
}
|
|
27
|
+
return y;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWxvZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2Jhc2ljL3BhcnRzL2hlYWRlci1sb2dvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQUVILGdEQWVDO0FBZk0sS0FBSyxVQUFVLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFTLEVBQUUsVUFBa0I7SUFFekUsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFOUMsSUFBSSxhQUFhLENBQUMsRUFBRSxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDcEQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM5RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDeEQsR0FBRzthQUNBLEtBQUssQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztTQUFNLENBQUM7UUFDTixHQUFHO2FBQ0EsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUMifQ==
|
package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateHeader = generateHeader;
|
|
15
|
+
function generateHeader(doc, y, documentSettings) {
|
|
16
|
+
doc
|
|
17
|
+
.fillColor("#444444")
|
|
18
|
+
.fontSize(20);
|
|
19
|
+
const heightCompany = doc.heightOfString(documentSettings.storeAddress?.company, { width: 250 });
|
|
20
|
+
doc
|
|
21
|
+
.text(documentSettings.storeAddress?.company, 50, y, { align: "left", width: 250 })
|
|
22
|
+
.fontSize(10)
|
|
23
|
+
.text(documentSettings.storeAddress?.company, 200, y, { align: "right" })
|
|
24
|
+
.text(`${documentSettings.storeAddress?.city} ${documentSettings.storeAddress?.postal_code}`, 200, y + 15, { align: "right" });
|
|
25
|
+
const heightAddress = doc.heightOfString(documentSettings.storeAddress?.address_1, { width: 150 });
|
|
26
|
+
doc
|
|
27
|
+
.text(`${documentSettings.storeAddress?.address_1}`, 390, y + 30, { align: "right", width: 150 });
|
|
28
|
+
if (heightCompany > heightAddress + 30) {
|
|
29
|
+
return heightCompany + y;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return heightAddress + y + 30;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9iYXNpYy9wYXJ0cy9oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBSUgsd0NBdUJDO0FBdkJELFNBQWdCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLGdCQUFxQztJQUNsRixHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFZixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNqRyxHQUFHO1NBQ0EsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDO1NBQ2xGLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQ3hFLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFFaEksTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7SUFFakcsR0FBRztTQUNBLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUE7SUFHbEcsSUFBSSxhQUFhLEdBQUcsYUFBYSxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sYUFBYSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sYUFBYSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateHr = generateHr;
|
|
15
|
+
function generateHr(doc, y) {
|
|
16
|
+
doc
|
|
17
|
+
.strokeColor("#aaaaaa")
|
|
18
|
+
.lineWidth(1)
|
|
19
|
+
.moveTo(50, y)
|
|
20
|
+
.lineTo(550, y)
|
|
21
|
+
.stroke();
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2Jhc2ljL3BhcnRzL2hyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQUVILGdDQU9DO0FBUEQsU0FBZ0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFTO0lBQ3ZDLEdBQUc7U0FDQSxXQUFXLENBQUMsU0FBUyxDQUFDO1NBQ3RCLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDWixNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNiLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ2QsTUFBTSxFQUFFLENBQUM7QUFDZCxDQUFDIn0=
|
package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/invoice-info.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateInvoiceInformation = generateInvoiceInformation;
|
|
15
|
+
const hr_1 = require("./hr");
|
|
16
|
+
const i18next_1 = require("i18next");
|
|
17
|
+
function generateInvoiceInformation(doc, y, invoice) {
|
|
18
|
+
doc
|
|
19
|
+
.fillColor("#444444")
|
|
20
|
+
.fontSize(20)
|
|
21
|
+
.text((0, i18next_1.t)("invoice", "Invoice"), 50, y + 40);
|
|
22
|
+
(0, hr_1.generateHr)(doc, y + 65);
|
|
23
|
+
const invoiceInformationTop = y + 80;
|
|
24
|
+
doc
|
|
25
|
+
.fontSize(10)
|
|
26
|
+
.text(`${(0, i18next_1.t)("invoice-number", "Invoice number")}:`, 50, invoiceInformationTop)
|
|
27
|
+
.font("Bold")
|
|
28
|
+
.text(invoice.displayNumber, 150, invoiceInformationTop)
|
|
29
|
+
.font("Regular")
|
|
30
|
+
.text(`${(0, i18next_1.t)("invoice-date", "Invoice date")}:`, 50, invoiceInformationTop + 15)
|
|
31
|
+
.text(invoice.created_at.toLocaleDateString(), 150, invoiceInformationTop + 15)
|
|
32
|
+
.moveDown();
|
|
33
|
+
return invoiceInformationTop + 15;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9iYXNpYy9wYXJ0cy9pbnZvaWNlLWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBTUgsZ0VBcUJDO0FBeEJELDZCQUFrQztBQUNsQyxxQ0FBNEI7QUFFNUIsU0FBZ0IsMEJBQTBCLENBQUMsR0FBRyxFQUFFLENBQVMsRUFBRSxPQUEyQjtJQUNwRixHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDO1NBQ1osSUFBSSxDQUFDLElBQUEsV0FBQyxFQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLElBQUEsZUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFeEIsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRXJDLEdBQUc7U0FDQSxRQUFRLENBQUMsRUFBRSxDQUFDO1NBQ1osSUFBSSxDQUFDLEdBQUcsSUFBQSxXQUFDLEVBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQztTQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLHFCQUFxQixDQUFDO1NBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUM7U0FDZixJQUFJLENBQUMsR0FBRyxJQUFBLFdBQUMsRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1NBQzdFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsR0FBRyxFQUFFLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztTQUM5RSxRQUFRLEVBQUUsQ0FBQztJQUVkLE9BQU8scUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBQ3BDLENBQUMifQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.generateInvoiceTable = generateInvoiceTable;
|
|
15
|
+
const hr_1 = require("./hr");
|
|
16
|
+
const i18next_1 = require("i18next");
|
|
17
|
+
const currency_1 = require("../../../../../utils/currency");
|
|
18
|
+
function amountToDisplay(amount, currencyCode) {
|
|
19
|
+
const decimalDigits = (0, currency_1.getDecimalDigits)(currencyCode);
|
|
20
|
+
return `${(amount / Math.pow(10, decimalDigits)).toFixed(decimalDigits)} ${currencyCode.toUpperCase()}`;
|
|
21
|
+
}
|
|
22
|
+
function amountToDisplayNormalized(amount, currencyCode) {
|
|
23
|
+
const decimalDigits = (0, currency_1.getDecimalDigits)(currencyCode);
|
|
24
|
+
return `${parseFloat(amount.toString()).toFixed(decimalDigits)} ${currencyCode.toUpperCase()}`;
|
|
25
|
+
}
|
|
26
|
+
function generateTableRow(doc, y, item, description, unitCost, quantity, lineTotal) {
|
|
27
|
+
doc.fontSize(10);
|
|
28
|
+
const pageHeight = doc.page.height - 80;
|
|
29
|
+
const descriptionHeight = doc.heightOfString(description, { width: 180 });
|
|
30
|
+
const itemHeight = doc.heightOfString(item, { width: 90 });
|
|
31
|
+
const maxHeight = Math.max(descriptionHeight, itemHeight);
|
|
32
|
+
const height = Math.max(maxHeight, 30);
|
|
33
|
+
let _y = y;
|
|
34
|
+
let nextY = y + height;
|
|
35
|
+
if (nextY > pageHeight) {
|
|
36
|
+
doc.addPage();
|
|
37
|
+
_y = 50;
|
|
38
|
+
nextY = _y + height;
|
|
39
|
+
}
|
|
40
|
+
doc
|
|
41
|
+
.text(item, 50, _y, { width: 90 })
|
|
42
|
+
.text(description, 150, _y, { width: 180 })
|
|
43
|
+
.text(unitCost, 280, _y, { width: 90, align: "right" })
|
|
44
|
+
.text(quantity, 370, _y, { width: 90, align: "right" })
|
|
45
|
+
.text(lineTotal, 0, _y, { align: "right" });
|
|
46
|
+
return nextY;
|
|
47
|
+
}
|
|
48
|
+
function generateInvoiceTable(doc, y, order, items) {
|
|
49
|
+
let i;
|
|
50
|
+
const invoiceTableTop = y + 35;
|
|
51
|
+
const pageHeight = doc.page.height - 50;
|
|
52
|
+
doc.font("Bold");
|
|
53
|
+
generateTableRow(doc, invoiceTableTop, (0, i18next_1.t)("invoice-table-header-item", "Item"), (0, i18next_1.t)("invoice-table-header-description", "Description"), (0, i18next_1.t)("invoice-table-header-unit-cost", "Unit Cost"), (0, i18next_1.t)("invoice-table-header-quantity", "Quantity"), (0, i18next_1.t)("invoice-table-header-line-total", "Line Total"));
|
|
54
|
+
(0, hr_1.generateHr)(doc, invoiceTableTop + 20);
|
|
55
|
+
doc.font("Regular");
|
|
56
|
+
let currentY = invoiceTableTop + 30;
|
|
57
|
+
for (i = 0; i < items.length; i++) {
|
|
58
|
+
if (currentY > pageHeight) {
|
|
59
|
+
doc.addPage();
|
|
60
|
+
currentY = 50;
|
|
61
|
+
}
|
|
62
|
+
const item = items[i];
|
|
63
|
+
currentY = generateTableRow(doc, currentY, item.title, item.subtitle, amountToDisplayNormalized(Number(item.raw_unit_price.value), order.currency_code), item.quantity, amountToDisplayNormalized(Number(item.raw_unit_price.value) * item.quantity, order.currency_code));
|
|
64
|
+
currentY += 5;
|
|
65
|
+
if (currentY > pageHeight) {
|
|
66
|
+
doc.addPage();
|
|
67
|
+
currentY = 50;
|
|
68
|
+
}
|
|
69
|
+
(0, hr_1.generateHr)(doc, currentY);
|
|
70
|
+
currentY += 5;
|
|
71
|
+
if (currentY > pageHeight) {
|
|
72
|
+
doc.addPage();
|
|
73
|
+
currentY = 50;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
currentY += 20;
|
|
77
|
+
if (currentY > pageHeight) {
|
|
78
|
+
doc.addPage();
|
|
79
|
+
currentY = 50;
|
|
80
|
+
}
|
|
81
|
+
generateTableRow(doc, currentY, "", "", (0, i18next_1.t)("invoice-table-shipping", "Shipping"), "", amountToDisplayNormalized(order.shipping_subtotal.numeric, order.currency_code));
|
|
82
|
+
currentY += 30;
|
|
83
|
+
if (currentY > pageHeight) {
|
|
84
|
+
doc.addPage();
|
|
85
|
+
currentY = 50;
|
|
86
|
+
}
|
|
87
|
+
generateTableRow(doc, currentY, "", "", (0, i18next_1.t)("invoice-table-tax", "Tax"), "", amountToDisplayNormalized(order.tax_total.numeric, order.currency_code));
|
|
88
|
+
currentY += 45;
|
|
89
|
+
if (currentY > pageHeight) {
|
|
90
|
+
doc.addPage();
|
|
91
|
+
currentY = 50;
|
|
92
|
+
}
|
|
93
|
+
doc.font("Bold");
|
|
94
|
+
generateTableRow(doc, currentY, "", "", (0, i18next_1.t)("invoice-table-total", "Total"), "", amountToDisplayNormalized(order.total.numeric, order.currency_code));
|
|
95
|
+
doc.font("Regular");
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2Jhc2ljL3BhcnRzL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQTRESCxvREErR0M7QUF6S0QsNkJBQWtDO0FBQ2xDLHFDQUE0QjtBQUU1Qiw0REFBaUU7QUFHakUsU0FBUyxlQUFlLENBQUMsTUFBYyxFQUFFLFlBQW9CO0lBQzNELE1BQU0sYUFBYSxHQUFHLElBQUEsMkJBQWdCLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUN0RCxhQUFhLENBQ2QsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztBQUNwQyxDQUFDO0FBRUQsU0FBUyx5QkFBeUIsQ0FDaEMsTUFBYyxFQUNkLFlBQW9CO0lBRXBCLE1BQU0sYUFBYSxHQUFHLElBQUEsMkJBQWdCLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQzdDLGFBQWEsQ0FDZCxJQUFJLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUN2QixHQUFHLEVBQ0gsQ0FBQyxFQUNELElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUNSLFFBQVEsRUFDUixTQUFTO0lBRVQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVqQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7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
|
package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/india-gst.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
9
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
10
|
+
* See the License for the specific language governing permissions and
|
|
11
|
+
* limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.validateInput = validateInput;
|
|
18
|
+
const pdfkit_1 = __importDefault(require("pdfkit"));
|
|
19
|
+
const path_1 = __importDefault(require("path"));
|
|
20
|
+
const seller_info_1 = require("./parts/seller-info");
|
|
21
|
+
const invoice_meta_1 = require("./parts/invoice-meta");
|
|
22
|
+
const table_1 = require("./parts/table");
|
|
23
|
+
const footer_1 = require("./parts/footer");
|
|
24
|
+
const hr_1 = require("../basic/parts/hr");
|
|
25
|
+
const header_logo_1 = require("../basic/parts/header-logo");
|
|
26
|
+
const customer_info_1 = require("../basic/parts/customer-info");
|
|
27
|
+
function validateInput(settings) {
|
|
28
|
+
if (settings && settings.storeAddress && settings.storeAddress.company &&
|
|
29
|
+
settings.storeAddress.address_1 &&
|
|
30
|
+
settings.storeAddress.city &&
|
|
31
|
+
settings.storeAddress.postal_code &&
|
|
32
|
+
settings.storeIndiaGstDetails?.gstin)
|
|
33
|
+
return [true, ''];
|
|
34
|
+
return [false, `Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code, GSTIN (in India GST details)`];
|
|
35
|
+
}
|
|
36
|
+
// ponytail: state match by province string equality, upgrade to GST state-code table if buyer/seller provinces don't line up 1:1
|
|
37
|
+
function isInterState(settings, order) {
|
|
38
|
+
const sellerState = settings.storeAddress?.province?.toString().trim().toLowerCase();
|
|
39
|
+
const buyerState = order.billing_address?.province?.toString().trim().toLowerCase();
|
|
40
|
+
if (!sellerState || !buyerState) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return sellerState !== buyerState;
|
|
44
|
+
}
|
|
45
|
+
exports.default = async (settings, invoice, order) => {
|
|
46
|
+
var doc = new pdfkit_1.default({ size: 'A4', margin: 40 });
|
|
47
|
+
doc.registerFont('Regular', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Regular.ttf'));
|
|
48
|
+
doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
|
|
49
|
+
doc.font('Regular');
|
|
50
|
+
const buffers = [];
|
|
51
|
+
doc.on("data", buffers.push.bind(buffers));
|
|
52
|
+
if (settings.storeLogoSource) {
|
|
53
|
+
await (0, header_logo_1.generateHeaderLogo)(doc, 40, settings.storeLogoSource);
|
|
54
|
+
}
|
|
55
|
+
const endSeller = (0, seller_info_1.generateSellerInfo)(doc, 40, settings);
|
|
56
|
+
const endMeta = (0, invoice_meta_1.generateInvoiceMeta)(doc, 130, invoice, order);
|
|
57
|
+
const headerBottom = Math.max(endSeller, endMeta);
|
|
58
|
+
(0, hr_1.generateHr)(doc, headerBottom + 5);
|
|
59
|
+
const endCustomer = (0, customer_info_1.generateCustomerInformation)(doc, headerBottom + 5, order);
|
|
60
|
+
const interState = isInterState(settings, order);
|
|
61
|
+
const endTable = (0, table_1.generateInvoiceTable)(doc, endCustomer, order, order.items || [], interState);
|
|
62
|
+
await (0, footer_1.generateFooter)(doc, endTable, settings);
|
|
63
|
+
doc.end();
|
|
64
|
+
const bufferPromise = new Promise(resolve => {
|
|
65
|
+
doc.on("end", () => {
|
|
66
|
+
const pdfData = Buffer.concat(buffers);
|
|
67
|
+
resolve(pdfData);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
return await bufferPromise;
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWEtZ3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9pbmRpYS1nc3QvaW5kaWEtZ3N0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOzs7OztBQWNILHNDQVFDO0FBbEJELG9EQUFpQztBQUNqQyxnREFBd0I7QUFDeEIscURBQXlEO0FBQ3pELHVEQUEyRDtBQUMzRCx5Q0FBcUQ7QUFDckQsMkNBQWdEO0FBQ2hELDBDQUErQztBQUMvQyw0REFBZ0U7QUFDaEUsZ0VBQTJFO0FBRTNFLFNBQWdCLGFBQWEsQ0FBQyxRQUE4QjtJQUMxRCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsWUFBWSxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTztRQUNwRSxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVM7UUFDL0IsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJO1FBQzFCLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVztRQUNqQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsS0FBSztRQUNwQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsc0pBQXNKLENBQUMsQ0FBQztBQUN6SyxDQUFDO0FBRUQsaUlBQWlJO0FBQ2pJLFNBQVMsWUFBWSxDQUFDLFFBQTZCLEVBQUUsS0FBZTtJQUNsRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyRixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNw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
|