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_shipping_tag_settings_1 = require("../models/document-shipping-tag-settings"); const utils_1 = require("@medusajs/utils"); class DocumentShippingTagSettingsService 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 getShippingTagForcedNumber() { const documentShippingTagSettings = await this.getDocumentShippingTagSettings(); if (documentShippingTagSettings && documentShippingTagSettings.forced_number) { const nextNumber = documentShippingTagSettings.forced_number.toString(); return nextNumber; } return undefined; } async resetForcedNumberByCreatingNewSettings() { const documentShippingTagSettingsRepository = this.activeManager_.getRepository(document_shipping_tag_settings_1.DocumentShippingTagSettings); const documentShippingTagSettings = await this.getDocumentShippingTagSettings(); if (!documentShippingTagSettings) { const newDocumentShippingTagSettings = this.activeManager_.create(document_shipping_tag_settings_1.DocumentShippingTagSettings); newDocumentShippingTagSettings.forced_number = undefined; newDocumentShippingTagSettings.store_id = this.loggedInUser_.store_id; return await documentShippingTagSettingsRepository.save(newDocumentShippingTagSettings); } documentShippingTagSettings.forced_number = undefined; documentShippingTagSettings.store_id = this.loggedInUser_.store_id; const result = await documentShippingTagSettingsRepository.save(documentShippingTagSettings); return result; } async getLastDocumentShippingTagSettings() { const documentShippingTagSettingsRepository = this.activeManager_.getRepository(document_shipping_tag_settings_1.DocumentShippingTagSettings); const documentShippingTagSettings = await documentShippingTagSettingsRepository.createQueryBuilder('documentShippingTagSettings') .orderBy('documentShippingTagSettings.created_at', 'DESC') .getOne(); if (documentShippingTagSettings === null) { return undefined; } return documentShippingTagSettings; } async getDocumentShippingTagSettings() { const documentShippingTagSettingsRepository = this.activeManager_.getRepository(document_shipping_tag_settings_1.DocumentShippingTagSettings); const lastDocumentShippingTagSettings = await documentShippingTagSettingsRepository.createQueryBuilder('documentShippingTagSettings') .where("documentShippingTagSettings.store_id = :storeId", { storeId: this.loggedInUser_.store_id }) .orderBy('documentShippingTagSettings.created_at', 'DESC') .getOne(); if (lastDocumentShippingTagSettings === null) { return undefined; } return lastDocumentShippingTagSettings; } async getShippingTagTemplate() { const lastDocumentShippingTagSettings = await this.getDocumentShippingTagSettings(); if (lastDocumentShippingTagSettings) { return lastDocumentShippingTagSettings.template; } return undefined; } async updateShippingTagForcedNumber(forcedNumber) { if (forcedNumber && !isNaN(Number(forcedNumber))) { const documentShippingTagSettingsRepository = this.activeManager_.getRepository(document_shipping_tag_settings_1.DocumentShippingTagSettings); const documentShippingTagSettings = await this.getDocumentShippingTagSettings(); if (!documentShippingTagSettings) { const newDocumentShippingTagSettings = this.activeManager_.create(document_shipping_tag_settings_1.DocumentShippingTagSettings); newDocumentShippingTagSettings.forced_number = parseInt(forcedNumber); newDocumentShippingTagSettings.store_id = this.loggedInUser_.store_id; return await documentShippingTagSettingsRepository.save(newDocumentShippingTagSettings); } documentShippingTagSettings.forced_number = parseInt(forcedNumber); documentShippingTagSettings.store_id = this.loggedInUser_.store_id; const result = await documentShippingTagSettingsRepository.save(documentShippingTagSettings); return result; } else { throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, 'You need to set proper number'); } } async updateShippingTagTemplate(shippingTagTemplate) { const documentShippingTagSettingsRepository = this.activeManager_.getRepository(document_shipping_tag_settings_1.DocumentShippingTagSettings); const documentShippingTagSettings = await this.getDocumentShippingTagSettings(); if (!documentShippingTagSettings) { const newDocumentShippingTagSettings = this.activeManager_.create(document_shipping_tag_settings_1.DocumentShippingTagSettings); newDocumentShippingTagSettings.template = shippingTagTemplate; newDocumentShippingTagSettings.store_id = this.loggedInUser_.store_id; return await documentShippingTagSettingsRepository.save(newDocumentShippingTagSettings); } documentShippingTagSettings.template = shippingTagTemplate; documentShippingTagSettings.store_id = this.loggedInUser_.store_id; const result = await documentShippingTagSettingsRepository.save(documentShippingTagSettings); return result; } async updateFormatNumber(newFormatNumber) { const documentShippingTagSettingsRepository = this.activeManager_.getRepository(document_shipping_tag_settings_1.DocumentShippingTagSettings); const documentShippingTagSettings = await this.getDocumentShippingTagSettings(); if (!documentShippingTagSettings) { const newDocumentShippingTagSettings = this.activeManager_.create(document_shipping_tag_settings_1.DocumentShippingTagSettings); newDocumentShippingTagSettings.number_format = newFormatNumber; newDocumentShippingTagSettings.store_id = this.loggedInUser_.store_id; return await documentShippingTagSettingsRepository.save(newDocumentShippingTagSettings); } documentShippingTagSettings.number_format = newFormatNumber; documentShippingTagSettings.store_id = this.loggedInUser_.store_id; const result = await documentShippingTagSettingsRepository.save(documentShippingTagSettings); return result; } async updateSettings(newFormatNumber, forcedNumber, shippingTagTemplate) { const documentShippingTagSettingsRepository = this.activeManager_.getRepository(document_shipping_tag_settings_1.DocumentShippingTagSettings); const documentShippingTagSettings = await this.getDocumentShippingTagSettings(); if (!documentShippingTagSettings) { const newDocumentShippingTagSettings = this.activeManager_.create(document_shipping_tag_settings_1.DocumentShippingTagSettings); newDocumentShippingTagSettings.number_format = newFormatNumber; newDocumentShippingTagSettings.template = shippingTagTemplate; newDocumentShippingTagSettings.store_id = this.loggedInUser_.store_id; if (forcedNumber !== undefined && !isNaN(Number(forcedNumber))) { newDocumentShippingTagSettings.forced_number = parseInt(forcedNumber); } return await documentShippingTagSettingsRepository.save(newDocumentShippingTagSettings); } if (newFormatNumber) { documentShippingTagSettings.number_format = newFormatNumber; } if (forcedNumber !== undefined && !isNaN(Number(forcedNumber))) { documentShippingTagSettings.forced_number = parseInt(forcedNumber); } if (shippingTagTemplate) { documentShippingTagSettings.template = shippingTagTemplate; } if (this.loggedInUser_.store_id) { documentShippingTagSettings.store_id = this.loggedInUser_.store_id; } const result = await documentShippingTagSettingsRepository.save(documentShippingTagSettings); return result; } } exports.default = DocumentShippingTagSettingsService;