2026-04-11 14:47:05 +03:30
|
|
|
model ConsumerAccount {
|
2026-04-23 20:59:39 +03:30
|
|
|
id String @id @default(ulid())
|
2026-04-11 14:47:05 +03:30
|
|
|
role ConsumerRole
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-03-14 16:26:44 +03:30
|
|
|
created_at DateTime @default(now()) @db.Timestamp(0)
|
|
|
|
|
updated_at DateTime @updatedAt() @db.Timestamp(0)
|
|
|
|
|
|
2026-04-11 14:47:05 +03:30
|
|
|
consumer_id String
|
|
|
|
|
consumer Consumer @relation(fields: [consumer_id], references: [id])
|
2026-03-16 00:33:40 +03:30
|
|
|
|
2026-04-23 20:59:39 +03:30
|
|
|
account_id String @unique()
|
2026-04-11 14:47:05 +03:30
|
|
|
account Account @relation(fields: [account_id], references: [id])
|
2026-04-06 21:12:07 +03:30
|
|
|
|
2026-05-20 11:42:59 +03:30
|
|
|
pos Pos?
|
|
|
|
|
permission PermissionConsumer?
|
|
|
|
|
account_allocation LicenseAccountAllocation?
|
|
|
|
|
account_device ConsumerAccountDevice?
|
|
|
|
|
sales_invoices SalesInvoice[]
|
|
|
|
|
consumer_account_good_favorites ConsumerAccountGoodFavorite[]
|
2026-04-11 14:47:05 +03:30
|
|
|
|
|
|
|
|
@@map("consumer_accounts")
|
2026-03-16 00:33:40 +03:30
|
|
|
}
|
|
|
|
|
|
2026-04-11 14:47:05 +03:30
|
|
|
model Consumer {
|
2026-04-27 10:45:39 +03:30
|
|
|
id String @id @default(ulid())
|
|
|
|
|
type ConsumerType
|
|
|
|
|
status ConsumerStatus @default(ACTIVE)
|
|
|
|
|
|
|
|
|
|
created_at DateTime @default(now()) @db.Timestamp(0)
|
|
|
|
|
updated_at DateTime @updatedAt() @db.Timestamp(0)
|
|
|
|
|
|
|
|
|
|
accounts ConsumerAccount[]
|
|
|
|
|
business_activities BusinessActivity[]
|
2026-05-10 09:44:49 +03:30
|
|
|
// devices ConsumerDevices[]
|
2026-04-27 10:45:39 +03:30
|
|
|
individual ConsumerIndividual?
|
|
|
|
|
legal ConsumerLegal?
|
|
|
|
|
|
|
|
|
|
@@map("consumers")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model ConsumerIndividual {
|
2026-04-11 14:47:05 +03:30
|
|
|
first_name String
|
|
|
|
|
last_name String
|
2026-04-27 10:45:39 +03:30
|
|
|
mobile_number String
|
|
|
|
|
national_code String
|
2026-03-16 00:33:40 +03:30
|
|
|
|
|
|
|
|
created_at DateTime @default(now()) @db.Timestamp(0)
|
|
|
|
|
updated_at DateTime @updatedAt() @db.Timestamp(0)
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-04-23 20:59:39 +03:30
|
|
|
partner_id String
|
|
|
|
|
partner Partner @relation(fields: [partner_id], references: [id])
|
|
|
|
|
|
2026-04-27 10:45:39 +03:30
|
|
|
consumer_id String @id
|
|
|
|
|
consumer Consumer @relation(fields: [consumer_id], references: [id], onDelete: Cascade)
|
2026-03-16 00:33:40 +03:30
|
|
|
|
2026-04-27 10:45:39 +03:30
|
|
|
@@unique([mobile_number, consumer_id])
|
|
|
|
|
@@unique([partner_id, national_code])
|
|
|
|
|
@@map("consumers_individual")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model ConsumerLegal {
|
|
|
|
|
name String
|
|
|
|
|
registration_code String
|
|
|
|
|
|
|
|
|
|
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_id String @id
|
|
|
|
|
consumer Consumer @relation(fields: [consumer_id], references: [id], onDelete: Cascade)
|
|
|
|
|
|
|
|
|
|
@@unique([partner_id, registration_code])
|
|
|
|
|
@@map("consumers_legal")
|
2026-03-07 11:25:11 +03:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model BusinessActivity {
|
2026-05-03 16:23:17 +03:30
|
|
|
id String @id @default(ulid())
|
|
|
|
|
economic_code String
|
|
|
|
|
name String
|
|
|
|
|
fiscal_id String
|
|
|
|
|
partner_token String
|
|
|
|
|
invoice_number_sequence Decimal @default(1) @db.Decimal(20, 0)
|
2026-04-23 20:59:39 +03:30
|
|
|
|
2026-03-14 16:26:44 +03:30
|
|
|
created_at DateTime @default(now()) @db.Timestamp(0)
|
|
|
|
|
updated_at DateTime @updatedAt() @db.Timestamp(0)
|
|
|
|
|
|
|
|
|
|
guild_id String
|
2026-04-11 14:47:05 +03:30
|
|
|
guild Guild @relation(fields: [guild_id], references: [id])
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-04-11 14:47:05 +03:30
|
|
|
consumer_id String
|
|
|
|
|
consumer Consumer @relation(fields: [consumer_id], references: [id])
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-04-27 22:11:05 +03:30
|
|
|
license_activation LicenseActivation?
|
2026-04-11 14:47:05 +03:30
|
|
|
complexes Complex[]
|
|
|
|
|
permission_businesses PermissionBusiness[]
|
2026-04-27 10:45:39 +03:30
|
|
|
goods Good[]
|
|
|
|
|
customer_individuals CustomerIndividual[]
|
|
|
|
|
customer_legals CustomerLegal[]
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-04-25 15:16:59 +03:30
|
|
|
@@unique([economic_code, consumer_id])
|
2026-03-07 11:25:11 +03:30
|
|
|
@@map("business_activities")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model Complex {
|
2026-04-23 20:59:39 +03:30
|
|
|
id String @id @default(ulid())
|
|
|
|
|
name String
|
|
|
|
|
branch_code String
|
|
|
|
|
address String?
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-03-14 16:26:44 +03:30
|
|
|
created_at DateTime @default(now()) @db.Timestamp(0)
|
|
|
|
|
updated_at DateTime @updatedAt() @db.Timestamp(0)
|
|
|
|
|
|
2026-03-07 11:25:11 +03:30
|
|
|
business_activity_id String
|
|
|
|
|
|
|
|
|
|
business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])
|
|
|
|
|
|
2026-04-11 14:47:05 +03:30
|
|
|
pos_list Pos[]
|
|
|
|
|
good_categories GoodCategory[]
|
|
|
|
|
permission_complexes PermissionComplex[]
|
2026-03-07 11:25:11 +03:30
|
|
|
|
|
|
|
|
@@map("complexes")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
model Pos {
|
2026-04-24 02:20:15 +03:30
|
|
|
id String @id @default(ulid())
|
|
|
|
|
name String
|
|
|
|
|
model String?
|
|
|
|
|
serial_number String? @unique()
|
|
|
|
|
status POSStatus @default(ACTIVE)
|
|
|
|
|
pos_type POSType
|
2026-04-23 20:59:39 +03:30
|
|
|
|
|
|
|
|
created_at DateTime @default(now()) @db.Timestamp(0)
|
|
|
|
|
updated_at DateTime @updatedAt() @db.Timestamp(0)
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-03-16 00:33:40 +03:30
|
|
|
complex_id String
|
|
|
|
|
complex Complex @relation(fields: [complex_id], references: [id])
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-03-16 00:33:40 +03:30
|
|
|
device_id String?
|
|
|
|
|
device Device? @relation(fields: [device_id], references: [id])
|
|
|
|
|
|
|
|
|
|
provider_id String?
|
|
|
|
|
provider Provider? @relation(fields: [provider_id], references: [id])
|
2026-03-07 11:25:11 +03:30
|
|
|
|
2026-04-25 15:16:59 +03:30
|
|
|
account_id String @unique
|
|
|
|
|
account ConsumerAccount @relation(fields: [account_id], references: [id])
|
|
|
|
|
|
2026-04-11 14:47:05 +03:30
|
|
|
permission_pos PermissionPos[]
|
|
|
|
|
sales_invoices SalesInvoice[]
|
2026-03-07 11:25:11 +03:30
|
|
|
|
|
|
|
|
@@map("poses")
|
|
|
|
|
}
|
2026-05-20 11:42:59 +03:30
|
|
|
|
|
|
|
|
model ConsumerAccountGoodFavorite {
|
|
|
|
|
created_at DateTime @default(now())
|
|
|
|
|
|
|
|
|
|
consumer_account_id String
|
|
|
|
|
consumer_account ConsumerAccount @relation(fields: [consumer_account_id], references: [id], onDelete: Cascade)
|
|
|
|
|
|
|
|
|
|
good_id String
|
|
|
|
|
good Good @relation(fields: [good_id], references: [id], onDelete: Cascade)
|
|
|
|
|
|
|
|
|
|
@@id([consumer_account_id, good_id]) // unique pair
|
|
|
|
|
@@index([good_id])
|
|
|
|
|
@@index([consumer_account_id])
|
|
|
|
|
@@map("consumer_account_good_favorites")
|
|
|
|
|
}
|