76 lines
1.4 KiB
Plaintext
76 lines
1.4 KiB
Plaintext
// This is your Prisma schema file,
|
|
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
|
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
enum Role {
|
|
ADMIN // SERTI
|
|
INSPECTOR // Fiscal de contrato
|
|
USER // Usuário
|
|
}
|
|
|
|
model User {
|
|
id Int @id @default(autoincrement())
|
|
username String? @unique
|
|
|
|
mail String?
|
|
displayName String?
|
|
thumbnailPhoto String?
|
|
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @default(now()) @updatedAt
|
|
|
|
roles Role[] @default([USER])
|
|
}
|
|
|
|
model Printer {
|
|
id Int @id @default(autoincrement())
|
|
|
|
friendlyName String?
|
|
location String?
|
|
|
|
serialNumber String? @unique
|
|
hostname String?
|
|
ip String
|
|
model PrinterModel
|
|
|
|
blackTonerModel String?
|
|
cyanTonerModel String?
|
|
magentaTonerModel String?
|
|
yellowTonerModel String?
|
|
|
|
createdAt DateTime @default(now())
|
|
updatedAt DateTime @default(now()) @updatedAt
|
|
|
|
PrinterStatus PrinterStatus[]
|
|
}
|
|
|
|
enum PrinterModel {
|
|
m3655idn
|
|
m2040dn
|
|
p6235cdn
|
|
}
|
|
|
|
model PrinterStatus {
|
|
id Int @id @default(autoincrement())
|
|
|
|
tonerBlackLevel Int
|
|
tonerCyanLevel Int?
|
|
tonerMagentaLevel Int?
|
|
tonerYellowLevel Int?
|
|
|
|
counter Int
|
|
|
|
createdAt DateTime @default(now())
|
|
|
|
printerId Int
|
|
printer Printer @relation(fields: [printerId], references: [id])
|
|
}
|