feat: add generated code
This commit is contained in:
183
backend/prisma/schema.prisma
Normal file
183
backend/prisma/schema.prisma
Normal file
@@ -0,0 +1,183 @@
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
enum EquipmentType {
|
||||
// Will be populated based on actual equipment types
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
enum EnumPeriodicityTO {
|
||||
// Will be populated based on actual periodicity values
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
enum EquipmentStatus {
|
||||
// Will be populated based on actual status values
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
enum Role {
|
||||
// Will be populated based on actual role values
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
enum CategoryPart {
|
||||
// Will be populated based on actual category values
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
enum RepairKind {
|
||||
// Will be populated based on actual repair kind values
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
enum RepairOrderStatus {
|
||||
Draft
|
||||
// Will be populated with other status values
|
||||
UNKNOWN
|
||||
}
|
||||
|
||||
model Equipment {
|
||||
id String @id @default(uuid())
|
||||
name String
|
||||
serialNumber String
|
||||
inventoryNumber String @unique
|
||||
equipmentType EquipmentType
|
||||
dateOfInspection DateTime? @db.Date
|
||||
periodicityTO EnumPeriodicityTO
|
||||
location String?
|
||||
status EquipmentStatus
|
||||
commissionedAt DateTime? @db.Date
|
||||
totalEngineHours Decimal?
|
||||
engineHoursSinceLastRepair Decimal?
|
||||
lastRepairAt DateTime? @db.Date
|
||||
notes String?
|
||||
|
||||
// Relations
|
||||
repairOrders RepairOrder[]
|
||||
changeEquipmentStatuses ChangeEquipmentStatus[]
|
||||
consumptionRegistrations ConsumptionRegistration[]
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model Employee {
|
||||
code String @id
|
||||
fullName String
|
||||
role Role
|
||||
position String
|
||||
price Float?
|
||||
phoneNumber Float?
|
||||
|
||||
// Self-referential relation for boss/subordinates
|
||||
bossCode String?
|
||||
boss Employee? @relation("EmployeeHierarchy", fields: [bossCode], references: [code])
|
||||
subordinates Employee[] @relation("EmployeeHierarchy")
|
||||
|
||||
// Relations
|
||||
confirmationDocuments ConfirmationDocument[]
|
||||
categoryResources CategoryResource[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model Part {
|
||||
id String @id @default(uuid())
|
||||
name String
|
||||
categories CategoryPart?
|
||||
price Float?
|
||||
description String?
|
||||
serialNumber String?
|
||||
|
||||
// Relations
|
||||
categoryResources CategoryResource[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model CategoryResource {
|
||||
id String @id @default(uuid())
|
||||
|
||||
// Relations
|
||||
partId String?
|
||||
part Part? @relation(fields: [partId], references: [id])
|
||||
employeeCode String?
|
||||
employee Employee? @relation(fields: [employeeCode], references: [code])
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model RepairOrder {
|
||||
id String @id @default(uuid())
|
||||
number String @unique
|
||||
date DateTime @db.Date
|
||||
equipmentId String
|
||||
equipment Equipment @relation(fields: [equipmentId], references: [id])
|
||||
repairKind RepairKind
|
||||
status RepairOrderStatus @default(Draft)
|
||||
plannedAt DateTime @db.Date
|
||||
startedAt DateTime? @db.Date
|
||||
completedAt DateTime? @db.Date
|
||||
contractor String?
|
||||
engineHoursAtRepair Decimal?
|
||||
description String?
|
||||
notes String?
|
||||
confirmed Boolean?
|
||||
|
||||
// Relations
|
||||
confirmationDocuments ConfirmationDocument[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model ChangeEquipmentStatus {
|
||||
id String @id @default(uuid())
|
||||
equipmentId String
|
||||
equipment Equipment @relation(fields: [equipmentId], references: [id])
|
||||
newStatus EquipmentStatus
|
||||
number String?
|
||||
comment String?
|
||||
date DateTime @db.Date
|
||||
responsible String?
|
||||
document String? // File path or reference
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model ConfirmationDocument {
|
||||
id String @id @default(uuid())
|
||||
number String?
|
||||
date DateTime @db.Date
|
||||
managerCode String?
|
||||
manager Employee? @relation(fields: [managerCode], references: [code])
|
||||
orderId String
|
||||
order RepairOrder @relation(fields: [orderId], references: [id])
|
||||
confirmed Boolean?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model ConsumptionRegistration {
|
||||
id String @id @default(uuid())
|
||||
number String?
|
||||
date DateTime @db.Date
|
||||
equipmentId String
|
||||
equipment Equipment @relation(fields: [equipmentId], references: [id])
|
||||
totalEngineHours Decimal?
|
||||
fuelConsumption Decimal?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
Reference in New Issue
Block a user