Add products and sales management modules with database schema and validation

- Introduced `ProductsModule` to manage product data, including read and write controllers.
- Created database migrations for the `products`, `sales_requests`, `sales_orders`, `sales_invoices`, and related tables, including constraints and unique indexes.
- Implemented validation for product fields such as code, name, unit, and brand with corresponding utility functions.
- Developed service and repository layers for handling product and sales data operations.
- Added unit tests for the products and sales services, repositories, and controllers to ensure functionality and correctness.
- Updated application module to include the new `ProductsModule` and related sales modules for better organization.
This commit is contained in:
shancheas
2026-08-25 09:54:16 +07:00
parent ddbe8a9ef8
commit 34d4f2c120
82 changed files with 12609 additions and 2 deletions
@@ -0,0 +1,19 @@
import { Module } from '@nestjs/common';
import { SalesInvoicesModule } from '../sales-invoices/sales-invoices.module';
import { DocumentCodeService } from '../shared/document-code.service';
import { SalesPaymentsReadController } from './sales-payments-read.controller';
import { SalesPaymentsWriteController } from './sales-payments-write.controller';
import { SalesPaymentsRepository } from './sales-payments.repository';
import { SalesPaymentsService } from './sales-payments.service';
@Module({
imports: [SalesInvoicesModule],
controllers: [SalesPaymentsReadController, SalesPaymentsWriteController],
providers: [
DocumentCodeService,
SalesPaymentsRepository,
SalesPaymentsService,
],
exports: [SalesPaymentsService, DocumentCodeService],
})
export class SalesPaymentsModule {}