medusa-invoice 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.yarnrc.yml +1 -0
- package/LICENSE +21 -0
- package/README.md +177 -0
- package/dist/admin/_virtual_entry.js +15246 -0
- package/dist/api/admin/document-invoice-settings/forced-number/route.d.ts +2 -0
- package/dist/api/admin/document-invoice-settings/forced-number/route.js +39 -0
- package/dist/api/admin/document-invoice-settings/format-number/route.d.ts +2 -0
- package/dist/api/admin/document-invoice-settings/format-number/route.js +39 -0
- package/dist/api/admin/document-invoice-settings/invoice-template/route.d.ts +2 -0
- package/dist/api/admin/document-invoice-settings/invoice-template/route.js +39 -0
- package/dist/api/admin/document-invoice-settings/route.d.ts +3 -0
- package/dist/api/admin/document-invoice-settings/route.js +56 -0
- package/dist/api/admin/document-packing-slip-settings/route.d.ts +3 -0
- package/dist/api/admin/document-packing-slip-settings/route.js +56 -0
- package/dist/api/admin/document-packing-slip-settings/template/route.d.ts +2 -0
- package/dist/api/admin/document-packing-slip-settings/template/route.js +39 -0
- package/dist/api/admin/document-settings/document-address/route.d.ts +2 -0
- package/dist/api/admin/document-settings/document-address/route.js +46 -0
- package/dist/api/admin/document-settings/logo/route.d.ts +3 -0
- package/dist/api/admin/document-settings/logo/route.js +61 -0
- package/dist/api/admin/document-settings/route.d.ts +2 -0
- package/dist/api/admin/document-settings/route.js +30 -0
- package/dist/api/admin/invoice/display-number/route.d.ts +2 -0
- package/dist/api/admin/invoice/display-number/route.js +32 -0
- package/dist/api/admin/invoice/generate/route.d.ts +2 -0
- package/dist/api/admin/invoice/generate/route.js +29 -0
- package/dist/api/admin/invoice/route.d.ts +3 -0
- package/dist/api/admin/invoice/route.js +44 -0
- package/dist/api/admin/packing-slip/preview/route.d.ts +2 -0
- package/dist/api/admin/packing-slip/preview/route.js +29 -0
- package/dist/api/admin/packing-slip/route.d.ts +3 -0
- package/dist/api/admin/packing-slip/route.js +44 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +29 -0
- package/dist/loaders/i18next.d.ts +3 -0
- package/dist/loaders/i18next.js +72 -0
- package/dist/migrations/1711700828113-DocumentSettings.d.ts +6 -0
- package/dist/migrations/1711700828113-DocumentSettings.js +47 -0
- package/dist/migrations/1711701185935-Invoice.d.ts +5 -0
- package/dist/migrations/1711701185935-Invoice.js +50 -0
- package/dist/migrations/1712753213091-DocumentInvoiceSettings.d.ts +5 -0
- package/dist/migrations/1712753213091-DocumentInvoiceSettings.js +46 -0
- package/dist/migrations/1712754851678-Invoice.d.ts +5 -0
- package/dist/migrations/1712754851678-Invoice.js +23 -0
- package/dist/migrations/1714903066794-DocumentPackingSlipSettings.d.ts +5 -0
- package/dist/migrations/1714903066794-DocumentPackingSlipSettings.js +25 -0
- package/dist/migrations/1714903539447-PackingSlip.d.ts +5 -0
- package/dist/migrations/1714903539447-PackingSlip.js +45 -0
- package/dist/models/document-invoice-settings.d.ts +11 -0
- package/dist/models/document-invoice-settings.js +61 -0
- package/dist/models/document-packing-slip-settings.d.ts +11 -0
- package/dist/models/document-packing-slip-settings.js +61 -0
- package/dist/models/document-settings.d.ts +12 -0
- package/dist/models/document-settings.js +66 -0
- package/dist/models/invoice.d.ts +15 -0
- package/dist/models/invoice.js +74 -0
- package/dist/models/packing-slip.d.ts +15 -0
- package/dist/models/packing-slip.js +74 -0
- package/dist/services/document-invoice-settings.d.ts +14 -0
- package/dist/services/document-invoice-settings.js +110 -0
- package/dist/services/document-packing-slip-settings.d.ts +14 -0
- package/dist/services/document-packing-slip-settings.js +110 -0
- package/dist/services/generators/invoice-generator.d.ts +8 -0
- package/dist/services/generators/invoice-generator.js +64 -0
- package/dist/services/generators/packing-slip-generator.d.ts +8 -0
- package/dist/services/generators/packing-slip-generator.js +64 -0
- package/dist/services/invoice.d.ts +22 -0
- package/dist/services/invoice.js +277 -0
- package/dist/services/packing-slip.d.ts +16 -0
- package/dist/services/packing-slip.js +187 -0
- package/dist/services/templates/invoices/basic/basic-logo.d.ts +8 -0
- package/dist/services/templates/invoices/basic/basic-logo.js +56 -0
- package/dist/services/templates/invoices/basic/basic.d.ts +8 -0
- package/dist/services/templates/invoices/basic/basic.js +53 -0
- package/dist/services/templates/invoices/basic/parts/customer-info.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/customer-info.js +70 -0
- package/dist/services/templates/invoices/basic/parts/header-for-logo.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/header-for-logo.js +33 -0
- package/dist/services/templates/invoices/basic/parts/header-logo.d.ts +1 -0
- package/dist/services/templates/invoices/basic/parts/header-logo.js +30 -0
- package/dist/services/templates/invoices/basic/parts/header.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/header.js +36 -0
- package/dist/services/templates/invoices/basic/parts/hr.d.ts +1 -0
- package/dist/services/templates/invoices/basic/parts/hr.js +24 -0
- package/dist/services/templates/invoices/basic/parts/invoice-info.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/invoice-info.js +36 -0
- package/dist/services/templates/invoices/basic/parts/table.d.ts +2 -0
- package/dist/services/templates/invoices/basic/parts/table.js +54 -0
- package/dist/services/templates/packing-slips/basic/basic.d.ts +8 -0
- package/dist/services/templates/packing-slips/basic/basic.js +53 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info-small.js +70 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/customer-info.js +66 -0
- package/dist/services/templates/packing-slips/basic/parts/header-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/header-small.js +38 -0
- package/dist/services/templates/packing-slips/basic/parts/header.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/header.js +38 -0
- package/dist/services/templates/packing-slips/basic/parts/hr.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/hr.js +33 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items-small.js +45 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-items.js +45 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info-small.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info-small.js +36 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info.d.ts +2 -0
- package/dist/services/templates/packing-slips/basic/parts/table-order-info.js +37 -0
- package/dist/services/templates/packing-slips/basic/small.d.ts +8 -0
- package/dist/services/templates/packing-slips/basic/small.js +54 -0
- package/dist/services/types/api.d.ts +14 -0
- package/dist/services/types/api.js +14 -0
- package/dist/services/types/constants.d.ts +2 -0
- package/dist/services/types/constants.js +17 -0
- package/dist/services/types/template-kind.d.ts +8 -0
- package/dist/services/types/template-kind.js +25 -0
- package/dist/services/utils/currency.d.ts +1 -0
- package/dist/services/utils/currency.js +19 -0
- package/dist/ui-components/actions-dropdown/actions-dropdown.d.ts +4 -0
- package/dist/ui-components/actions-dropdown/actions-dropdown.js +18 -0
- package/dist/ui-components/actions-dropdown/invoice/button-generate-invoice.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/invoice/button-generate-invoice.js +56 -0
- package/dist/ui-components/actions-dropdown/invoice/button-view-invoice.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/invoice/button-view-invoice.js +64 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.js +56 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-view-packing-slip.d.ts +5 -0
- package/dist/ui-components/actions-dropdown/packing-slip/button-view-packing-slip.js +64 -0
- package/dist/ui-components/index.d.ts +3 -0
- package/dist/ui-components/index.js +21 -0
- package/dist/ui-components/orders/order-table/invoice-number-from-order.d.ts +4 -0
- package/dist/ui-components/orders/order-table/invoice-number-from-order.js +30 -0
- package/dist/ui-components/orders/order-table/packing-slip-number.d.ts +4 -0
- package/dist/ui-components/orders/order-table/packing-slip-number.js +30 -0
- package/dist/ui-components/orders/order-table/use-columns.d.ts +45 -0
- package/dist/ui-components/orders/order-table/use-columns.js +186 -0
- package/dist/ui-components/orders/order-table/use-orders.d.ts +9 -0
- package/dist/ui-components/orders/order-table/use-orders.js +146 -0
- package/dist/ui-components/orders/order-table/utils/currencies.d.ts +14 -0
- package/dist/ui-components/orders/order-table/utils/currencies.js +1077 -0
- package/dist/ui-components/orders/order-table/utils/time.d.ts +10 -0
- package/dist/ui-components/orders/order-table/utils/time.js +54 -0
- package/dist/ui-components/orders/order-table.d.ts +8 -0
- package/dist/ui-components/orders/order-table.js +92 -0
- package/dist/ui-components/settings/settings-address.d.ts +2 -0
- package/dist/ui-components/settings/settings-address.js +66 -0
- package/dist/ui-components/settings/settings-invoice-display-number.d.ts +5 -0
- package/dist/ui-components/settings/settings-invoice-display-number.js +29 -0
- package/dist/ui-components/settings/settings-invoice.d.ts +2 -0
- package/dist/ui-components/settings/settings-invoice.js +116 -0
- package/dist/ui-components/settings/settings-logo.d.ts +2 -0
- package/dist/ui-components/settings/settings-logo.js +86 -0
- package/dist/ui-components/tabs/orders-tab.d.ts +1 -0
- package/dist/ui-components/tabs/orders-tab.js +28 -0
- package/dist/ui-components/tabs/pro-tab.d.ts +1 -0
- package/dist/ui-components/tabs/pro-tab.js +23 -0
- package/dist/ui-components/tabs/settings-tab.d.ts +1 -0
- package/dist/ui-components/tabs/settings-tab.js +28 -0
- package/dist/ui-components/tabs/templates-tab/templates-invoice-tab.d.ts +1 -0
- package/dist/ui-components/tabs/templates-tab/templates-invoice-tab.js +92 -0
- package/dist/ui-components/tabs/templates-tab/templates-packing-slip-tab.d.ts +1 -0
- package/dist/ui-components/tabs/templates-tab/templates-packing-slip-tab.js +92 -0
- package/dist/ui-components/tabs/templates-tab/templates-tab.d.ts +1 -0
- package/dist/ui-components/tabs/templates-tab/templates-tab.js +24 -0
- package/dist/ui-components/types/api.d.ts +54 -0
- package/dist/ui-components/types/api.js +14 -0
- package/dist/ui-components/types/invoice.d.ts +8 -0
- package/dist/ui-components/types/invoice.js +14 -0
- package/dist/ui-components/types/packing-slip.d.ts +8 -0
- package/dist/ui-components/types/packing-slip.js +14 -0
- package/dist/ui-components/types/template-kind.d.ts +8 -0
- package/dist/ui-components/types/template-kind.js +25 -0
- package/index.js +50 -0
- package/package.json +94 -0
- package/tsconfig.admin.json +8 -0
- package/tsconfig.json +32 -0
- package/tsconfig.server.json +8 -0
- package/tsconfig.spec.json +5 -0
@@ -0,0 +1,64 @@
|
|
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 (mod) {
|
30
|
+
if (mod && mod.__esModule) return mod;
|
31
|
+
var result = {};
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
33
|
+
__setModuleDefault(result, mod);
|
34
|
+
return result;
|
35
|
+
};
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
37
|
+
exports.generate = exports.validateInputForProvidedKind = void 0;
|
38
|
+
const template_kind_1 = require("../types/template-kind");
|
39
|
+
const basic_1 = __importStar(require("../templates/packing-slips/basic/basic"));
|
40
|
+
const small_1 = __importStar(require("../templates/packing-slips/basic/small"));
|
41
|
+
function validateInputForProvidedKind(templateKind, documentSettings) {
|
42
|
+
switch (templateKind) {
|
43
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC:
|
44
|
+
return (0, basic_1.validateInput)(documentSettings);
|
45
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC_SMALL:
|
46
|
+
return (0, small_1.validateInput)(documentSettings);
|
47
|
+
default:
|
48
|
+
return [false, 'Not supported template'];
|
49
|
+
}
|
50
|
+
}
|
51
|
+
exports.validateInputForProvidedKind = validateInputForProvidedKind;
|
52
|
+
function generate(kind, documentSettings, packingSlip, order) {
|
53
|
+
switch (kind) {
|
54
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC:
|
55
|
+
return (0, basic_1.default)(documentSettings, packingSlip, order);
|
56
|
+
case template_kind_1.PackingSlipTemplateKind.BASIC_SMALL:
|
57
|
+
return (0, small_1.default)(documentSettings, packingSlip, order);
|
58
|
+
default:
|
59
|
+
return Promise.resolve(Buffer.from('Not supported template'));
|
60
|
+
}
|
61
|
+
}
|
62
|
+
exports.generate = generate;
|
63
|
+
;
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2luZy1zbGlwLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nZW5lcmF0b3JzL3BhY2tpbmctc2xpcC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsMERBQWlFO0FBQ2pFLGdGQUEwRztBQUMxRyxnRkFBMEc7QUFLMUcsU0FBZ0IsNEJBQTRCLENBQUMsWUFBcUMsRUFBRSxnQkFBa0M7SUFDcEgsUUFBUSxZQUFZLEVBQUU7UUFDcEIsS0FBSyx1Q0FBdUIsQ0FBQyxLQUFLO1lBQ2hDLE9BQU8sSUFBQSxxQkFBa0IsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlDLEtBQUssdUNBQXVCLENBQUMsV0FBVztZQUN0QyxPQUFPLElBQUEscUJBQWtCLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QztZQUNFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztLQUM1QztBQUVILENBQUM7QUFWRCxvRUFVQztBQUVELFNBQWdCLFFBQVEsQ0FBQyxJQUE2QixFQUFFLGdCQUFrQyxFQUFFLFdBQXdCLEVBQUUsS0FBWTtJQUNoSSxRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssdUNBQXVCLENBQUMsS0FBSztZQUNoQyxPQUFPLElBQUEsZUFBYSxFQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxLQUFLLHVDQUF1QixDQUFDLFdBQVc7WUFDdEMsT0FBTyxJQUFBLGVBQWEsRUFBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0Q7WUFDRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7S0FDakU7QUFDSCxDQUFDO0FBVEQsNEJBU0M7QUFBQSxDQUFDIn0=
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { TransactionBaseService } from "@medusajs/medusa";
|
2
|
+
import { DocumentSettings } from "../models/document-settings";
|
3
|
+
import { DocumentAddress, InvoiceResult } from "./types/api";
|
4
|
+
import { InvoiceTemplateKind } from "./types/template-kind";
|
5
|
+
export default class InvoiceService extends TransactionBaseService {
|
6
|
+
private readonly orderService;
|
7
|
+
private readonly documentInvoiceSettingsService;
|
8
|
+
constructor(container: any);
|
9
|
+
private calculateTemplateKind;
|
10
|
+
private calculateFormatNumber;
|
11
|
+
private getNextInvoiceNumber;
|
12
|
+
private copySettingsIfPossible;
|
13
|
+
getTestDisplayNumber(formatNumber?: string, forcedNumber?: string): Promise<string | undefined>;
|
14
|
+
getInvoiceTemplate(): Promise<string | undefined>;
|
15
|
+
getStoreLogo(): Promise<string | undefined>;
|
16
|
+
updateStoreLogo(newLogoSource: string): Promise<DocumentSettings | undefined>;
|
17
|
+
updateStoreDocumentAddress(newAddress: DocumentAddress): Promise<DocumentSettings | undefined>;
|
18
|
+
getLastDocumentSettings(): Promise<DocumentSettings | undefined>;
|
19
|
+
getInvoice(invoiceId: string, includeBuffer?: boolean): Promise<InvoiceResult>;
|
20
|
+
generateInvoiceForOrder(orderId: string): Promise<InvoiceResult>;
|
21
|
+
generateTestInvoice(templateKind: InvoiceTemplateKind): Promise<InvoiceResult>;
|
22
|
+
}
|
@@ -0,0 +1,277 @@
|
|
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
|
+
const medusa_1 = require("@medusajs/medusa");
|
15
|
+
const medusa_2 = require("@medusajs/medusa");
|
16
|
+
const utils_1 = require("@medusajs/utils");
|
17
|
+
const invoice_1 = require("../models/invoice");
|
18
|
+
const document_settings_1 = require("../models/document-settings");
|
19
|
+
const template_kind_1 = require("./types/template-kind");
|
20
|
+
const invoice_generator_1 = require("./generators/invoice-generator");
|
21
|
+
const constants_1 = require("./types/constants");
|
22
|
+
class InvoiceService extends medusa_1.TransactionBaseService {
|
23
|
+
constructor(container) {
|
24
|
+
super(container);
|
25
|
+
this.orderService = container.orderService;
|
26
|
+
this.documentInvoiceSettingsService = container.documentInvoiceSettingsService;
|
27
|
+
}
|
28
|
+
calculateTemplateKind(documentSettings, documentInvoiceSettings) {
|
29
|
+
if (documentInvoiceSettings && documentInvoiceSettings.invoice_template) {
|
30
|
+
return documentInvoiceSettings.invoice_template;
|
31
|
+
}
|
32
|
+
// Legacy
|
33
|
+
if (documentSettings && documentSettings.invoice_template) {
|
34
|
+
return documentSettings.invoice_template;
|
35
|
+
}
|
36
|
+
return template_kind_1.InvoiceTemplateKind.BASIC;
|
37
|
+
}
|
38
|
+
calculateFormatNumber(documentSettings, documentInvoiceSettings) {
|
39
|
+
if (documentInvoiceSettings && documentInvoiceSettings.invoice_number_format) {
|
40
|
+
return documentInvoiceSettings.invoice_number_format;
|
41
|
+
}
|
42
|
+
// Legacy
|
43
|
+
if (documentSettings && documentSettings.invoice_number_format) {
|
44
|
+
return documentSettings.invoice_number_format;
|
45
|
+
}
|
46
|
+
return undefined;
|
47
|
+
}
|
48
|
+
async getNextInvoiceNumber(resetForcedNumber) {
|
49
|
+
const forcedNumber = await this.documentInvoiceSettingsService.getInvoiceForcedNumber();
|
50
|
+
if (forcedNumber !== undefined) {
|
51
|
+
if (resetForcedNumber) {
|
52
|
+
await this.documentInvoiceSettingsService.resetForcedNumberByCreatingNewSettings();
|
53
|
+
}
|
54
|
+
return forcedNumber;
|
55
|
+
}
|
56
|
+
const lastInvoice = await this.activeManager_
|
57
|
+
.getRepository(invoice_1.Invoice)
|
58
|
+
.createQueryBuilder('invoice')
|
59
|
+
.orderBy('created_at', 'DESC')
|
60
|
+
.getOne();
|
61
|
+
if (lastInvoice !== null) {
|
62
|
+
return (parseInt(lastInvoice.number) + 1).toString();
|
63
|
+
}
|
64
|
+
return '1';
|
65
|
+
}
|
66
|
+
copySettingsIfPossible(newSettings, lastSettings) {
|
67
|
+
if (lastSettings) {
|
68
|
+
newSettings.invoice_number_format = lastSettings.invoice_number_format;
|
69
|
+
newSettings.invoice_template = lastSettings.invoice_template;
|
70
|
+
newSettings.store_address = lastSettings.store_address;
|
71
|
+
newSettings.store_logo_source = lastSettings.store_logo_source;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
async getTestDisplayNumber(formatNumber, forcedNumber) {
|
75
|
+
const nextNumber = forcedNumber !== undefined ? forcedNumber : await this.getNextInvoiceNumber();
|
76
|
+
if (nextNumber) {
|
77
|
+
return formatNumber ? formatNumber.replace(constants_1.INVOICE_NUMBER_PLACEHOLDER, nextNumber) : nextNumber;
|
78
|
+
}
|
79
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Neither forced number is set or any order present');
|
80
|
+
}
|
81
|
+
async getInvoiceTemplate() {
|
82
|
+
const documentSettingsRepository = this.activeManager_.getRepository(document_settings_1.DocumentSettings);
|
83
|
+
const lastDocumentSettings = await documentSettingsRepository.createQueryBuilder('documentSettings')
|
84
|
+
.orderBy('created_at', 'DESC')
|
85
|
+
.getOne();
|
86
|
+
if (lastDocumentSettings) {
|
87
|
+
return lastDocumentSettings.invoice_template;
|
88
|
+
}
|
89
|
+
return undefined;
|
90
|
+
}
|
91
|
+
async getStoreLogo() {
|
92
|
+
const documentSettingsRepository = this.activeManager_.getRepository(document_settings_1.DocumentSettings);
|
93
|
+
const lastDocumentSettings = await documentSettingsRepository.createQueryBuilder('documentSettings')
|
94
|
+
.orderBy('created_at', 'DESC')
|
95
|
+
.getOne();
|
96
|
+
if (lastDocumentSettings) {
|
97
|
+
return lastDocumentSettings.store_logo_source;
|
98
|
+
}
|
99
|
+
return undefined;
|
100
|
+
}
|
101
|
+
async updateStoreLogo(newLogoSource) {
|
102
|
+
const documentSettingsRepository = this.activeManager_.getRepository(document_settings_1.DocumentSettings);
|
103
|
+
const lastDocumentSettings = await documentSettingsRepository.createQueryBuilder('documentSettings')
|
104
|
+
.leftJoinAndSelect("documentSettings.store_address", "store_address")
|
105
|
+
.orderBy('documentSettings.created_at', 'DESC')
|
106
|
+
.getOne();
|
107
|
+
const newDocumentSettings = this.activeManager_.create(document_settings_1.DocumentSettings);
|
108
|
+
this.copySettingsIfPossible(newDocumentSettings, lastDocumentSettings === null ? undefined : lastDocumentSettings);
|
109
|
+
newDocumentSettings.store_logo_source = newLogoSource;
|
110
|
+
const result = await documentSettingsRepository.save(newDocumentSettings);
|
111
|
+
return result;
|
112
|
+
}
|
113
|
+
async updateStoreDocumentAddress(newAddress) {
|
114
|
+
const newEntry = this.activeManager_.create(medusa_1.Address);
|
115
|
+
newEntry.company = newAddress.company;
|
116
|
+
newEntry.first_name = newAddress.first_name;
|
117
|
+
newEntry.last_name = newAddress.last_name;
|
118
|
+
newEntry.city = newAddress.city;
|
119
|
+
newEntry.address_1 = newAddress.address_1;
|
120
|
+
newEntry.postal_code = newAddress.postal_code;
|
121
|
+
newEntry.phone = newAddress.phone;
|
122
|
+
const resultAddress = await this.activeManager_.getRepository(medusa_1.Address).save(newEntry);
|
123
|
+
const documentSettingsRepository = this.activeManager_.getRepository(document_settings_1.DocumentSettings);
|
124
|
+
const lastDocumentSettings = await documentSettingsRepository.createQueryBuilder('documentSettings')
|
125
|
+
.leftJoinAndSelect("documentSettings.store_address", "store_address")
|
126
|
+
.orderBy('documentSettings.created_at', 'DESC')
|
127
|
+
.getOne();
|
128
|
+
const newDocumentSettings = this.activeManager_.create(document_settings_1.DocumentSettings);
|
129
|
+
this.copySettingsIfPossible(newDocumentSettings, lastDocumentSettings === null ? undefined : lastDocumentSettings);
|
130
|
+
newDocumentSettings.store_address = resultAddress;
|
131
|
+
const result = await documentSettingsRepository.save(newDocumentSettings);
|
132
|
+
return result;
|
133
|
+
}
|
134
|
+
async getLastDocumentSettings() {
|
135
|
+
const documentSettingsRepository = this.activeManager_.getRepository(document_settings_1.DocumentSettings);
|
136
|
+
const lastDocumentSettings = await documentSettingsRepository.createQueryBuilder('documentSettings')
|
137
|
+
.leftJoinAndSelect("documentSettings.store_address", "store_address")
|
138
|
+
.orderBy('documentSettings.created_at', 'DESC')
|
139
|
+
.getOne();
|
140
|
+
if (lastDocumentSettings === null) {
|
141
|
+
return undefined;
|
142
|
+
}
|
143
|
+
return lastDocumentSettings;
|
144
|
+
}
|
145
|
+
async getInvoice(invoiceId, includeBuffer = false) {
|
146
|
+
if (includeBuffer) {
|
147
|
+
const invoice = await this.activeManager_
|
148
|
+
.getRepository(invoice_1.Invoice)
|
149
|
+
.createQueryBuilder('invoice')
|
150
|
+
.leftJoinAndSelect("invoice.document_settings", "document_settings")
|
151
|
+
.leftJoinAndSelect("document_settings.store_address", "store_address")
|
152
|
+
.leftJoinAndSelect("invoice.document_invoice_settings", "document_invoice_settings")
|
153
|
+
.leftJoinAndSelect("invoice.order", "order")
|
154
|
+
.where("invoice.id = :invoiceId", { invoiceId: invoiceId })
|
155
|
+
.getOne();
|
156
|
+
if (invoice && invoice !== null && invoice.document_settings) {
|
157
|
+
const order = await this.orderService.retrieveWithTotals(invoice.order.id, {
|
158
|
+
relations: ['billing_address', 'shipping_address']
|
159
|
+
});
|
160
|
+
const calculatedTemplateKind = this.calculateTemplateKind(invoice.document_settings, invoice.document_invoice_settings);
|
161
|
+
const buffer = await (0, invoice_generator_1.generateInvoice)(calculatedTemplateKind, invoice.document_settings, invoice, order);
|
162
|
+
return {
|
163
|
+
invoice: invoice,
|
164
|
+
buffer: buffer
|
165
|
+
};
|
166
|
+
}
|
167
|
+
}
|
168
|
+
const invoice = await this.activeManager_
|
169
|
+
.getRepository(invoice_1.Invoice)
|
170
|
+
.createQueryBuilder('invoice')
|
171
|
+
.where("invoice.id = :invoiceId", { invoiceId: invoiceId })
|
172
|
+
.getOne();
|
173
|
+
if (invoice && invoice !== null) {
|
174
|
+
return {
|
175
|
+
invoice: invoice
|
176
|
+
};
|
177
|
+
}
|
178
|
+
return {
|
179
|
+
invoice: undefined,
|
180
|
+
buffer: undefined
|
181
|
+
};
|
182
|
+
}
|
183
|
+
async generateInvoiceForOrder(orderId) {
|
184
|
+
const order = await this.orderService.retrieveWithTotals(orderId, {
|
185
|
+
relations: ['billing_address', 'shipping_address']
|
186
|
+
});
|
187
|
+
if (order) {
|
188
|
+
const settings = await this.getLastDocumentSettings();
|
189
|
+
if (settings) {
|
190
|
+
const invoiceSettings = await this.documentInvoiceSettingsService.getLastDocumentInvoiceSettings();
|
191
|
+
if (invoiceSettings) {
|
192
|
+
const calculatedTemplateKind = this.calculateTemplateKind(settings, invoiceSettings);
|
193
|
+
const [validationPassed, info] = (0, invoice_generator_1.validateInputForProvidedKind)(calculatedTemplateKind, settings);
|
194
|
+
if (validationPassed) {
|
195
|
+
const RESET_FORCED_NUMBER = true;
|
196
|
+
const nextNumber = await this.getNextInvoiceNumber(RESET_FORCED_NUMBER);
|
197
|
+
const newEntry = this.activeManager_.create(invoice_1.Invoice);
|
198
|
+
newEntry.number = nextNumber;
|
199
|
+
const invoiceFormatNumber = this.calculateFormatNumber(settings, invoiceSettings);
|
200
|
+
newEntry.display_number = invoiceFormatNumber ? invoiceFormatNumber.replace(constants_1.INVOICE_NUMBER_PLACEHOLDER, newEntry.number) : newEntry.number;
|
201
|
+
newEntry.order = order;
|
202
|
+
newEntry.document_settings = settings;
|
203
|
+
newEntry.document_invoice_settings = invoiceSettings;
|
204
|
+
const resultInvoice = await this.activeManager_.getRepository(invoice_1.Invoice).save(newEntry);
|
205
|
+
const metaDataUpdate = (0, medusa_1.setMetadata)(order, {
|
206
|
+
invoice_id: resultInvoice.id
|
207
|
+
});
|
208
|
+
order.metadata = metaDataUpdate;
|
209
|
+
await this.activeManager_.getRepository(medusa_2.Order).save(order);
|
210
|
+
const buffer = await (0, invoice_generator_1.generateInvoice)(calculatedTemplateKind, settings, resultInvoice, order);
|
211
|
+
return {
|
212
|
+
invoice: newEntry,
|
213
|
+
buffer: buffer
|
214
|
+
};
|
215
|
+
}
|
216
|
+
else {
|
217
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, info);
|
218
|
+
}
|
219
|
+
}
|
220
|
+
else {
|
221
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Retrieve invoice settings failed. Please check if they are set.');
|
222
|
+
}
|
223
|
+
}
|
224
|
+
else {
|
225
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Retrieve document settings failed. Please check if they are set.');
|
226
|
+
}
|
227
|
+
}
|
228
|
+
else {
|
229
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Cant retrieve order');
|
230
|
+
}
|
231
|
+
}
|
232
|
+
async generateTestInvoice(templateKind) {
|
233
|
+
const lastOrder = await this.activeManager_.getRepository(medusa_2.Order).find({
|
234
|
+
skip: 0,
|
235
|
+
take: 1,
|
236
|
+
order: { created_at: "DESC" },
|
237
|
+
});
|
238
|
+
if (lastOrder && lastOrder.length > 0) {
|
239
|
+
const lastOrderWithTotals = await this.orderService.retrieveWithTotals(lastOrder[0].id, {
|
240
|
+
relations: ['billing_address', 'shipping_address']
|
241
|
+
});
|
242
|
+
const settings = await this.getLastDocumentSettings();
|
243
|
+
if (settings) {
|
244
|
+
const invoiceSettings = await this.documentInvoiceSettingsService.getLastDocumentInvoiceSettings();
|
245
|
+
if (invoiceSettings) {
|
246
|
+
const testInvoice = this.activeManager_.create(invoice_1.Invoice);
|
247
|
+
const nextNumber = await this.getNextInvoiceNumber();
|
248
|
+
testInvoice.number = nextNumber;
|
249
|
+
testInvoice.display_number = invoiceSettings.invoice_number_format ? invoiceSettings.invoice_number_format.replace(constants_1.INVOICE_NUMBER_PLACEHOLDER, testInvoice.number) : testInvoice.number;
|
250
|
+
testInvoice.created_at = new Date(Date.now());
|
251
|
+
const [validationPassed, info] = (0, invoice_generator_1.validateInputForProvidedKind)(templateKind, settings);
|
252
|
+
if (validationPassed) {
|
253
|
+
const buffer = await (0, invoice_generator_1.generateInvoice)(templateKind, settings, testInvoice, lastOrderWithTotals);
|
254
|
+
return {
|
255
|
+
invoice: testInvoice,
|
256
|
+
buffer: buffer
|
257
|
+
};
|
258
|
+
}
|
259
|
+
else {
|
260
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, info);
|
261
|
+
}
|
262
|
+
}
|
263
|
+
else {
|
264
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Invoice settings are not defined');
|
265
|
+
}
|
266
|
+
}
|
267
|
+
else {
|
268
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Document settings are not defined');
|
269
|
+
}
|
270
|
+
}
|
271
|
+
else {
|
272
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'You need to have at least one order to see preview');
|
273
|
+
}
|
274
|
+
}
|
275
|
+
}
|
276
|
+
exports.default = InvoiceService;
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9pbnZvaWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQUVILDZDQUErRTtBQUMvRSw2Q0FBdUQ7QUFDdkQsMkNBQTZDO0FBQzdDLCtDQUE0QztBQUM1QyxtRUFBK0Q7QUFHL0QseURBQTREO0FBQzVELHNFQUErRjtBQUMvRixpREFBK0Q7QUFHL0QsTUFBcUIsY0FBZSxTQUFRLCtCQUFzQjtJQUtoRSxZQUNFLFNBQVM7UUFFVCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzNDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxTQUFTLENBQUMsOEJBQThCLENBQUM7SUFDakYsQ0FBQztJQUVPLHFCQUFxQixDQUFDLGdCQUFrQyxFQUFFLHVCQUFnRDtRQUNoSCxJQUFJLHVCQUF1QixJQUFJLHVCQUF1QixDQUFDLGdCQUFnQixFQUFFO1lBQ3ZFLE9BQU8sdUJBQXVCLENBQUMsZ0JBQXVDLENBQUM7U0FDeEU7UUFDRCxTQUFTO1FBQ1QsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6RCxPQUFPLGdCQUFnQixDQUFDLGdCQUF1QyxDQUFDO1NBQ2pFO1FBQ0QsT0FBTyxtQ0FBbUIsQ0FBQyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLGdCQUFrQyxFQUFFLHVCQUFnRDtRQUNoSCxJQUFJLHVCQUF1QixJQUFJLHVCQUF1QixDQUFDLHFCQUFxQixFQUFFO1lBQzVFLE9BQU8sdUJBQXVCLENBQUMscUJBQXFCLENBQUM7U0FDdEQ7UUFDRCxTQUFTO1FBQ1QsSUFBSSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRTtZQUM5RCxPQUFPLGdCQUFnQixDQUFDLHFCQUFxQixDQUFD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
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { TransactionBaseService } from "@medusajs/medusa";
|
2
|
+
import { DocumentSettings } from "../models/document-settings";
|
3
|
+
import { PackingSlipResult } from "./types/api";
|
4
|
+
import { PackingSlipTemplateKind } from "./types/template-kind";
|
5
|
+
export default class PackingSlipService extends TransactionBaseService {
|
6
|
+
private readonly orderService;
|
7
|
+
private readonly documentPackingSlipSettingsService;
|
8
|
+
constructor(container: any);
|
9
|
+
private calculateFormatNumber;
|
10
|
+
private calculateTemplateKind;
|
11
|
+
private getNextNumber;
|
12
|
+
getLastDocumentSettings(): Promise<DocumentSettings | undefined>;
|
13
|
+
getPackingSlip(packingSlipId: string, includeBuffer?: boolean): Promise<PackingSlipResult>;
|
14
|
+
create(orderId: string): Promise<PackingSlipResult>;
|
15
|
+
generatePreview(templateKind: PackingSlipTemplateKind): Promise<PackingSlipResult>;
|
16
|
+
}
|
@@ -0,0 +1,187 @@
|
|
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
|
+
const medusa_1 = require("@medusajs/medusa");
|
15
|
+
const medusa_2 = require("@medusajs/medusa");
|
16
|
+
const utils_1 = require("@medusajs/utils");
|
17
|
+
const packing_slip_1 = require("../models/packing-slip");
|
18
|
+
const document_settings_1 = require("../models/document-settings");
|
19
|
+
const template_kind_1 = require("./types/template-kind");
|
20
|
+
const packing_slip_generator_1 = require("./generators/packing-slip-generator");
|
21
|
+
const constants_1 = require("./types/constants");
|
22
|
+
class PackingSlipService extends medusa_1.TransactionBaseService {
|
23
|
+
constructor(container) {
|
24
|
+
super(container);
|
25
|
+
this.orderService = container.orderService;
|
26
|
+
this.documentPackingSlipSettingsService = container.documentPackingSlipSettingsService;
|
27
|
+
}
|
28
|
+
calculateFormatNumber(documentPackingSlipSettings) {
|
29
|
+
if (documentPackingSlipSettings && documentPackingSlipSettings.number_format) {
|
30
|
+
return documentPackingSlipSettings.number_format;
|
31
|
+
}
|
32
|
+
return undefined;
|
33
|
+
}
|
34
|
+
calculateTemplateKind(documentPackingSlipSettings) {
|
35
|
+
if (documentPackingSlipSettings && documentPackingSlipSettings.template) {
|
36
|
+
return documentPackingSlipSettings.template;
|
37
|
+
}
|
38
|
+
return template_kind_1.PackingSlipTemplateKind.BASIC;
|
39
|
+
}
|
40
|
+
async getNextNumber() {
|
41
|
+
const lastPackingSlip = await this.activeManager_
|
42
|
+
.getRepository(packing_slip_1.PackingSlip)
|
43
|
+
.createQueryBuilder('packs')
|
44
|
+
.orderBy('created_at', 'DESC')
|
45
|
+
.getOne();
|
46
|
+
if (lastPackingSlip !== null && lastPackingSlip !== undefined) {
|
47
|
+
return (parseInt(lastPackingSlip.number) + 1).toString();
|
48
|
+
}
|
49
|
+
return '1';
|
50
|
+
}
|
51
|
+
async getLastDocumentSettings() {
|
52
|
+
const documentSettingsRepository = this.activeManager_.getRepository(document_settings_1.DocumentSettings);
|
53
|
+
const lastDocumentSettings = await documentSettingsRepository.createQueryBuilder('documentSettings')
|
54
|
+
.leftJoinAndSelect("documentSettings.store_address", "store_address")
|
55
|
+
.orderBy('documentSettings.created_at', 'DESC')
|
56
|
+
.getOne();
|
57
|
+
if (lastDocumentSettings === null) {
|
58
|
+
return undefined;
|
59
|
+
}
|
60
|
+
return lastDocumentSettings;
|
61
|
+
}
|
62
|
+
async getPackingSlip(packingSlipId, includeBuffer = false) {
|
63
|
+
if (includeBuffer) {
|
64
|
+
const packingSlip = await this.activeManager_
|
65
|
+
.getRepository(packing_slip_1.PackingSlip)
|
66
|
+
.createQueryBuilder('packslip')
|
67
|
+
.leftJoinAndSelect("packslip.document_settings", "document_settings")
|
68
|
+
.leftJoinAndSelect("document_settings.store_address", "store_address")
|
69
|
+
.leftJoinAndSelect("packslip.document_packing_slip_settings", "document_packing_slip_settings")
|
70
|
+
.leftJoinAndSelect("packslip.order", "order")
|
71
|
+
.where("packslip.id = :packingSlipId", { packingSlipId: packingSlipId })
|
72
|
+
.getOne();
|
73
|
+
if (packingSlip && packingSlip !== null && packingSlip.document_settings) {
|
74
|
+
const order = await this.orderService.retrieveWithTotals(packingSlip.order.id, {
|
75
|
+
relations: ['billing_address', 'shipping_address', 'shipping_methods', 'shipping_methods.shipping_option']
|
76
|
+
});
|
77
|
+
const calculatedTemplateKind = this.calculateTemplateKind(packingSlip.document_packing_slip_settings);
|
78
|
+
const buffer = await (0, packing_slip_generator_1.generate)(calculatedTemplateKind, packingSlip.document_settings, packingSlip, order);
|
79
|
+
return {
|
80
|
+
packingSlip: packingSlip,
|
81
|
+
buffer: buffer
|
82
|
+
};
|
83
|
+
}
|
84
|
+
}
|
85
|
+
const packingSlip = await this.activeManager_
|
86
|
+
.getRepository(packing_slip_1.PackingSlip)
|
87
|
+
.createQueryBuilder('packslip')
|
88
|
+
.where("packslip.id = :packingSlipId", { packingSlipId: packingSlipId })
|
89
|
+
.getOne();
|
90
|
+
if (packingSlip && packingSlip !== null) {
|
91
|
+
return {
|
92
|
+
packingSlip: packingSlip
|
93
|
+
};
|
94
|
+
}
|
95
|
+
return {
|
96
|
+
packingSlip: undefined,
|
97
|
+
buffer: undefined
|
98
|
+
};
|
99
|
+
}
|
100
|
+
async create(orderId) {
|
101
|
+
const order = await this.orderService.retrieveWithTotals(orderId, {
|
102
|
+
relations: ['billing_address', 'shipping_address', 'shipping_methods', 'shipping_methods.shipping_option']
|
103
|
+
});
|
104
|
+
if (order) {
|
105
|
+
const settings = await this.getLastDocumentSettings();
|
106
|
+
if (settings) {
|
107
|
+
const packingSlipSettings = await this.documentPackingSlipSettingsService.getLastDocumentPackingSlipSettings();
|
108
|
+
if (packingSlipSettings) {
|
109
|
+
const calculatedTemplateKind = this.calculateTemplateKind(packingSlipSettings);
|
110
|
+
const [validationPassed, info] = (0, packing_slip_generator_1.validateInputForProvidedKind)(calculatedTemplateKind, settings);
|
111
|
+
if (validationPassed) {
|
112
|
+
const nextNumber = await this.getNextNumber();
|
113
|
+
const newEntry = this.activeManager_.create(packing_slip_1.PackingSlip);
|
114
|
+
newEntry.number = nextNumber;
|
115
|
+
const packingSlipFormatNumber = this.calculateFormatNumber(packingSlipSettings);
|
116
|
+
newEntry.display_number = packingSlipFormatNumber ? packingSlipFormatNumber.replace(constants_1.PACKING_SLIP_NUMBER_PLACEHOLDER, newEntry.number) : newEntry.number;
|
117
|
+
newEntry.order = order;
|
118
|
+
newEntry.document_settings = settings;
|
119
|
+
newEntry.document_packing_slip_settings = packingSlipSettings;
|
120
|
+
const resultInvoice = await this.activeManager_.getRepository(packing_slip_1.PackingSlip).save(newEntry);
|
121
|
+
const metaDataUpdate = (0, medusa_1.setMetadata)(order, {
|
122
|
+
packing_slip_id: resultInvoice.id
|
123
|
+
});
|
124
|
+
order.metadata = metaDataUpdate;
|
125
|
+
await this.activeManager_.getRepository(medusa_2.Order).save(order);
|
126
|
+
const buffer = await (0, packing_slip_generator_1.generate)(calculatedTemplateKind, settings, resultInvoice, order);
|
127
|
+
return {
|
128
|
+
packingSlip: newEntry,
|
129
|
+
buffer: buffer
|
130
|
+
};
|
131
|
+
}
|
132
|
+
else {
|
133
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, info);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
else {
|
137
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Retrieve packing slip settings failed. Please check if they are set - e.g. if you set template or other settings.');
|
138
|
+
}
|
139
|
+
}
|
140
|
+
else {
|
141
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Retrieve document settings failed. Please check if they are set.');
|
142
|
+
}
|
143
|
+
}
|
144
|
+
else {
|
145
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Cant retrieve order');
|
146
|
+
}
|
147
|
+
}
|
148
|
+
async generatePreview(templateKind) {
|
149
|
+
const lastOrder = await this.activeManager_.getRepository(medusa_2.Order).find({
|
150
|
+
skip: 0,
|
151
|
+
take: 1,
|
152
|
+
order: { created_at: "DESC" },
|
153
|
+
});
|
154
|
+
if (lastOrder && lastOrder.length > 0) {
|
155
|
+
const lastOrderWithTotals = await this.orderService.retrieveWithTotals(lastOrder[0].id, {
|
156
|
+
relations: ['billing_address', 'shipping_address', 'shipping_methods', 'shipping_methods.shipping_option']
|
157
|
+
});
|
158
|
+
const settings = await this.getLastDocumentSettings();
|
159
|
+
if (settings) {
|
160
|
+
const previewPackingSlip = this.activeManager_.create(packing_slip_1.PackingSlip);
|
161
|
+
const nextNumber = await this.getNextNumber();
|
162
|
+
previewPackingSlip.number = nextNumber;
|
163
|
+
previewPackingSlip.display_number = nextNumber;
|
164
|
+
previewPackingSlip.created_at = new Date(Date.now());
|
165
|
+
const [validationPassed, info] = (0, packing_slip_generator_1.validateInputForProvidedKind)(templateKind, settings);
|
166
|
+
if (validationPassed) {
|
167
|
+
const buffer = await (0, packing_slip_generator_1.generate)(templateKind, settings, previewPackingSlip, lastOrderWithTotals);
|
168
|
+
return {
|
169
|
+
packingSlip: previewPackingSlip,
|
170
|
+
buffer: buffer
|
171
|
+
};
|
172
|
+
}
|
173
|
+
else {
|
174
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, info);
|
175
|
+
}
|
176
|
+
}
|
177
|
+
else {
|
178
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'Document settings are not defined');
|
179
|
+
}
|
180
|
+
}
|
181
|
+
else {
|
182
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'You need to have at least one order to see preview');
|
183
|
+
}
|
184
|
+
}
|
185
|
+
}
|
186
|
+
exports.default = PackingSlipService;
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2luZy1zbGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3BhY2tpbmctc2xpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFFSCw2Q0FBK0U7QUFDL0UsNkNBQXVEO0FBQ3ZELDJDQUE2QztBQUM3Qyx5REFBcUQ7QUFDckQsbUVBQStEO0FBRy9ELHlEQUFnRTtBQUNoRSxnRkFBNkY7QUFFN0YsaURBQW9FO0FBRXBFLE1BQXFCLGtCQUFtQixTQUFRLCtCQUFzQjtJQUtwRSxZQUNFLFNBQVM7UUFFVCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQzNDLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUMsa0NBQWtDLENBQUM7SUFDekYsQ0FBQztJQUVPLHFCQUFxQixDQUFDLDJCQUF3RDtRQUNwRixJQUFJLDJCQUEyQixJQUFJLDJCQUEyQixDQUFDLGFBQWEsRUFBRTtZQUM1RSxPQUFPLDJCQUEyQixDQUFDLGFBQWEsQ0FBQztTQUNsRDtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxxQkFBcUIsQ0FBQywyQkFBd0Q7UUFDcEYsSUFBSSwyQkFBMkIsSUFBSSwyQkFBMkIsQ0FBQyxRQUFRLEVBQUU7WUFDdkUsT0FBTywyQkFBMkIsQ0FBQyxRQUFtQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyx1Q0FBdUIsQ0FBQyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhO1FBQ3pCLE1BQU0sZUFBZSxHQUF1QixNQUFNLElBQUksQ0FBQyxjQUFjO2FBQ2xFLGFBQWEsQ0FBQywwQkFBVyxDQUFDO2FBQzFCLGtCQUFrQixDQUFDLE9BQU8sQ0FBQzthQUMzQixPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQzthQUM3QixNQUFNLEVBQUUsQ0FBQTtR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
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
/// <reference types="node" />
|
3
|
+
import { Order } from "@medusajs/medusa";
|
4
|
+
import { Invoice } from "../../../../models/invoice";
|
5
|
+
import { DocumentSettings } from "../../../../models/document-settings";
|
6
|
+
export declare function validateInput(settings?: DocumentSettings): ([boolean, string]);
|
7
|
+
declare const _default: (settings: DocumentSettings, invoice: Invoice, order: Order) => Promise<Buffer>;
|
8
|
+
export default _default;
|