feat(nestjs): migrate to NestJS

This commit is contained in:
Ahmed Bouhuolia
2025-04-07 11:51:24 +02:00
parent f068218a16
commit 55fcc908ef
3779 changed files with 631 additions and 195332 deletions

View File

@@ -0,0 +1,103 @@
import { ApiProperty } from '@nestjs/swagger';
import { IsBoolean, IsEmail, IsString } from 'class-validator';
import { ContactAddressDto } from '@/modules/Customers/dtos/ContactAddress.dto';
import { IsInt, IsNumber } from 'class-validator';
import { IsOptional, Min } from 'class-validator';
import { IsISO8601 } from 'class-validator';
export class CreateVendorDto extends ContactAddressDto {
@ApiProperty({ required: false, description: 'Vendor opening balance' })
@IsOptional()
@IsInt()
@Min(0)
openingBalance?: number;
@ApiProperty({
required: false,
description: 'Vendor opening balance exchange rate',
default: 1,
})
@IsOptional()
@IsNumber()
@Min(0.01)
openingBalanceExchangeRate?: number;
@ApiProperty({ required: false, description: 'Date of the opening balance' })
@IsOptional()
@IsISO8601()
openingBalanceAt?: Date;
@ApiProperty({
required: false,
description: 'Branch ID for the opening balance',
})
@IsOptional()
@IsInt()
openingBalanceBranchId?: number;
@ApiProperty({ description: 'Currency code for the vendor' })
@IsOptional()
@IsString()
currencyCode: string;
@ApiProperty({ required: false, description: 'Vendor salutation' })
@IsOptional()
@IsString()
salutation?: string;
@ApiProperty({ required: false, description: 'Vendor first name' })
@IsOptional()
@IsString()
firstName?: string;
@ApiProperty({ required: false, description: 'Vendor last name' })
@IsOptional()
@IsString()
lastName?: string;
@ApiProperty({ required: false, description: 'Vendor company name' })
@IsOptional()
@IsString()
companyName?: string;
@ApiProperty({ required: false, description: 'Vendor display name' })
@IsString()
displayName: string;
@ApiProperty({ required: false, description: 'Vendor website' })
@IsOptional()
@IsString()
website?: string;
@ApiProperty({ required: false, description: 'Vendor email address' })
@IsOptional()
@IsEmail()
email?: string;
@ApiProperty({ required: false, description: 'Vendor work phone number' })
@IsOptional()
@IsString()
workPhone?: string;
@ApiProperty({ required: false, description: 'Vendor personal phone number' })
@IsOptional()
@IsString()
personalPhone?: string;
@ApiProperty({
required: false,
description: 'Additional notes about the vendor',
})
@IsOptional()
@IsString()
note?: string;
@ApiProperty({
required: false,
description: 'Whether the vendor is active',
default: true,
})
@IsOptional()
@IsBoolean()
active?: boolean;
}

View File

@@ -0,0 +1,60 @@
import { ContactAddressDto } from '@/modules/Customers/dtos/ContactAddress.dto';
import { IsEmail, IsString, IsBoolean, IsOptional } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
export class EditVendorDto extends ContactAddressDto {
@ApiProperty({ required: false, description: 'Vendor salutation' })
@IsOptional()
@IsString()
salutation?: string;
@ApiProperty({ required: false, description: 'Vendor first name' })
@IsOptional()
@IsString()
firstName?: string;
@ApiProperty({ required: false, description: 'Vendor last name' })
@IsOptional()
@IsString()
lastName?: string;
@ApiProperty({ required: false, description: 'Vendor company name' })
@IsOptional()
@IsString()
companyName?: string;
@ApiProperty({ required: false, description: 'Vendor display name' })
@IsOptional()
@IsString()
displayName?: string;
@ApiProperty({ required: false, description: 'Vendor website' })
@IsOptional()
@IsString()
website?: string;
@ApiProperty({ required: false, description: 'Vendor email address' })
@IsOptional()
@IsEmail()
email?: string;
@ApiProperty({ required: false, description: 'Vendor work phone number' })
@IsOptional()
@IsString()
workPhone?: string;
@ApiProperty({ required: false, description: 'Vendor personal phone number' })
@IsOptional()
@IsString()
personalPhone?: string;
@ApiProperty({ required: false, description: 'Additional notes about the vendor' })
@IsOptional()
@IsString()
note?: string;
@ApiProperty({ required: false, description: 'Whether the vendor is active' })
@IsOptional()
@IsBoolean()
active?: boolean;
}