Virtual Machines Database Schema

This commit is contained in:
headlessdev
2025-05-31 14:49:14 +02:00
parent e3795977f7
commit 7f98261f7b
9 changed files with 4475 additions and 14 deletions

File diff suppressed because one or more lines are too long

View File

@@ -163,6 +163,23 @@ exports.Prisma.ServerScalarFieldEnum = {
monitoringUrl: 'monitoringUrl'
};
exports.Prisma.VirtualMachineScalarFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
serverId: 'serverId',
icon: 'icon',
ipv4Address: 'ipv4Address',
osDetails: 'osDetails',
cpuDetails: 'cpuDetails',
gpuDetails: 'gpuDetails',
memoryDetails: 'memoryDetails',
storageDetails: 'storageDetails',
managementUrl: 'managementUrl',
monitoring: 'monitoring',
monitoringUrl: 'monitoringUrl'
};
exports.Prisma.ServerMonitoringScalarFieldEnum = {
id: 'id',
serverId: 'serverId',
@@ -178,6 +195,20 @@ exports.Prisma.ServerMonitoringScalarFieldEnum = {
timestamp: 'timestamp'
};
exports.Prisma.VirtualMachineMonitoringScalarFieldEnum = {
id: 'id',
virtualMachineId: 'virtualMachineId',
cpuPercentUsage: 'cpuPercentUsage',
gpuPercentUsage: 'gpuPercentUsage',
memoryUsage: 'memoryUsage',
memoryPercentUsage: 'memoryPercentUsage',
diskUsage: 'diskUsage',
diskPercentUsage: 'diskPercentUsage',
online: 'online',
uptimeSeconds: 'uptimeSeconds',
timestamp: 'timestamp'
};
exports.Prisma.ApplicationScalarFieldEnum = {
id: 'id',
serverId: 'serverId',
@@ -257,6 +288,7 @@ exports.Prisma.GeneralApplicationMonitoringSettingsScalarFieldEnum = {
exports.Prisma.ServerMonitoringSettingsScalarFieldEnum = {
id: 'id',
serverId: 'serverId',
virtualMachineId: 'virtualMachineId',
generalSettingsId: 'generalSettingsId'
};
@@ -301,7 +333,9 @@ exports.Prisma.ModelName = {
Site: 'Site',
Network: 'Network',
Server: 'Server',
VirtualMachine: 'VirtualMachine',
ServerMonitoring: 'ServerMonitoring',
VirtualMachineMonitoring: 'VirtualMachineMonitoring',
Application: 'Application',
ApplicationMonitoring: 'ApplicationMonitoring',
ServerMonitoringNotification: 'ServerMonitoringNotification',

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"name": "prisma-client-d1e43606f7a3013467af671b0e6bb25d802256e22d857bc4d3e40d92038c4fbf",
"name": "prisma-client-e3080283d00fbb54f90aec0a7cb9f0267d5a3f3765e8526acffa91eb02bd7194",
"main": "index.js",
"types": "index.d.ts",
"browser": "index-browser.js",

View File

@@ -69,10 +69,33 @@ model Server {
monitoringData ServerMonitoring[]
applications Application[]
monitoringSettings ServerMonitoringSettings[]
virtualMachines VirtualMachine[]
@@map("servers")
}
model VirtualMachine {
id Int @id @default(autoincrement())
name String
description String?
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
serverId Int
icon String?
ipv4Address String?
osDetails String?
cpuDetails String?
gpuDetails String?
memoryDetails String?
storageDetails String?
managementUrl String?
monitoring Boolean @default(false)
monitoringUrl String?
monitoringSettings ServerMonitoringSettings[]
monitoringData VirtualMachineMonitoring[]
@@map("virtual_machines")
}
model ServerMonitoring {
id Int @id @default(autoincrement())
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
@@ -93,6 +116,25 @@ model ServerMonitoring {
@@map("server_monitoring")
}
model VirtualMachineMonitoring {
id Int @id @default(autoincrement())
virtualMachine VirtualMachine @relation(fields: [virtualMachineId], references: [id], onDelete: Cascade)
virtualMachineId Int
cpuPercentUsage Float
gpuPercentUsage Float
memoryUsage Float
memoryPercentUsage Float
diskUsage Float
diskPercentUsage Float
online Boolean
uptimeSeconds Int
timestamp DateTime @default(now())
@@index([virtualMachineId, timestamp])
@@index([online])
@@map("virtual_machine_monitoring")
}
model Application {
id Int @id @default(autoincrement())
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
@@ -205,6 +247,8 @@ model ServerMonitoringSettings {
id Int @id @default(autoincrement())
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
serverId Int
virtualMachine VirtualMachine @relation(fields: [virtualMachineId], references: [id], onDelete: Cascade)
virtualMachineId Int
generalSettings GeneralServerMonitoringSettings @relation(fields: [generalSettingsId], references: [id], onDelete: Cascade)
generalSettingsId Int
}

View File

@@ -163,6 +163,23 @@ exports.Prisma.ServerScalarFieldEnum = {
monitoringUrl: 'monitoringUrl'
};
exports.Prisma.VirtualMachineScalarFieldEnum = {
id: 'id',
name: 'name',
description: 'description',
serverId: 'serverId',
icon: 'icon',
ipv4Address: 'ipv4Address',
osDetails: 'osDetails',
cpuDetails: 'cpuDetails',
gpuDetails: 'gpuDetails',
memoryDetails: 'memoryDetails',
storageDetails: 'storageDetails',
managementUrl: 'managementUrl',
monitoring: 'monitoring',
monitoringUrl: 'monitoringUrl'
};
exports.Prisma.ServerMonitoringScalarFieldEnum = {
id: 'id',
serverId: 'serverId',
@@ -178,6 +195,20 @@ exports.Prisma.ServerMonitoringScalarFieldEnum = {
timestamp: 'timestamp'
};
exports.Prisma.VirtualMachineMonitoringScalarFieldEnum = {
id: 'id',
virtualMachineId: 'virtualMachineId',
cpuPercentUsage: 'cpuPercentUsage',
gpuPercentUsage: 'gpuPercentUsage',
memoryUsage: 'memoryUsage',
memoryPercentUsage: 'memoryPercentUsage',
diskUsage: 'diskUsage',
diskPercentUsage: 'diskPercentUsage',
online: 'online',
uptimeSeconds: 'uptimeSeconds',
timestamp: 'timestamp'
};
exports.Prisma.ApplicationScalarFieldEnum = {
id: 'id',
serverId: 'serverId',
@@ -257,6 +288,7 @@ exports.Prisma.GeneralApplicationMonitoringSettingsScalarFieldEnum = {
exports.Prisma.ServerMonitoringSettingsScalarFieldEnum = {
id: 'id',
serverId: 'serverId',
virtualMachineId: 'virtualMachineId',
generalSettingsId: 'generalSettingsId'
};
@@ -301,7 +333,9 @@ exports.Prisma.ModelName = {
Site: 'Site',
Network: 'Network',
Server: 'Server',
VirtualMachine: 'VirtualMachine',
ServerMonitoring: 'ServerMonitoring',
VirtualMachineMonitoring: 'VirtualMachineMonitoring',
Application: 'Application',
ApplicationMonitoring: 'ApplicationMonitoring',
ServerMonitoringNotification: 'ServerMonitoringNotification',