Добавлена возможность подключаться из вне
This commit is contained in:
61
backend/node_modules/.prisma/client/schema.prisma
generated
vendored
61
backend/node_modules/.prisma/client/schema.prisma
generated
vendored
@@ -9,7 +9,7 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
// Справочники базовых цен
|
||||
// Справочники базовых цен (СБЦ)
|
||||
model PriceBook {
|
||||
id String @id @default(uuid())
|
||||
code String @unique // SBC-GEODESY-2004, SBC-GEOLOGY-1999
|
||||
@@ -114,8 +114,9 @@ model User {
|
||||
|
||||
estimates Estimate[]
|
||||
chatSessions ChatSession[]
|
||||
ownedShares EstimateShare[] @relation("ShareOwner")
|
||||
receivedShares EstimateShare[] @relation("ShareReceiver")
|
||||
ownedShares EstimateShare[] @relation("ShareOwner")
|
||||
receivedShares EstimateShare[] @relation("ShareReceiver")
|
||||
shareNotes EstimateShareNote[]
|
||||
}
|
||||
|
||||
// Направления изысканий
|
||||
@@ -146,13 +147,17 @@ model Estimate {
|
||||
subtotal Decimal? @db.Decimal(14, 2) // Итого по изысканиям
|
||||
|
||||
// Коэффициенты и пересчет
|
||||
regionalCoef Decimal? @db.Decimal(6, 4) // Районный коэффициент
|
||||
inflationIndex Decimal? @db.Decimal(10, 4) // Индекс перевода в текущие цены
|
||||
inflationDocRef String? // Ссылка на документ с индексом
|
||||
companyCoef Decimal? @db.Decimal(6, 4) // Коэффициент компании (Газпром и т.д.)
|
||||
executorCoef Decimal? @db.Decimal(6, 4) // Коэффициент исполнителя
|
||||
regionalCoef Decimal? @db.Decimal(6, 4) // Районный коэффициент
|
||||
regionalCoefDocRef String? // Описание (С районным коэффициентом и т.д.)
|
||||
inflationIndex Decimal? @db.Decimal(10, 4) // Индекс перевода в текущие цены
|
||||
inflationDocRef String? // Ссылка на документ (Письмо Минстроя и т.д.)
|
||||
companyCoef Decimal? @db.Decimal(6, 4) // Коэффициент компании (Газпром и т.д.)
|
||||
companyCoefDocRef String? // Описание (Коэффициент ОАО «Газпром» №544 и т.д.)
|
||||
executorCoef Decimal? @db.Decimal(6, 4) // Коэффициент исполнителя
|
||||
executorCoefDocRef String? // Описание (Коэффициент ООО «ГеоВектор» и т.д.)
|
||||
|
||||
// Итоги
|
||||
withVat Boolean @default(true) // Смета с НДС (true) или без НДС (false)
|
||||
totalWithoutVat Decimal? @db.Decimal(14, 2) // Итого без НДС
|
||||
vatRate Decimal? @db.Decimal(4, 2) // Ставка НДС (18, 20, 7)
|
||||
vatAmount Decimal? @db.Decimal(14, 2) // Сумма НДС
|
||||
@@ -162,11 +167,26 @@ model Estimate {
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
owner User @relation(fields: [ownerId], references: [id], onDelete: Cascade)
|
||||
direction SurveyDirection @relation(fields: [directionId], references: [id])
|
||||
owner User @relation(fields: [ownerId], references: [id], onDelete: Cascade)
|
||||
direction SurveyDirection @relation(fields: [directionId], references: [id])
|
||||
items EstimateItem[]
|
||||
totals EstimateTotal[]
|
||||
shares EstimateShare[]
|
||||
versions EstimateVersion[]
|
||||
}
|
||||
|
||||
// История версий сметы (снимок при сохранении/пересчёте)
|
||||
model EstimateVersion {
|
||||
id String @id @default(uuid())
|
||||
estimateId String
|
||||
versionNumber Int // Порядковый номер версии по смете
|
||||
snapshot Json // Полный снимок: estimate + items + totals
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
estimate Estimate @relation(fields: [estimateId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([estimateId])
|
||||
@@index([estimateId, createdAt])
|
||||
}
|
||||
|
||||
// Шаринг сметы с другим пользователем
|
||||
@@ -177,14 +197,29 @@ model EstimateShare {
|
||||
sharedWithId String // С кем поделились
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
estimate Estimate @relation(fields: [estimateId], references: [id], onDelete: Cascade)
|
||||
sharedWith User @relation("ShareReceiver", fields: [sharedWithId], references: [id], onDelete: Cascade)
|
||||
owner User @relation("ShareOwner", fields: [ownerId], references: [id], onDelete: Cascade)
|
||||
estimate Estimate @relation(fields: [estimateId], references: [id], onDelete: Cascade)
|
||||
sharedWith User @relation("ShareReceiver", fields: [sharedWithId], references: [id], onDelete: Cascade)
|
||||
owner User @relation("ShareOwner", fields: [ownerId], references: [id], onDelete: Cascade)
|
||||
notes EstimateShareNote[]
|
||||
|
||||
@@unique([estimateId, sharedWithId])
|
||||
@@index([sharedWithId])
|
||||
}
|
||||
|
||||
// Заметки к шарингу сметы (кто что написал)
|
||||
model EstimateShareNote {
|
||||
id String @id @default(uuid())
|
||||
shareId String
|
||||
authorId String
|
||||
content String @db.Text
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
share EstimateShare @relation(fields: [shareId], references: [id], onDelete: Cascade)
|
||||
author User @relation(fields: [authorId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([shareId])
|
||||
}
|
||||
|
||||
// Позиции сметы
|
||||
model EstimateItem {
|
||||
id String @id @default(uuid())
|
||||
|
||||
Reference in New Issue
Block a user