mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 05:40:31 +00:00
refactor: dtos validation
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -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: '',
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user