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

@@ -17,6 +17,7 @@ import { BrandingTemplateDTOTransformer } from '../../PdfTemplate/BrandingTempla
import { assocItemEntriesDefaultIndex } from '@/utils/associate-item-entries-index';
import { CreditNoteAutoIncrementService } from './CreditNoteAutoIncrement.service';
import { CreditNote } from '../models/CreditNote';
import { CreateCreditNoteDto, EditCreditNoteDto } from '../dtos/CreditNote.dto';
@Injectable()
export class CommandCreditNoteDTOTransform {
@@ -41,7 +42,7 @@ export class CommandCreditNoteDTOTransform {
* @param {string} customerCurrencyCode -
*/
public transformCreateEditDTOToModel = async (
creditNoteDTO: ICreditNoteNewDTO | ICreditNoteEditDTO,
creditNoteDTO: CreateCreditNoteDto | EditCreditNoteDto,
customerCurrencyCode: string,
oldCreditNote?: CreditNote,
): Promise<CreditNote> => {

View File

@@ -3,7 +3,6 @@ import { Inject, Injectable } from '@nestjs/common';
import {
ICreditNoteCreatedPayload,
ICreditNoteCreatingPayload,
ICreditNoteNewDTO,
} from '../types/CreditNotes.types';
import { CreditNote } from '../models/CreditNote';
import { Contact } from '../../Contacts/models/Contact';
@@ -13,6 +12,7 @@ import { ItemsEntriesService } from '@/modules/Items/ItemsEntries.service';
import { EventEmitter2 } from '@nestjs/event-emitter';
import { events } from '@/common/events/events';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
import { CreateCreditNoteDto } from '../dtos/CreditNote.dto';
@Injectable()
export class CreateCreditNoteService {
@@ -42,7 +42,7 @@ export class CreateCreditNoteService {
* @param creditNoteDTO
*/
public creditCreditNote = async (
creditNoteDTO: ICreditNoteNewDTO,
creditNoteDTO: CreateCreditNoteDto,
trx?: Knex.Transaction,
) => {
// Triggers `onCreditNoteCreate` event.

View File

@@ -1,6 +1,5 @@
import { Inject, Injectable } from '@nestjs/common';
import {
ICreditNoteEditDTO,
ICreditNoteEditedPayload,
ICreditNoteEditingPayload,
} from '../types/CreditNotes.types';
@@ -13,6 +12,7 @@ import { UnitOfWork } from '../../Tenancy/TenancyDB/UnitOfWork.service';
import { events } from '@/common/events/events';
import { CommandCreditNoteDTOTransform } from './CommandCreditNoteDTOTransform.service';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
import { EditCreditNoteDto } from '../dtos/CreditNote.dto';
@Injectable()
export class EditCreditNoteService {
@@ -27,6 +27,7 @@ export class EditCreditNoteService {
constructor(
@Inject(CreditNote.name)
private creditNoteModel: TenantModelProxy<typeof CreditNote>,
@Inject(Contact.name)
private contactModel: TenantModelProxy<typeof Contact>,
@@ -42,7 +43,7 @@ export class EditCreditNoteService {
*/
public async editCreditNote(
creditNoteId: number,
creditNoteEditDTO: ICreditNoteEditDTO,
creditNoteEditDTO: EditCreditNoteDto,
) {
// Retrieve the sale invoice or throw not found service error.
const oldCreditNote = await this.creditNoteModel()