5ce560ce97
- Updated `findAll` method in `CustomersController` to accept filtering parameters. - Implemented filtering logic in `CustomersService` to retrieve customers based on type and search query. - Added `PosCustomerFilterDto` for query validation. - Updated customer-related DTOs to make fields optional and added length validation where necessary. - Modified customer-related logic in `sales-invoice-tsp.utils.ts` to accommodate new DTO structure. - Added unique constraints to `customer_individuals` and `customer_legal` tables in the database migration. - Removed commented-out code in `PosMiddleware` for cleaner codebase. - Set default value for `is_default_guild_good` to false in `OwnedGoodsService`.
48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
model Customer {
|
|
id String @id @default(ulid())
|
|
is_favorite Boolean? @default(false)
|
|
type CustomerType
|
|
created_at DateTime @default(now()) @db.Timestamp(0)
|
|
updated_at DateTime @updatedAt @db.Timestamp(0)
|
|
deleted_at DateTime? @db.Timestamp(0)
|
|
individual CustomerIndividual?
|
|
legal CustomerLegal?
|
|
sales_invoices SalesInvoice[]
|
|
|
|
@@map("customers")
|
|
}
|
|
|
|
model CustomerIndividual {
|
|
first_name String? @db.VarChar(255)
|
|
last_name String? @db.VarChar(255)
|
|
national_id String? @db.Char(10)
|
|
mobile_number String? @db.Char(15)
|
|
postal_code String? @db.Char(10)
|
|
economic_code String? @db.Char(14)
|
|
customer_id String @id
|
|
business_activity_id String
|
|
business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])
|
|
customer Customer @relation(fields: [customer_id], references: [id], onDelete: Cascade)
|
|
|
|
@@unique([business_activity_id, national_id])
|
|
@@unique([business_activity_id, postal_code, national_id])
|
|
@@index([business_activity_id])
|
|
@@map("customer_individuals")
|
|
}
|
|
|
|
model CustomerLegal {
|
|
name String? @db.VarChar(255)
|
|
economic_code String? @db.Char(11)
|
|
registration_number String? @db.Char(20)
|
|
postal_code String? @db.Char(10)
|
|
customer_id String @id
|
|
business_activity_id String
|
|
business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])
|
|
customer Customer @relation(fields: [customer_id], references: [id], onDelete: Cascade)
|
|
|
|
@@unique([business_activity_id, economic_code])
|
|
@@unique([business_activity_id, postal_code, registration_number])
|
|
@@index([business_activity_id])
|
|
@@map("customer_legal")
|
|
}
|