update migrations and create base migration. set discount and tax to sale invoices

This commit is contained in:
2026-05-28 16:39:07 +03:30
parent cd3492d625
commit a975f9d02a
55 changed files with 2152 additions and 2278 deletions
+79 -101
View File
@@ -1,37 +1,31 @@
model ConsumerAccount {
id String @id @default(ulid())
role ConsumerRole
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
consumer_id String
consumer Consumer @relation(fields: [consumer_id], references: [id])
account_id String @unique()
account Account @relation(fields: [account_id], references: [id])
pos Pos?
permission PermissionConsumer?
account_allocation LicenseAccountAllocation?
id String @id @default(ulid())
role ConsumerRole
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt @db.Timestamp(0)
consumer_id String
account_id String @unique
account_device ConsumerAccountDevice?
sales_invoices SalesInvoice[]
consumer_account_good_favorites ConsumerAccountGoodFavorite[]
account Account @relation(fields: [account_id], references: [id])
consumer Consumer @relation(fields: [consumer_id], references: [id])
account_allocation LicenseAccountAllocation?
permission PermissionConsumer?
pos Pos?
sales_invoices SalesInvoice[]
@@index([consumer_id], map: "consumer_accounts_consumer_id_fkey")
@@map("consumer_accounts")
}
model Consumer {
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[]
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)
business_activities BusinessActivity[]
// devices ConsumerDevices[]
accounts ConsumerAccount[]
individual ConsumerIndividual?
legal ConsumerLegal?
@@ -43,15 +37,12 @@ model ConsumerIndividual {
last_name String
mobile_number String
national_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)
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt @db.Timestamp(0)
partner_id String
consumer_id String @id
consumer Consumer @relation(fields: [consumer_id], references: [id], onDelete: Cascade)
partner Partner @relation(fields: [partner_id], references: [id])
@@unique([mobile_number, consumer_id])
@@unique([partner_id, national_code])
@@ -61,107 +52,94 @@ model ConsumerIndividual {
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)
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt @db.Timestamp(0)
partner_id String
consumer_id String @id
consumer Consumer @relation(fields: [consumer_id], references: [id], onDelete: Cascade)
partner Partner @relation(fields: [partner_id], references: [id])
@@unique([partner_id, registration_code])
@@map("consumers_legal")
}
model BusinessActivity {
id String @id @default(ulid())
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)
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt() @db.Timestamp(0)
guild_id String
guild Guild @relation(fields: [guild_id], references: [id])
consumer_id String
consumer Consumer @relation(fields: [consumer_id], references: [id])
license_activation LicenseActivation?
complexes Complex[]
permission_businesses PermissionBusiness[]
goods Good[]
customer_individuals CustomerIndividual[]
customer_legals CustomerLegal[]
invoice_number_sequence Decimal @default(1) @db.Decimal(20, 0)
created_at DateTime @default(now()) @db.Timestamp(0)
updated_at DateTime @updatedAt @db.Timestamp(0)
guild_id String
consumer_id String
consumer Consumer @relation(fields: [consumer_id], references: [id])
guild Guild @relation(fields: [guild_id], references: [id])
complexes Complex[]
customer_individuals CustomerIndividual[]
customer_legals CustomerLegal[]
goods Good[]
license_activation LicenseActivation?
permission_businesses PermissionBusiness[]
@@unique([economic_code, consumer_id])
@@index([consumer_id], map: "business_activities_consumer_id_fkey")
@@index([guild_id], map: "business_activities_guild_id_fkey")
@@map("business_activities")
}
model Complex {
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)
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)
business_activity_id String
business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])
pos_list Pos[]
business_activity BusinessActivity @relation(fields: [business_activity_id], references: [id])
good_categories GoodCategory[]
permission_complexes PermissionComplex[]
pos_list Pos[]
@@index([business_activity_id], map: "complexes_business_activity_id_fkey")
@@map("complexes")
}
model Pos {
id String @id @default(ulid())
name String
model String?
serial_number String? @unique()
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])
device_id String?
device Device? @relation(fields: [device_id], references: [id])
provider_id String?
provider Provider? @relation(fields: [provider_id], references: [id])
account_id String @unique
account ConsumerAccount @relation(fields: [account_id], references: [id])
id String @id @default(ulid())
name String
model String?
serial_number String? @unique
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
device_id String?
provider_id String?
account_id String @unique
permission_pos PermissionPos[]
account ConsumerAccount @relation(fields: [account_id], references: [id])
complex Complex @relation(fields: [complex_id], references: [id])
device Device? @relation(fields: [device_id], references: [id])
provider Provider? @relation(fields: [provider_id], references: [id])
sales_invoices SalesInvoice[]
@@index([complex_id], map: "poses_complex_id_fkey")
@@index([device_id], map: "poses_device_id_fkey")
@@index([provider_id], map: "poses_provider_id_fkey")
@@map("poses")
}
model ConsumerAccountGoodFavorite {
created_at DateTime @default(now())
created_at DateTime @default(now())
consumer_account_id String
good_id String
consumer_account ConsumerAccount @relation(fields: [consumer_account_id], references: [id], onDelete: Cascade)
good Good @relation(fields: [good_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
@@id([consumer_account_id, good_id])
@@index([good_id])
@@index([consumer_account_id])
@@map("consumer_account_good_favorites")