init
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "sqlite"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model User {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
phone String @unique
|
||||
role String
|
||||
dealerId String?
|
||||
dealer Dealer? @relation("DealerStaff", fields: [dealerId], references: [id])
|
||||
currentOtp String?
|
||||
otpExpiresAt DateTime?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
assignments DealerAssignment[] @relation("SalesRepAssignments")
|
||||
stageLogs StageLog[]
|
||||
transfers StockTransfer[]
|
||||
events Event[]
|
||||
servicePoints ServicePoint[]
|
||||
}
|
||||
|
||||
model Dealer {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
code String @unique
|
||||
district String?
|
||||
address String?
|
||||
phone String?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
staff User[] @relation("DealerStaff")
|
||||
assignments DealerAssignment[]
|
||||
stocks Stock[]
|
||||
transfersFrom StockTransfer[] @relation("TransferFrom")
|
||||
transfersTo StockTransfer[] @relation("TransferTo")
|
||||
events Event[]
|
||||
}
|
||||
|
||||
model DealerAssignment {
|
||||
salesRepId String
|
||||
dealerId String
|
||||
createdAt DateTime @default(now())
|
||||
salesRep User @relation("SalesRepAssignments", fields: [salesRepId], references: [id], onDelete: Cascade)
|
||||
dealer Dealer @relation(fields: [dealerId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@id([salesRepId, dealerId])
|
||||
}
|
||||
|
||||
model Stock {
|
||||
id String @id @default(cuid())
|
||||
chassisNumber String @unique
|
||||
engineNumber String @unique
|
||||
model String
|
||||
color String
|
||||
currentDealerId String
|
||||
currentDealer Dealer @relation(fields: [currentDealerId], references: [id])
|
||||
dateReceived DateTime @default(now())
|
||||
currentStage String @default("received")
|
||||
paymentType String?
|
||||
leaseProviderType String?
|
||||
financeCompanyName String?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
stageLogs StageLog[]
|
||||
transfers StockTransfer[]
|
||||
}
|
||||
|
||||
model StageLog {
|
||||
id String @id @default(cuid())
|
||||
stockId String
|
||||
stock Stock @relation(fields: [stockId], references: [id], onDelete: Cascade)
|
||||
stage String
|
||||
loggedAt DateTime @default(now())
|
||||
actorId String?
|
||||
actor User? @relation(fields: [actorId], references: [id])
|
||||
}
|
||||
|
||||
model StockTransfer {
|
||||
id String @id @default(cuid())
|
||||
stockId String
|
||||
stock Stock @relation(fields: [stockId], references: [id], onDelete: Cascade)
|
||||
fromDealerId String
|
||||
fromDealer Dealer @relation("TransferFrom", fields: [fromDealerId], references: [id])
|
||||
toDealerId String
|
||||
toDealer Dealer @relation("TransferTo", fields: [toDealerId], references: [id])
|
||||
actorId String
|
||||
actor User @relation(fields: [actorId], references: [id])
|
||||
transferredAt DateTime @default(now())
|
||||
}
|
||||
|
||||
model Event {
|
||||
id String @id @default(cuid())
|
||||
dealerId String
|
||||
dealer Dealer @relation(fields: [dealerId], references: [id])
|
||||
planType String
|
||||
month Int?
|
||||
year Int?
|
||||
title String
|
||||
description String
|
||||
expense Float
|
||||
imageUrls String @default("[]")
|
||||
createdById String
|
||||
createdBy User @relation(fields: [createdById], references: [id])
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model ServicePoint {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
district String
|
||||
address String?
|
||||
phone String?
|
||||
notes String?
|
||||
createdById String
|
||||
createdBy User @relation(fields: [createdById], references: [id])
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
Reference in New Issue
Block a user