From db5caa138a632d2adb9464bea2385b370711e6b3 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Sun, 18 Jan 2026 22:43:54 +0200 Subject: [PATCH] wip --- .../server/src/modules/App/AppThrottle.module.ts | 9 ++++----- .../TransactionsByReference.service.ts | 14 ++++---------- .../TransactionsByReferenceApplication.ts | 8 ++++---- .../TransactionsByReferenceQuery.dto.ts | 2 +- .../TransactionsByReferenceReport.ts | 13 +++++-------- .../TransactionsByVendorInjectable.ts | 8 ++++---- .../TransactionsByVendorTableInjectable.ts | 8 ++++---- 7 files changed, 26 insertions(+), 36 deletions(-) diff --git a/packages/server/src/modules/App/AppThrottle.module.ts b/packages/server/src/modules/App/AppThrottle.module.ts index 6527132dc..69b4cda62 100644 --- a/packages/server/src/modules/App/AppThrottle.module.ts +++ b/packages/server/src/modules/App/AppThrottle.module.ts @@ -35,11 +35,10 @@ import { ThrottlerStorageRedisService } from '@nest-lab/throttler-storage-redis' const password = configService.get('redis.password'); const db = configService.get('redis.db'); - // Ensure we always have valid numbers with fallback defaults - const globalTtl = configService.get('throttle.global.ttl') ?? 60000; - const globalLimit = configService.get('throttle.global.limit') ?? 100; - const authTtl = configService.get('throttle.auth.ttl') ?? 60000; - const authLimit = configService.get('throttle.auth.limit') ?? 10; + const globalTtl = configService.get('throttle.global.ttl'); + const globalLimit = configService.get('throttle.global.limit'); + const authTtl = configService.get('throttle.auth.ttl'); + const authLimit = configService.get('throttle.auth.limit'); return { throttlers: [ diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReference.service.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReference.service.ts index 6ef5e9ee5..c5d48bd5b 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReference.service.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReference.service.ts @@ -1,12 +1,12 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { ITransactionsByReferencePojo, - ITransactionsByReferenceQuery, } from './TransactionsByReference.types'; import { TransactionsByReferenceRepository } from './TransactionsByReferenceRepository'; import { TransactionsByReference } from './TransactionsByReferenceReport'; import { getTransactionsByReferenceQuery } from './_utils'; import { TenancyContext } from '@/modules/Tenancy/TenancyContext.service'; +import { TransactionsByReferenceQueryDto } from './TransactionsByReferenceQuery.dto'; @Injectable() export class TransactionsByReferenceService { @@ -17,18 +17,12 @@ export class TransactionsByReferenceService { /** * Retrieve accounts transactions by given reference id and type. - * @param {ITransactionsByReferenceQuery} filter - Transactions by reference query. + * @param {TransactionsByReferenceQueryDto} filter - Transactions by reference query. * @returns {Promise} */ public async getTransactionsByReference( - query: ITransactionsByReferenceQuery + query: TransactionsByReferenceQueryDto ): Promise { - // Validate referenceId is a valid positive number - const referenceId = Number(query.referenceId); - if (isNaN(referenceId) || referenceId <= 0) { - throw new BadRequestException('referenceId must be a valid positive number'); - } - const filter = { ...getTransactionsByReferenceQuery(), ...query, @@ -37,7 +31,7 @@ export class TransactionsByReferenceService { // Retrieve the accounts transactions of the given reference. const transactions = await this.repository.getTransactions( - referenceId, + query.referenceId, filter.referenceType ); // Transactions by reference report. diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceApplication.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceApplication.ts index 671f5b5c6..cb0d83f52 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceApplication.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceApplication.ts @@ -1,19 +1,19 @@ import { Injectable } from '@nestjs/common'; import { TransactionsByReferenceService } from './TransactionsByReference.service'; -import { ITransactionsByReferenceQuery } from './TransactionsByReference.types'; +import { TransactionsByReferenceQueryDto } from './TransactionsByReferenceQuery.dto'; @Injectable() export class TransactionsByReferenceApplication { constructor( private readonly transactionsByReferenceService: TransactionsByReferenceService, - ) {} + ) { } /** * Retrieve accounts transactions by given reference id and type. - * @param {ITransactionsByReferenceQuery} query - Transactions by reference query. + * @param {TransactionsByReferenceQueryDto} query - Transactions by reference query. * @returns {Promise} */ - public async getTransactions(query: ITransactionsByReferenceQuery) { + public async getTransactions(query: TransactionsByReferenceQueryDto) { return this.transactionsByReferenceService.getTransactionsByReference( query, ); diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceQuery.dto.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceQuery.dto.ts index fe591c018..e18aa9562 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceQuery.dto.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceQuery.dto.ts @@ -18,5 +18,5 @@ export class TransactionsByReferenceQueryDto { example: '1', required: true, }) - referenceId: string; + referenceId: number; } diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceReport.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceReport.ts index 5ac840b80..d46431d23 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceReport.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByReference/TransactionsByReferenceReport.ts @@ -1,27 +1,27 @@ import { - ITransactionsByReferenceQuery, ITransactionsByReferenceTransaction, } from './TransactionsByReference.types'; import { FinancialSheet } from '../../common/FinancialSheet'; import { ModelObject } from 'objection'; import { AccountTransaction } from '@/modules/Accounts/models/AccountTransaction.model'; import { INumberFormatQuery } from '../../types/Report.types'; +import { TransactionsByReferenceQueryDto } from './TransactionsByReferenceQuery.dto'; export class TransactionsByReference extends FinancialSheet { readonly transactions: ModelObject[]; - readonly query: ITransactionsByReferenceQuery; + readonly query: TransactionsByReferenceQueryDto; readonly baseCurrency: string; readonly numberFormat: INumberFormatQuery; /** * Constructor method. * @param {ModelObject[]} transactions - * @param {ITransactionsByReferenceQuery} query + * @param {TransactionsByVendorQueryDto} query * @param {string} baseCurrency */ constructor( transactions: ModelObject[], - query: ITransactionsByReferenceQuery, + query: TransactionsByReferenceQueryDto, baseCurrency: string ) { super(); @@ -46,12 +46,9 @@ export class TransactionsByReference extends FinancialSheet { credit: this.getAmountMeta(transaction.credit, { money: false }), debit: this.getAmountMeta(transaction.debit, { money: false }), - // @ts-ignore - // formattedReferenceType: transaction.referenceTypeFormatted, - formattedReferenceType: '', - referenceType: transaction.referenceType, referenceId: transaction.referenceId, + formattedReferenceType: transaction.referenceTypeFormatted, contactId: transaction.contactId, contactType: transaction.contactType, diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorInjectable.ts index ab9afe0bd..5359ba5a8 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorInjectable.ts @@ -2,7 +2,6 @@ import { Injectable } from '@nestjs/common'; import { I18nService } from 'nestjs-i18n'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { - ITransactionsByVendorsFilter, ITransactionsByVendorsStatement, } from './TransactionsByVendor.types'; import { TransactionsByVendor } from './TransactionsByVendor'; @@ -10,6 +9,7 @@ import { TransactionsByVendorRepository } from './TransactionsByVendorRepository import { TransactionsByVendorMeta } from './TransactionsByVendorMeta'; import { getTransactionsByVendorDefaultQuery } from './utils'; import { events } from '@/common/events/events'; +import { TransactionsByVendorQueryDto } from './TransactionsByVendorQuery.dto'; @Injectable() export class TransactionsByVendorsInjectable { @@ -18,15 +18,15 @@ export class TransactionsByVendorsInjectable { private readonly transactionsByVendorMeta: TransactionsByVendorMeta, private readonly eventPublisher: EventEmitter2, private readonly i18n: I18nService, - ) {} + ) { } /** * Retrieve transactions by by the customers. - * @param {ITransactionsByVendorsFilter} query - Transactions by vendors filter. + * @param {TransactionsByVendorQueryDto} query - Transactions by vendors filter. * @return {Promise} */ public async transactionsByVendors( - query: ITransactionsByVendorsFilter, + query: TransactionsByVendorQueryDto, ): Promise { const filter = { ...getTransactionsByVendorDefaultQuery(), ...query }; diff --git a/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorTableInjectable.ts b/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorTableInjectable.ts index 9ccfa47b2..209fde297 100644 --- a/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorTableInjectable.ts +++ b/packages/server/src/modules/FinancialStatements/modules/TransactionsByVendor/TransactionsByVendorTableInjectable.ts @@ -1,26 +1,26 @@ import { TransactionsByVendorsTable } from './TransactionsByVendorTable'; import { ITransactionsByVendorTable, - ITransactionsByVendorsFilter, } from './TransactionsByVendor.types'; import { TransactionsByVendorsInjectable } from './TransactionsByVendorInjectable'; import { Injectable } from '@nestjs/common'; import { I18nService } from 'nestjs-i18n'; +import { TransactionsByVendorQueryDto } from './TransactionsByVendorQuery.dto'; @Injectable() export class TransactionsByVendorTableInjectable { constructor( private readonly transactionsByVendor: TransactionsByVendorsInjectable, private readonly i18n: I18nService - ) {} + ) { } /** * Retrieves the transactions by vendor in table format. - * @param {ITransactionsByReferenceQuery} query - The filter query. + * @param {TransactionsByVendorQueryDto} query - The filter query. * @returns {Promise} */ public async table( - query: ITransactionsByVendorsFilter + query: TransactionsByVendorQueryDto ): Promise { const sheet = await this.transactionsByVendor.transactionsByVendors( query