From 453df2ac4e6cd8ab5a68f0f092fd690c74e4328e Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Wed, 20 Sep 2023 00:42:34 +0200 Subject: [PATCH] fix(server): Validation of activate/inacitvate tax rates --- packages/server/src/interfaces/SalesTaxLiabilitySummary.ts | 1 + packages/server/src/services/TaxRates/ActivateTaxRate.ts | 3 +++ packages/server/src/services/TaxRates/InactivateTaxRate.ts | 6 +++--- packages/server/src/services/TaxRates/TaxRateTransformer.ts | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/server/src/interfaces/SalesTaxLiabilitySummary.ts b/packages/server/src/interfaces/SalesTaxLiabilitySummary.ts index 533bba840..8b04c9719 100644 --- a/packages/server/src/interfaces/SalesTaxLiabilitySummary.ts +++ b/packages/server/src/interfaces/SalesTaxLiabilitySummary.ts @@ -17,6 +17,7 @@ export interface SalesTaxLiabilitySummaryTotal { } export interface SalesTaxLiabilitySummaryRate { + id: number; taxName: string; taxableAmount: SalesTaxLiabilitySummaryAmount; taxAmount: SalesTaxLiabilitySummaryAmount; diff --git a/packages/server/src/services/TaxRates/ActivateTaxRate.ts b/packages/server/src/services/TaxRates/ActivateTaxRate.ts index 99796912d..1fe516123 100644 --- a/packages/server/src/services/TaxRates/ActivateTaxRate.ts +++ b/packages/server/src/services/TaxRates/ActivateTaxRate.ts @@ -39,6 +39,9 @@ export class ActivateTaxRateService { // Validates the tax rate existance. this.validators.validateTaxRateExistance(oldTaxRate); + // Validates the tax rate inactive. + this.validators.validateTaxRateNotActive(oldTaxRate); + return this.uow.withTransaction(tenantId, async (trx: Knex.Transaction) => { // Triggers `onTaxRateActivating` event. await this.eventPublisher.emitAsync(events.taxRates.onActivating, { diff --git a/packages/server/src/services/TaxRates/InactivateTaxRate.ts b/packages/server/src/services/TaxRates/InactivateTaxRate.ts index b4fd6a368..82ee30a89 100644 --- a/packages/server/src/services/TaxRates/InactivateTaxRate.ts +++ b/packages/server/src/services/TaxRates/InactivateTaxRate.ts @@ -31,15 +31,15 @@ export class InactivateTaxRateService { * @param {IEditTaxRateDTO} taxRateEditDTO * @returns {Promise} */ - public inactivateTaxRate(tenantId: number, taxRateId: number) { + public async inactivateTaxRate(tenantId: number, taxRateId: number) { const { TaxRate } = this.tenancy.models(tenantId); - const oldTaxRate = TaxRate.query().findById(taxRateId); + const oldTaxRate = await TaxRate.query().findById(taxRateId); // Validates the tax rate existance. this.validators.validateTaxRateExistance(oldTaxRate); - // + // Validates the tax rate active. this.validators.validateTaxRateNotInactive(oldTaxRate); return this.uow.withTransaction(tenantId, async (trx: Knex.Transaction) => { diff --git a/packages/server/src/services/TaxRates/TaxRateTransformer.ts b/packages/server/src/services/TaxRates/TaxRateTransformer.ts index 90c5a956e..8548245c0 100644 --- a/packages/server/src/services/TaxRates/TaxRateTransformer.ts +++ b/packages/server/src/services/TaxRates/TaxRateTransformer.ts @@ -24,6 +24,6 @@ export class TaxRateTransformer extends Transformer { * @returns {string} */ protected nameFormatted = (taxRate): string => { - return `${taxRate.name} (${taxRate.rate}%)`; + return `${taxRate.name} [${taxRate.rate}%]`; }; }