medusa-invoice
Version:
Generate invoice from Medusa
101 lines • 11.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const medusa_1 = require("@medusajs/medusa");
const document_packing_slip_settings_1 = require("../models/document-packing-slip-settings");
const utils_1 = require("@medusajs/utils");
class DocumentPackingSlipSettingsService extends medusa_1.TransactionBaseService {
copySettingsIfPossible(newSettings, lastSettings) {
if (lastSettings) {
newSettings.forced_number = lastSettings.forced_number;
newSettings.number_format = lastSettings.number_format;
newSettings.template = lastSettings.template;
}
}
async getPackingSlipForcedNumber() {
const lastDocumentPackingSlipSettings = await this.getLastDocumentPackingSlipSettings();
if (lastDocumentPackingSlipSettings &&
lastDocumentPackingSlipSettings.forced_number) {
const nextNumber = lastDocumentPackingSlipSettings.forced_number.toString();
return nextNumber;
}
return undefined;
}
async resetForcedNumberByCreatingNewSettings() {
const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const lastDocumentPackingSlipSettings = await this.getLastDocumentPackingSlipSettings();
this.copySettingsIfPossible(newDocumentPackingSlipSettings, lastDocumentPackingSlipSettings);
newDocumentPackingSlipSettings.forced_number = undefined;
const result = await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings);
return result;
}
async getLastDocumentPackingSlipSettings() {
const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const lastDocumentPackingSlipSettings = await documentPackingSlipSettingsRepository
.createQueryBuilder("documentPackingSlipSettings")
.orderBy("documentPackingSlipSettings.created_at", "DESC")
.getOne();
if (lastDocumentPackingSlipSettings === null) {
return undefined;
}
return lastDocumentPackingSlipSettings;
}
async getPackingSlipTemplate() {
const lastDocumentPackingSlipSettings = await this.getLastDocumentPackingSlipSettings();
if (lastDocumentPackingSlipSettings) {
return lastDocumentPackingSlipSettings.template;
}
return undefined;
}
async updatePackingSlipForcedNumber(forcedNumber) {
if (forcedNumber && !isNaN(Number(forcedNumber))) {
const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const lastDocumentPackingSlipSettings = await this.getLastDocumentPackingSlipSettings();
const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings);
this.copySettingsIfPossible(newDocumentPackingSlipSettings, lastDocumentPackingSlipSettings);
newDocumentPackingSlipSettings.forced_number = parseInt(forcedNumber);
const result = await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings);
return result;
}
else {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "You need to set proper number");
}
}
async updatePackingSlipTemplate(packingSlipTemplate) {
const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const lastDocumentPackingSlipSettings = await this.getLastDocumentPackingSlipSettings();
const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings);
this.copySettingsIfPossible(newDocumentPackingSlipSettings, lastDocumentPackingSlipSettings);
newDocumentPackingSlipSettings.template = packingSlipTemplate;
const result = await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings);
return result;
}
async updateFormatNumber(newFormatNumber) {
const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const lastDocumentPackingSlipSettings = await this.getLastDocumentPackingSlipSettings();
const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings);
this.copySettingsIfPossible(newDocumentPackingSlipSettings, lastDocumentPackingSlipSettings);
newDocumentPackingSlipSettings.number_format = newFormatNumber;
const result = await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings);
return result;
}
async updateSettings(newFormatNumber, forcedNumber, packingSlipTemplate) {
const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings);
const lastDocumentPackingSlipSettings = await this.getLastDocumentPackingSlipSettings();
this.copySettingsIfPossible(newDocumentPackingSlipSettings, lastDocumentPackingSlipSettings);
if (newFormatNumber) {
newDocumentPackingSlipSettings.number_format = newFormatNumber;
}
if (forcedNumber !== undefined && !isNaN(Number(forcedNumber))) {
newDocumentPackingSlipSettings.forced_number = parseInt(forcedNumber);
}
if (packingSlipTemplate) {
newDocumentPackingSlipSettings.template = packingSlipTemplate;
}
const result = await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings);
return result;
}
}
exports.default = DocumentPackingSlipSettingsService;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtcGFja2luZy1zbGlwLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2RvY3VtZW50LXBhY2tpbmctc2xpcC1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUEwRDtBQUMxRCw2RkFBdUY7QUFDdkYsMkNBQThDO0FBRzlDLE1BQXFCLGtDQUFtQyxTQUFRLCtCQUFzQjtJQUM1RSxzQkFBc0IsQ0FDNUIsV0FBd0MsRUFDeEMsWUFBMEM7UUFFMUMsSUFBSSxZQUFZLEVBQUU7WUFDaEIsV0FBVyxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQ3ZELFdBQVcsQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztZQUN2RCxXQUFXLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLDBCQUEwQjtRQUM5QixNQUFNLCtCQUErQixHQUNuQyxNQUFNLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQ2xELElBQ0UsK0JBQStCO1lBQy9CLCtCQUErQixDQUFDLGFBQWEsRUFDN0M7WUFDQSxNQUFNLFVBQVUsR0FDZCwrQkFBK0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0QsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLHNDQUFzQztRQUMxQyxNQUFNLHFDQUFxQyxHQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyw0REFBMkIsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQy9ELDREQUEyQixDQUM1QixDQUFDO1FBQ0YsTUFBTSwrQkFBK0IsR0FDbkMsTUFBTSxJQUFJLENBQUMsa0NBQWtDLEVBQUUs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