update models and create consumer domain accounts permissions

This commit is contained in:
2026-04-11 14:47:05 +03:30
parent 89726c8904
commit 9cef733370
87 changed files with 2967 additions and 3352 deletions
+16 -16
View File
@@ -1,3 +1,18 @@
model AdminAccount {
id String @id @default(uuid())
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
admin_id String
admin Admin @relation(fields: [admin_id], references: [id])
account_id String @unique
account Account @relation(fields: [account_id], references: [id])
@@map("admin_accounts")
}
model Admin {
id String @id @default(uuid())
mobile_number String @unique()
@@ -8,26 +23,11 @@ model Admin {
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
accounts AdminAccount[]
adminAccounts AdminAccount[]
@@map("admins")
}
model AdminAccount {
id String @id @default(uuid())
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
user_id String
user Admin @relation(fields: [user_id], references: [id])
account_id String @unique
account Account @relation(fields: [account_id], references: [id])
@@map("admin_accounts")
}
// model LegalProfile {
// user_id String @id
// company_name String
+35 -65
View File
@@ -1,22 +1,3 @@
model Consumer {
id String @id @default(uuid())
mobile_number String @unique()
first_name String
last_name String
status ConsumerStatus @default(ACTIVE)
license_id String? @unique()
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
accounts ConsumerAccount[]
businessActivities BusinessActivity[]
license License?
@@map("consumers")
}
model ConsumerAccount {
id String @id @default(uuid())
role ConsumerRole
@@ -24,18 +5,36 @@ model ConsumerAccount {
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
user_id String
user Consumer @relation(fields: [user_id], references: [id])
consumer_id String
consumer Consumer @relation(fields: [consumer_id], references: [id])
account_id String @unique
account Account @relation(fields: [account_id], references: [id])
permissions PermissionConsumer[]
salesInvoices SalesInvoice[]
permission PermissionConsumer?
sales_invoices SalesInvoice[]
@@map("consumer_accounts")
}
model Consumer {
id String @id @default(uuid())
mobile_number String @unique()
first_name String
last_name String
status ConsumerStatus @default(ACTIVE)
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
consumer_accounts ConsumerAccount[]
business_activities BusinessActivity[]
license License? @relation()
@@map("consumers")
}
model BusinessActivity {
id String @id @default(uuid())
name String
@@ -43,13 +42,13 @@ model BusinessActivity {
updated_at DateTime @updatedAt() @db.Timestamp(0)
guild_id String
user_id String
guild Guild @relation(fields: [guild_id], references: [id])
guild Guild @relation(fields: [guild_id], references: [id])
user Consumer @relation(fields: [user_id], references: [id])
consumer_id String
consumer Consumer @relation(fields: [consumer_id], references: [id])
complexes Complex[]
permissionBusinesses PermissionBusiness[]
complexes Complex[]
permission_businesses PermissionBusiness[]
@@map("business_activities")
}
@@ -67,12 +66,12 @@ model Complex {
business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])
pos_list Pos[]
goods Good[]
good_categories GoodCategory[]
permissionComplexes PermissionComplex[]
customerIndividuals CustomerIndividual[]
customerLegals CustomerLegal[]
pos_list Pos[]
goods Good[]
good_categories GoodCategory[]
permission_complexes PermissionComplex[]
customer_individuals CustomerIndividual[]
customer_legals CustomerLegal[]
@@map("complexes")
}
@@ -96,37 +95,8 @@ model Pos {
provider_id String?
provider Provider? @relation(fields: [provider_id], references: [id])
permissionPos PermissionPos[]
salesInvoices SalesInvoice[]
permission_pos PermissionPos[]
sales_invoices SalesInvoice[]
@@map("poses")
}
// model BusinessAccount {
// id String @id @default(uuid())
// role BusinessRole
// status AccountStatus @default(ACTIVE)
// created_at DateTime @default(now())
// business_activity_id String
// account_id String @unique
// account Account @relation(fields: [account_id], references: [id])
// owned_activities BusinessActivity[] @relation("business_owner")
// @@unique([business_activity_id, account_id])
// @@map("business_accounts")
// }
// model PosAccount {
// id String @id @default(uuid())
// pos_id String
// account_id String
// role POSRole
// created_at DateTime @default(now())
// pos Pos @relation(fields: [pos_id], references: [id])
// account Account @relation(fields: [account_id], references: [id])
// @@unique([pos_id, account_id])
// @@map("pos_accounts")
// }
+18 -18
View File
@@ -1,3 +1,19 @@
model PartnerAccount {
id String @id @default(uuid())
role PartnerRole
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @default(now()) @updatedAt @db.Timestamp(0)
partner_id String
partner Partner @relation(fields: [partner_id], references: [id])
account_id String @unique
account Account @relation(fields: [account_id], references: [id])
@@map("partner_accounts")
}
model Partner {
id String @id @default(uuid())
name String
@@ -8,24 +24,8 @@ model Partner {
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @default(now()) @updatedAt @db.Timestamp(0)
licenses License[]
accounts PartnerAccount[]
licenses License[]
partner_accounts PartnerAccount[]
@@map("partners")
}
model PartnerAccount {
id String @id @default(uuid())
role PartnerRole
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @default(now()) @updatedAt @db.Timestamp(0)
user_id String
user Partner @relation(fields: [user_id], references: [id])
account_id String @unique
account Account @relation(fields: [account_id], references: [id])
@@map("partner_accounts")
}
+11 -12
View File
@@ -1,13 +1,12 @@
model PermissionConsumer {
id String @id @default(uuid())
account_id String @unique
consumer_account_id String @unique
consumer_account ConsumerAccount @relation(fields: [consumer_account_id], references: [id], onDelete: Cascade)
account ConsumerAccount @relation(fields: [account_id], references: [id])
posPermissions PermissionPos[]
complexPermissions PermissionComplex[]
businessPermissions PermissionBusiness[]
pos_permissions PermissionPos[]
complex_permissions PermissionComplex[]
business_permissions PermissionBusiness[]
@@map("permission_consumers")
}
@@ -19,8 +18,8 @@ model PermissionPos {
pos_id String
permission_id String
pos Pos @relation(fields: [pos_id], references: [id])
permission PermissionConsumer @relation(fields: [permission_id], references: [id])
pos Pos @relation(fields: [pos_id], references: [id], onDelete: Cascade)
permission PermissionConsumer @relation(fields: [permission_id], references: [id], onDelete: Cascade)
@@unique([permission_id, pos_id])
@@map("permission_poses")
@@ -33,8 +32,8 @@ model PermissionComplex {
complex_id String
permission_id String
complex Complex @relation(fields: [complex_id], references: [id])
permission PermissionConsumer @relation(fields: [permission_id], references: [id])
complex Complex @relation(fields: [complex_id], references: [id], onDelete: Cascade)
permission PermissionConsumer @relation(fields: [permission_id], references: [id], onDelete: Cascade)
@@unique([permission_id, complex_id])
@@map("permission_complexes")
@@ -47,8 +46,8 @@ model PermissionBusiness {
business_id String
permission_id String
business BusinessActivity @relation(fields: [business_id], references: [id])
permission PermissionConsumer @relation(fields: [permission_id], references: [id])
business BusinessActivity @relation(fields: [business_id], references: [id], onDelete: Cascade)
permission PermissionConsumer @relation(fields: [permission_id], references: [id], onDelete: Cascade)
@@unique([permission_id, business_id])
@@map("permission_business_activities")
+18 -18
View File
@@ -1,3 +1,19 @@
model ProviderAccount {
id String @id @default(uuid())
role ProviderRole
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
provider_id String
provider Provider @relation(fields: [provider_id], references: [id])
account_id String @unique
account Account @relation(fields: [account_id], references: [id])
@@map("provider_accounts")
}
model Provider {
id String @id @default(uuid())
code String @unique()
@@ -7,24 +23,8 @@ model Provider {
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt @db.Timestamp(0)
pos_list Pos[]
accounts ProviderAccount[]
pos_list Pos[]
provider_accounts ProviderAccount[]
@@map("providers")
}
model ProviderAccount {
id String @id @default(uuid())
role ProviderRole
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
user_id String
user Provider @relation(fields: [user_id], references: [id])
account_id String @unique
account Account @relation(fields: [account_id], references: [id])
@@map("provider_accounts")
}