UNPKG

@lynsoluciones/medusa-docs

Version:
161 lines (160 loc) 9.24 kB
"use strict"; /* * * * MIT License * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 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 { constructor(container) { super(container); try { this.loggedInUser_ = container.authenticatedUser; } catch (e) { // avoid errors when backend first runs } } copySettingsIfPossible(newSettings, lastSettings) { if (lastSettings) { newSettings.forced_number = lastSettings.forced_number; newSettings.number_format = lastSettings.number_format; newSettings.template = lastSettings.template; } } async getPackingSlipForcedNumber() { const documentPackingSlipSettings = await this.getDocumentPackingSlipSettings(); if (documentPackingSlipSettings && documentPackingSlipSettings.forced_number) { const nextNumber = documentPackingSlipSettings.forced_number.toString(); return nextNumber; } return undefined; } async resetForcedNumberByCreatingNewSettings() { const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings); const documentPackingSlipSettings = await this.getDocumentPackingSlipSettings(); if (!documentPackingSlipSettings) { const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings); newDocumentPackingSlipSettings.forced_number = undefined; newDocumentPackingSlipSettings.store_id = this.loggedInUser_.store_id; return await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings); } documentPackingSlipSettings.forced_number = undefined; documentPackingSlipSettings.store_id = this.loggedInUser_.store_id; const result = await documentPackingSlipSettingsRepository.save(documentPackingSlipSettings); return result; } async getLastDocumentPackingSlipSettings() { const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings); const documentPackingSlipSettings = await documentPackingSlipSettingsRepository.createQueryBuilder('documentPackingSlipSettings') .orderBy('documentPackingSlipSettings.created_at', 'DESC') .getOne(); if (documentPackingSlipSettings === null) { return undefined; } return documentPackingSlipSettings; } async getDocumentPackingSlipSettings() { const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings); const lastDocumentPackingSlipSettings = await documentPackingSlipSettingsRepository.createQueryBuilder('documentPackingSlipSettings') .where("documentPackingSlipSettings.store_id = :storeId", { storeId: this.loggedInUser_.store_id }) .orderBy('documentPackingSlipSettings.created_at', 'DESC') .getOne(); if (lastDocumentPackingSlipSettings === null) { return undefined; } return lastDocumentPackingSlipSettings; } async getPackingSlipTemplate() { const lastDocumentPackingSlipSettings = await this.getDocumentPackingSlipSettings(); 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 documentPackingSlipSettings = await this.getDocumentPackingSlipSettings(); if (!documentPackingSlipSettings) { const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings); newDocumentPackingSlipSettings.forced_number = parseInt(forcedNumber); newDocumentPackingSlipSettings.store_id = this.loggedInUser_.store_id; return await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings); } documentPackingSlipSettings.forced_number = parseInt(forcedNumber); documentPackingSlipSettings.store_id = this.loggedInUser_.store_id; const result = await documentPackingSlipSettingsRepository.save(documentPackingSlipSettings); 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 documentPackingSlipSettings = await this.getDocumentPackingSlipSettings(); if (!documentPackingSlipSettings) { const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings); newDocumentPackingSlipSettings.template = packingSlipTemplate; newDocumentPackingSlipSettings.store_id = this.loggedInUser_.store_id; return await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings); } documentPackingSlipSettings.template = packingSlipTemplate; documentPackingSlipSettings.store_id = this.loggedInUser_.store_id; const result = await documentPackingSlipSettingsRepository.save(documentPackingSlipSettings); return result; } async updateFormatNumber(newFormatNumber) { const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings); const documentPackingSlipSettings = await this.getDocumentPackingSlipSettings(); if (!documentPackingSlipSettings) { const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings); newDocumentPackingSlipSettings.number_format = newFormatNumber; newDocumentPackingSlipSettings.store_id = this.loggedInUser_.store_id; return await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings); } documentPackingSlipSettings.number_format = newFormatNumber; documentPackingSlipSettings.store_id = this.loggedInUser_.store_id; const result = await documentPackingSlipSettingsRepository.save(documentPackingSlipSettings); return result; } async updateSettings(newFormatNumber, forcedNumber, packingSlipTemplate) { const documentPackingSlipSettingsRepository = this.activeManager_.getRepository(document_packing_slip_settings_1.DocumentPackingSlipSettings); const documentPackingSlipSettings = await this.getDocumentPackingSlipSettings(); if (!documentPackingSlipSettings) { const newDocumentPackingSlipSettings = this.activeManager_.create(document_packing_slip_settings_1.DocumentPackingSlipSettings); newDocumentPackingSlipSettings.number_format = newFormatNumber; newDocumentPackingSlipSettings.template = packingSlipTemplate; newDocumentPackingSlipSettings.store_id = this.loggedInUser_.store_id; if (forcedNumber !== undefined && !isNaN(Number(forcedNumber))) { newDocumentPackingSlipSettings.forced_number = parseInt(forcedNumber); } return await documentPackingSlipSettingsRepository.save(newDocumentPackingSlipSettings); } if (newFormatNumber) { documentPackingSlipSettings.number_format = newFormatNumber; } if (forcedNumber !== undefined && !isNaN(Number(forcedNumber))) { documentPackingSlipSettings.forced_number = parseInt(forcedNumber); } if (packingSlipTemplate) { documentPackingSlipSettings.template = packingSlipTemplate; } if (this.loggedInUser_.store_id) { documentPackingSlipSettings.store_id = this.loggedInUser_.store_id; } const result = await documentPackingSlipSettingsRepository.save(documentPackingSlipSettings); return result; } } exports.default = DocumentPackingSlipSettingsService;