feat: update validation and exception handling, refactor controller routes, and enhance sales invoice item DTO

- Removed global validation pipe and added a new ValidationExceptionFilter for better error handling.
- Refactored controller routes to use underscores instead of hyphens for consistency.
- Updated CreateSalesInvoiceItemDto to include new fields: quantity, unit_type, and payload.
- Modified CreateSalesInvoiceDto to enforce items as an array with a minimum size.
- Added Enums module to provide gold karat values through a dedicated endpoint.
- Introduced new columns in the database schema for sales invoice items and goods.
This commit is contained in:
2026-02-16 20:51:34 +03:30
parent a073af76fe
commit 55b96d4f79
28 changed files with 572 additions and 122 deletions
@@ -1,5 +1,6 @@
import { ApiProperty, PartialType } from '@nestjs/swagger'
import { IsNumber, IsOptional, IsString } from 'class-validator'
import { ArrayMinSize, IsNumber, IsOptional, IsString } from 'class-validator'
import { CreateSalesInvoiceItemDto } from '../../sales-invoice-items/dto/create-sales-invoice-item.dto'
export class CreateSalesInvoiceDto {
@IsString()
@@ -7,18 +8,17 @@ export class CreateSalesInvoiceDto {
code: string
@IsNumber()
@ApiProperty()
@ApiProperty({ required: true, default: 0 })
total_amount: number
@IsOptional()
@IsString()
@ApiProperty({ required: false })
description?: string
@IsOptional()
@IsString()
@ApiProperty({ required: false })
customer_id?: string
@ApiProperty()
@ArrayMinSize(1)
items: CreateSalesInvoiceItemDto[]
}
export class UpdateSalesInvoiceDto extends PartialType(CreateSalesInvoiceDto) {}