UNPKG

medusa-invoice

Version:
101 lines 11.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const medusa_1 = require("@medusajs/medusa"); const document_invoice_settings_1 = require("../models/document-invoice-settings"); const utils_1 = require("@medusajs/utils"); class DocumentInvoiceSettingsService extends medusa_1.TransactionBaseService { copySettingsIfPossible(newSettings, lastSettings) { if (lastSettings) { newSettings.invoice_forced_number = lastSettings.invoice_forced_number; newSettings.invoice_number_format = lastSettings.invoice_number_format; newSettings.invoice_template = lastSettings.invoice_template; } } async getInvoiceForcedNumber() { const lastDocumentInvoiceSettings = await this.getLastDocumentInvoiceSettings(); if (lastDocumentInvoiceSettings && lastDocumentInvoiceSettings.invoice_forced_number) { const nextNumber = lastDocumentInvoiceSettings.invoice_forced_number.toString(); return nextNumber; } return undefined; } async resetForcedNumberByCreatingNewSettings() { const documentInvoiceSettingsRepository = this.activeManager_.getRepository(document_invoice_settings_1.DocumentInvoiceSettings); const newDocumentInvoiceSettings = this.activeManager_.create(document_invoice_settings_1.DocumentInvoiceSettings); const lastDocumentInvoiceSettings = await this.getLastDocumentInvoiceSettings(); this.copySettingsIfPossible(newDocumentInvoiceSettings, lastDocumentInvoiceSettings); newDocumentInvoiceSettings.invoice_forced_number = undefined; const result = await documentInvoiceSettingsRepository.save(newDocumentInvoiceSettings); return result; } async getLastDocumentInvoiceSettings() { const documentInvoiceSettingsRepository = this.activeManager_.getRepository(document_invoice_settings_1.DocumentInvoiceSettings); const lastDocumentInvoiceSettings = await documentInvoiceSettingsRepository .createQueryBuilder("documentInvoiceSettings") .orderBy("documentInvoiceSettings.created_at", "DESC") .getOne(); if (lastDocumentInvoiceSettings === null) { return undefined; } return lastDocumentInvoiceSettings; } async getInvoiceTemplate() { const lastDocumentInvoiceSettings = await this.getLastDocumentInvoiceSettings(); if (lastDocumentInvoiceSettings) { return lastDocumentInvoiceSettings.invoice_template; } return undefined; } async updateInvoiceForcedNumber(forcedNumber) { if (forcedNumber && !isNaN(Number(forcedNumber))) { const documentInvoiceSettingsRepository = this.activeManager_.getRepository(document_invoice_settings_1.DocumentInvoiceSettings); const lastDocumentInvoiceSettings = await this.getLastDocumentInvoiceSettings(); const newDocumentInvoiceSettings = this.activeManager_.create(document_invoice_settings_1.DocumentInvoiceSettings); this.copySettingsIfPossible(newDocumentInvoiceSettings, lastDocumentInvoiceSettings); newDocumentInvoiceSettings.invoice_forced_number = parseInt(forcedNumber); const result = await documentInvoiceSettingsRepository.save(newDocumentInvoiceSettings); return result; } else { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "You need to set proper number"); } } async updateInvoiceTemplate(invoiceTemplate) { const documentInvoiceSettingsRepository = this.activeManager_.getRepository(document_invoice_settings_1.DocumentInvoiceSettings); const lastDocumentInvoiceSettings = await this.getLastDocumentInvoiceSettings(); const newDocumentInvoiceSettings = this.activeManager_.create(document_invoice_settings_1.DocumentInvoiceSettings); this.copySettingsIfPossible(newDocumentInvoiceSettings, lastDocumentInvoiceSettings); newDocumentInvoiceSettings.invoice_template = invoiceTemplate; const result = await documentInvoiceSettingsRepository.save(newDocumentInvoiceSettings); return result; } async updateFormatNumber(newFormatNumber) { const documentInvoiceSettingsRepository = this.activeManager_.getRepository(document_invoice_settings_1.DocumentInvoiceSettings); const lastDocumentInvoiceSettings = await this.getLastDocumentInvoiceSettings(); const newDocumentInvoiceSettings = this.activeManager_.create(document_invoice_settings_1.DocumentInvoiceSettings); this.copySettingsIfPossible(newDocumentInvoiceSettings, lastDocumentInvoiceSettings); newDocumentInvoiceSettings.invoice_number_format = newFormatNumber; const result = await documentInvoiceSettingsRepository.save(newDocumentInvoiceSettings); return result; } async updateSettings(newFormatNumber, forcedNumber, invoiceTemplate) { const documentInvoiceSettingsRepository = this.activeManager_.getRepository(document_invoice_settings_1.DocumentInvoiceSettings); const newDocumentInvoiceSettings = this.activeManager_.create(document_invoice_settings_1.DocumentInvoiceSettings); const lastDocumentInvoiceSettings = await this.getLastDocumentInvoiceSettings(); this.copySettingsIfPossible(newDocumentInvoiceSettings, lastDocumentInvoiceSettings); if (newFormatNumber) { newDocumentInvoiceSettings.invoice_number_format = newFormatNumber; } if (forcedNumber !== undefined && !isNaN(Number(forcedNumber))) { newDocumentInvoiceSettings.invoice_forced_number = parseInt(forcedNumber); } if (invoiceTemplate) { newDocumentInvoiceSettings.invoice_template = invoiceTemplate; } const result = await documentInvoiceSettingsRepository.save(newDocumentInvoiceSettings); return result; } } exports.default = DocumentInvoiceSettingsService; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtaW52b2ljZS1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9kb2N1bWVudC1pbnZvaWNlLXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNkNBQTBEO0FBQzFELG1GQUE4RTtBQUM5RSwyQ0FBOEM7QUFHOUMsTUFBcUIsOEJBQStCLFNBQVEsK0JBQXNCO0lBQ3hFLHNCQUFzQixDQUM1QixXQUFvQyxFQUNwQyxZQUFzQztRQUV0QyxJQUFJLFlBQVksRUFBRTtZQUNoQixXQUFXLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDO1lBQ3ZFLFdBQVcsQ0FBQyxxQkFBcUIsR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUM7WUFDdkUsV0FBVyxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCO1FBQzFCLE1BQU0sMkJBQTJCLEdBQy9CLE1BQU0sSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDOUMsSUFDRSwyQkFBMkI7WUFDM0IsMkJBQTJCLENBQUMscUJBQXFCLEVBQ2pEO1lBQ0EsTUFBTSxVQUFVLEdBQ2QsMkJBQTJCLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0QsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLHNDQUFzQztRQUMxQyxNQUFNLGlDQUFpQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUN6RSxtREFBdUIsQ0FDeEIsQ0FBQztRQUNGLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQzNELG1EQUF1QixDQUN4QixDQUFDO1FBQ0YsTUFBTSwyQkFBMkIsR0FDL0IsTUFBTSxJQUFJLENBQUMsOEJBQThC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