ifms-pti/server/prisma/schema.prisma

125 lines
3.3 KiB
Plaintext
Raw Normal View History

2020-11-06 20:34:32 +00:00
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model ResetToken {
id Int @id @default(autoincrement())
token String @unique
expiration DateTime
usedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
userId Int
creatorId Int
2020-12-15 20:01:39 +00:00
creator User @relation("resettoken_to_creator", fields: [creatorId], references: [id])
user User @relation("resettoken_to_user", fields: [userId], references: [id])
2020-11-06 20:34:32 +00:00
}
model User {
id Int @id @default(autoincrement())
2020-12-21 15:33:35 +00:00
lastLogin DateTime?
lastLoginPrior DateTime?
2020-11-06 20:34:32 +00:00
roles Json?
groups Json?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
accountExpires String?
badPasswordTime String?
badPwdCount String?
cn String?
department String?
description String?
displayName String?
distinguishedName String?
dn String?
extensionAttribute1 String?
extensionAttribute10 String?
extensionAttribute2 String?
extensionAttribute6 String?
extensionAttribute7 String?
givenName String?
homeDirectory String?
homeDrive String?
lastLogoff String?
lastLogon String?
lastLogonTimestamp String?
lockoutTime String?
logonCount String?
mail String?
name String?
objectCategory String?
objectGUID String?
objectSid String?
primaryGroupID String?
2020-11-10 20:35:54 +00:00
pwdLastSet DateTime?
2020-11-06 20:34:32 +00:00
sAMAccountName String @unique
sAMAccountType String?
sn String?
thumbnailPhoto String?
title String?
userAccountControl String?
userPrincipalName String?
whenChanged String?
whenCreated String?
2020-11-20 19:16:38 +00:00
createdTokens ResetToken[] @relation("resettoken_to_creator")
tokens ResetToken[] @relation("resettoken_to_user")
wifiDevices WifiDevice[] @relation("wifidevice_to_user")
2020-11-06 20:34:32 +00:00
}
model WifiDevice {
2020-11-19 15:23:31 +00:00
id Int @id @default(autoincrement())
oui String?
2020-12-15 20:01:39 +00:00
mac String @unique
2020-11-19 15:23:31 +00:00
hostname String?
2020-12-17 17:47:43 +00:00
firstSeen DateTime? @default(now())
2020-11-19 15:23:31 +00:00
lastSeen DateTime?
essid String?
ip String?
uptime String?
apName String?
status Status?
2020-12-15 20:01:39 +00:00
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
2020-11-19 15:23:31 +00:00
userId Int?
2020-12-15 20:01:39 +00:00
controller String @default("unknown")
user User? @relation("wifidevice_to_user", fields: [userId], references: [id])
2020-11-06 20:34:32 +00:00
}
enum Status {
ONLINE
2020-12-17 17:47:43 +00:00
RECENT
2020-11-06 20:34:32 +00:00
OFFLINE
}
2020-12-17 17:47:43 +00:00
model Log {
id Int @id @default(autoincrement())
timestamp DateTime @default(now())
level LogLevel @default(LOW)
tags Json?
message String
data Json?
}
enum LogLevel {
LOW
INFO
SUCCESS
WARNING
ERROR
}
model Statistic {
id Int @id @default(autoincrement())
timestamp DateTime @default(now())
onlineUsers Int
offlineUsers Int
totalUsers Int
totalWifiDevices Int
onlineWifiDevices Int
}