feat: add consumer accounts and business activities management

- Implemented AccountsService for managing consumer accounts including create, update, delete, and find operations.
- Created DTOs for account creation and updates.
- Developed BusinessActivitiesController and BusinessActivitiesService for handling business activities related to consumers.
- Added complexes management with ComplexesController and ComplexesService.
- Introduced POS management with ComplexPosesController and ComplexPosesService.
- Created necessary DTOs for business activities and POS.
- Established Licenses management with LicensesController and LicensesService.
- Integrated consumer management with PartnerConsumersController and PartnerConsumersService.
- Added Prisma module imports and service connections across modules.
This commit is contained in:
2026-04-23 20:59:39 +03:30
parent f9e1ad69dc
commit a350ec7990
104 changed files with 13233 additions and 4105 deletions
+28 -19
View File
@@ -1,5 +1,5 @@
model ConsumerAccount {
id String @id @default(uuid())
id String @id @default(ulid())
role ConsumerRole
created_at DateTime @default(now()) @db.Timestamp(0)
@@ -8,7 +8,7 @@ model ConsumerAccount {
consumer_id String
consumer Consumer @relation(fields: [consumer_id], references: [id])
account_id String @unique
account_id String @unique()
account Account @relation(fields: [account_id], references: [id])
permission PermissionConsumer?
@@ -18,8 +18,9 @@ model ConsumerAccount {
}
model Consumer {
id String @id @default(uuid())
mobile_number String @unique()
id String @id @default(ulid())
mobile_number String
national_code String
first_name String
last_name String
status ConsumerStatus @default(ACTIVE)
@@ -27,17 +28,23 @@ model Consumer {
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
partner_id String
partner Partner @relation(fields: [partner_id], references: [id])
consumer_accounts ConsumerAccount[]
business_activities BusinessActivity[]
activated_licenses ActivatedLicense[]
consumer_devices ConsumerDevices[]
@@unique([mobile_number, partner_id])
@@unique([national_code, partner_id])
@@map("consumers")
}
model BusinessActivity {
id String @id @default(uuid())
name String
id String @id @default(ulid())
economic_code String @unique()
name String
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
@@ -49,15 +56,16 @@ model BusinessActivity {
complexes Complex[]
permission_businesses PermissionBusiness[]
license_activation LicenseActivation?
@@map("business_activities")
}
model Complex {
id String @id @default(uuid())
name String
address String?
tax_id String?
id String @id @default(ulid())
name String
branch_code String
address String?
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
@@ -77,14 +85,15 @@ model Complex {
}
model Pos {
id String @id @default(uuid())
name String
serial String @unique
model String?
status POSStatus @default(ACTIVE)
pos_type POSType
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
id String @id @default(ulid())
name String
serial String @unique()
model String?
status POSStatus @default(ACTIVE)
pos_type POSType
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
complex_id String
complex Complex @relation(fields: [complex_id], references: [id])