refactor: dtos validation

This commit is contained in:
Ahmed Bouhuolia
2025-03-20 05:42:19 +02:00
parent fd65ee9428
commit 136cc907bb
105 changed files with 1641 additions and 366 deletions

View File

@@ -8,6 +8,7 @@ import { QueryTransactionsLocking } from './queries/QueryTransactionsLocking';
import { PublicRoute } from '../Auth/Jwt.guard';
import { ApiOperation } from '@nestjs/swagger';
import { ApiTags } from '@nestjs/swagger';
import { CancelTransactionsLockingDto, TransactionsLockingDto, UnlockTransactionsLockingDto } from './dtos/TransactionsLocking.dto';
@Controller('transactions-locking')
@ApiTags('Transactions Locking')
@@ -22,7 +23,7 @@ export class TransactionsLockingController {
@ApiOperation({ summary: 'Lock all transactions for a module or all modules' })
async commandTransactionsLocking(
@Body('module') module: TransactionsLockingGroup,
@Body() transactionLockingDTO: ITransactionsLockingAllDTO,
@Body() transactionLockingDTO: TransactionsLockingDto,
) {
const transactionMeta =
await this.transactionsLockingService.commandTransactionsLocking(
@@ -39,7 +40,7 @@ export class TransactionsLockingController {
@ApiOperation({ summary: 'Cancel all transactions locking for a module or all modules' })
async cancelTransactionLocking(
@Body('module') module: TransactionsLockingGroup,
@Body() cancelLockingDTO: ICancelTransactionsLockingDTO,
@Body() cancelLockingDTO: CancelTransactionsLockingDto,
) {
const data = await this.transactionsLockingService.cancelTransactionLocking(
module,
@@ -55,7 +56,7 @@ export class TransactionsLockingController {
@ApiOperation({ summary: 'Partial unlock all transactions locking for a module or all modules' })
async unlockTransactionsLockingBetweenPeriod(
@Body('module') module: TransactionsLockingGroup,
@Body() unlockDTO: ITransactionLockingPartiallyDTO,
@Body() unlockDTO: UnlockTransactionsLockingDto,
) {
const transactionMeta =
await this.transactionsLockingService.unlockTransactionsLockingPartially(

View File

@@ -15,6 +15,7 @@ import { Injectable } from '@nestjs/common';
import { EventEmitter2 } from '@nestjs/event-emitter';
import { events } from '@/common/events/events';
import { ServiceError } from '@/modules/Items/ServiceError';
import { CancelTransactionsLockingDto, TransactionsLockingDto } from '../dtos/TransactionsLocking.dto';
const Modules = ['all', 'sales', 'purchases', 'financial'];
@@ -33,7 +34,7 @@ export class TransactionsLockingService {
*/
public commandTransactionsLocking = async (
module: TransactionsLockingGroup = TransactionsLockingGroup.All,
transactionLockingDTO: Partial<ITransactionsLockingAllDTO>,
transactionLockingDTO: TransactionsLockingDto,
): Promise<ITransactionMeta> => {
// Validate the transaction locking module.
this.validateTransactionsLockingModule(module);
@@ -70,7 +71,7 @@ export class TransactionsLockingService {
*/
public cancelTransactionLocking = async (
module: TransactionsLockingGroup = TransactionsLockingGroup.All,
cancelLockingDTO: ICancelTransactionsLockingDTO,
cancelLockingDTO: CancelTransactionsLockingDto,
): Promise<ITransactionMeta> => {
// Validate the transaction locking module.
this.validateTransactionsLockingModule(module);
@@ -137,10 +138,11 @@ export class TransactionsLockingService {
this.validateTransactionsLockingModule(module);
// Saves transactions locking settings.
await this.transactionsLockingRepo.saveTransactionsLocking(
module,
{ unlockFromDate: '', unlockToDate: '', partialUnlockReason: '' },
);
await this.transactionsLockingRepo.saveTransactionsLocking(module, {
unlockFromDate: '',
unlockToDate: '',
partialUnlockReason: '',
});
};
/**

View File

@@ -0,0 +1,25 @@
import { IsString } from 'class-validator';
import { IsNotEmpty } from 'class-validator';
import { IsDate } from 'class-validator';
export class TransactionsLockingDto {
@IsDate()
@IsNotEmpty()
lockToDate: Date;
@IsString()
@IsNotEmpty()
reason: string;
}
export class CancelTransactionsLockingDto {
@IsString()
@IsNotEmpty()
reason: string;
}
export class UnlockTransactionsLockingDto {
@IsDate()
@IsNotEmpty()
unlockFromDate: Date;
}