From d045aad2dd3eab67fa6b56dc16eca3295ef8d62d Mon Sep 17 00:00:00 2001 From: headlesdev Date: Mon, 26 May 2025 00:34:12 +0200 Subject: [PATCH] Monitoring Settings API Routes --- .../settings_applications_edit/route.ts | 37 ++ .../settings_applications_get/route.ts | 11 + .../settings_server_edit/route.ts | 49 ++ .../settings_server_get/route.ts | 11 + prisma/generated/prisma/edge.js | 22 +- prisma/generated/prisma/index-browser.js | 16 +- prisma/generated/prisma/index.d.ts | 468 +++++++++++++++--- prisma/generated/prisma/index.js | 22 +- prisma/generated/prisma/package.json | 2 +- prisma/generated/prisma/schema.prisma | 36 +- prisma/generated/prisma/wasm.js | 16 +- .../migration.sql | 44 ++ .../20250525222820_fix/migration.sql | 12 + prisma/schema.prisma | 16 +- 14 files changed, 673 insertions(+), 89 deletions(-) create mode 100644 app/api/notifications/settings_applications_edit/route.ts create mode 100644 app/api/notifications/settings_applications_get/route.ts create mode 100644 app/api/notifications/settings_server_edit/route.ts create mode 100644 app/api/notifications/settings_server_get/route.ts create mode 100644 prisma/migrations/20250525215445_updated_notification_settings/migration.sql create mode 100644 prisma/migrations/20250525222820_fix/migration.sql diff --git a/app/api/notifications/settings_applications_edit/route.ts b/app/api/notifications/settings_applications_edit/route.ts new file mode 100644 index 0000000..56ff448 --- /dev/null +++ b/app/api/notifications/settings_applications_edit/route.ts @@ -0,0 +1,37 @@ +import { NextRequest, NextResponse } from "next/server"; +import prisma from "@/app/prisma"; +import { z } from "zod/v4" + +const schema = z.object({ + statusChange: z.boolean(), + latencyLimit: z.number().min(0).max(100), + notificationTextStatus: z.string(), + notificationTextLatency: z.string(), + notificationLatency: z.boolean(), +}) + +export async function POST(request: NextRequest) { + try { + const body = await request.json(); + const { statusChange, latencyLimit, notificationTextStatus, notificationTextLatency, notificationLatency } = schema.parse(body); + + const existingNotification = await prisma.applicationMonitoringNotification.findFirst(); + if(!existingNotification) { + const notification = await prisma.applicationMonitoringNotification.create({ + data: { statusChange, latencyLimit, notificationTextStatus, notificationTextLatency, notificationLatency }, + }); + return NextResponse.json({ notification }, { status: 200 }); + } else { + const notification = await prisma.applicationMonitoringNotification.update({ + where: { id: existingNotification.id }, + data: { statusChange, latencyLimit, notificationTextStatus, notificationTextLatency, notificationLatency }, + }); + return NextResponse.json({ notification }, { status: 200 }); + } + } catch (error) { + if(error instanceof z.ZodError) { + return NextResponse.json({ error: error.issues[0].message }, { status: 400 }); + } + return NextResponse.json({ error: "Failed to update application monitoring notification" }, { status: 500 }); + } +} \ No newline at end of file diff --git a/app/api/notifications/settings_applications_get/route.ts b/app/api/notifications/settings_applications_get/route.ts new file mode 100644 index 0000000..a6fe107 --- /dev/null +++ b/app/api/notifications/settings_applications_get/route.ts @@ -0,0 +1,11 @@ +import { NextRequest, NextResponse } from "next/server"; +import prisma from "@/app/prisma"; + +export async function GET(request: NextRequest) { + try { + const notification = await prisma.applicationMonitoringNotification.findFirst(); + return NextResponse.json({ notification }, { status: 200 }); + } catch (error) { + return NextResponse.json({ error: "Failed to get application monitoring notification" }, { status: 500 }); + } +} \ No newline at end of file diff --git a/app/api/notifications/settings_server_edit/route.ts b/app/api/notifications/settings_server_edit/route.ts new file mode 100644 index 0000000..f3dcd9e --- /dev/null +++ b/app/api/notifications/settings_server_edit/route.ts @@ -0,0 +1,49 @@ +import { NextRequest, NextResponse } from "next/server"; +import prisma from "@/app/prisma"; +import { z } from "zod/v4" + +const schema = z.object({ + statusChange: z.boolean(), + cpuLimit: z.number().min(0).max(100), + gpuLimit: z.number().min(0).max(100), + memoryLimit: z.number().min(0).max(100), + diskLimit: z.number().min(0).max(100), + temperatureLimit: z.number().min(0).max(120), + notificationTextStatus: z.string(), + notificationTextCpu: z.string(), + notificationTextGpu: z.string(), + notificationTextMemory: z.string(), + notificationTextDisk: z.string(), + notificationTextTemperature: z.string(), + notificationCpu: z.boolean(), + notificationGpu: z.boolean(), + notificationMemory: z.boolean(), + notificationDisk: z.boolean(), + notificationTemperature: z.boolean(), +}) + +export async function POST(request: NextRequest) { + try { + const body = await request.json(); + const { statusChange, cpuLimit, gpuLimit, memoryLimit, diskLimit, temperatureLimit, notificationTextStatus, notificationTextCpu, notificationTextGpu, notificationTextMemory, notificationTextDisk, notificationTextTemperature, notificationCpu, notificationGpu, notificationMemory, notificationDisk, notificationTemperature } = schema.parse(body); + + const existingNotification = await prisma.serverMonitoringNotification.findFirst(); + if(!existingNotification) { + const notification = await prisma.serverMonitoringNotification.create({ + data: { statusChange, cpuLimit, gpuLimit, memoryLimit, diskLimit, temperatureLimit, notificationTextStatus, notificationTextCpu, notificationTextGpu, notificationTextMemory, notificationTextDisk, notificationTextTemperature, notificationCpu, notificationGpu, notificationMemory, notificationDisk, notificationTemperature }, + }); + return NextResponse.json({ notification }, { status: 200 }); + } else { + const notification = await prisma.serverMonitoringNotification.update({ + where: { id: existingNotification.id }, + data: { statusChange, cpuLimit, gpuLimit, memoryLimit, diskLimit, temperatureLimit, notificationTextStatus, notificationTextCpu, notificationTextGpu, notificationTextMemory, notificationTextDisk, notificationTextTemperature, notificationCpu, notificationGpu, notificationMemory, notificationDisk, notificationTemperature }, + }); + return NextResponse.json({ notification }, { status: 200 }); + } + } catch (error) { + if(error instanceof z.ZodError) { + return NextResponse.json({ error: error.issues[0].message }, { status: 400 }); + } + return NextResponse.json({ error: "Failed to update server monitoring notification" }, { status: 500 }); + } +} \ No newline at end of file diff --git a/app/api/notifications/settings_server_get/route.ts b/app/api/notifications/settings_server_get/route.ts new file mode 100644 index 0000000..b0bbb47 --- /dev/null +++ b/app/api/notifications/settings_server_get/route.ts @@ -0,0 +1,11 @@ +import { NextRequest, NextResponse } from "next/server"; +import prisma from "@/app/prisma"; + +export async function GET(request: NextRequest) { + try { + const notification = await prisma.serverMonitoringNotification.findFirst(); + return NextResponse.json({ notification }, { status: 200 }); + } catch (error) { + return NextResponse.json({ error: "Failed to get server monitoring notification" }, { status: 500 }); + } +} \ No newline at end of file diff --git a/prisma/generated/prisma/edge.js b/prisma/generated/prisma/edge.js index 41e5d9c..02cbc05 100644 --- a/prisma/generated/prisma/edge.js +++ b/prisma/generated/prisma/edge.js @@ -176,14 +176,26 @@ exports.Prisma.ServerMonitoringNotificationScalarFieldEnum = { memoryLimit: 'memoryLimit', diskLimit: 'diskLimit', temperatureLimit: 'temperatureLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextCpu: 'notificationTextCpu', + notificationTextGpu: 'notificationTextGpu', + notificationTextMemory: 'notificationTextMemory', + notificationTextDisk: 'notificationTextDisk', + notificationTextTemperature: 'notificationTextTemperature', + notificationCpu: 'notificationCpu', + notificationGpu: 'notificationGpu', + notificationMemory: 'notificationMemory', + notificationDisk: 'notificationDisk', + notificationTemperature: 'notificationTemperature' }; exports.Prisma.ApplicationMonitoringNotificationScalarFieldEnum = { id: 'id', statusChange: 'statusChange', latencyLimit: 'latencyLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextLatency: 'notificationTextLatency', + notificationLatency: 'notificationLatency' }; exports.Prisma.NotificationProviderScalarFieldEnum = { @@ -290,13 +302,13 @@ const config = { } } }, - "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"./generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id String @id @default(cuid())\n username String @unique\n name String\n email String @unique\n password String\n lastLogin DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"users\")\n}\n\nmodel Site {\n id Int @id @default(autoincrement())\n name String\n description String?\n networks Network[]\n\n @@map(\"sites\")\n}\n\nmodel Network {\n id Int @id @default(autoincrement())\n site Site @relation(fields: [siteId], references: [id], onDelete: Cascade)\n siteId Int\n name String\n ipv4Subnet String?\n ipv6Subnet String?\n gateway String?\n servers Server[]\n\n @@map(\"networks\")\n}\n\nmodel Server {\n id Int @id @default(autoincrement())\n network Network @relation(fields: [networkId], references: [id], onDelete: Cascade)\n networkId Int\n name String\n description String?\n icon String?\n ipv4Address String?\n osDetails String?\n cpuDetails String?\n gpuDetails String?\n memoryDetails String?\n storageDetails String?\n managementUrl String?\n monitoring Boolean @default(false)\n monitoringUrl String?\n monitoringData ServerMonitoring[]\n applications Application[]\n\n @@map(\"servers\")\n}\n\nmodel ServerMonitoring {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n cpuPercentUsage Float\n gpuPercentUsage Float\n memoryUsage Float\n memoryPercentUsage Float\n diskUsage Float\n diskPercentUsage Float\n temperature Float\n online Boolean\n uptimeSeconds Int\n timestamp DateTime @default(now())\n\n @@index([serverId, timestamp])\n @@index([online])\n @@map(\"server_monitoring\")\n}\n\nmodel Application {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n name String\n description String?\n icon String?\n url String?\n monitoring Boolean @default(false)\n monitoringData ApplicationMonitoring[]\n\n @@map(\"applications\")\n}\n\nmodel ApplicationMonitoring {\n id Int @id @default(autoincrement())\n application Application @relation(fields: [applicationId], references: [id], onDelete: Cascade)\n applicationId Int\n online Boolean\n latency Float\n timestamp DateTime @default(now())\n\n @@index([applicationId, timestamp])\n @@index([online])\n @@map(\"application_monitoring\")\n}\n\nmodel ServerMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n cpuLimit Float\n gpuLimit Float\n memoryLimit Float\n diskLimit Float\n temperatureLimit Float\n notificationText String\n\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\n notificationText String\n\n @@map(\"application_monitoring_notifications\")\n}\n\nmodel NotificationProvider {\n id Int @id @default(autoincrement())\n name String\n type NotificationType\n config Json\n tests NotificationTest[]\n\n @@map(\"notification_providers\")\n}\n\nmodel NotificationTest {\n id Int @id @default(autoincrement())\n notificationProvider NotificationProvider @relation(fields: [notificationProviderId], references: [id], onDelete: Cascade)\n notificationProviderId Int\n sent Boolean @default(false)\n success Boolean?\n\n @@map(\"notification_tests\")\n}\n\nenum NotificationType {\n TELEGRAM\n NTFY\n SMTP\n}\n", - "inlineSchemaHash": "49d3ec386d9a83770836accd61aa46cc4f877184ffa768b7981460c2593961db", + "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"./generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id String @id @default(cuid())\n username String @unique\n name String\n email String @unique\n password String\n lastLogin DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"users\")\n}\n\nmodel Site {\n id Int @id @default(autoincrement())\n name String\n description String?\n networks Network[]\n\n @@map(\"sites\")\n}\n\nmodel Network {\n id Int @id @default(autoincrement())\n site Site @relation(fields: [siteId], references: [id], onDelete: Cascade)\n siteId Int\n name String\n ipv4Subnet String?\n ipv6Subnet String?\n gateway String?\n servers Server[]\n\n @@map(\"networks\")\n}\n\nmodel Server {\n id Int @id @default(autoincrement())\n network Network @relation(fields: [networkId], references: [id], onDelete: Cascade)\n networkId Int\n name String\n description String?\n icon String?\n ipv4Address String?\n osDetails String?\n cpuDetails String?\n gpuDetails String?\n memoryDetails String?\n storageDetails String?\n managementUrl String?\n monitoring Boolean @default(false)\n monitoringUrl String?\n monitoringData ServerMonitoring[]\n applications Application[]\n\n @@map(\"servers\")\n}\n\nmodel ServerMonitoring {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n cpuPercentUsage Float\n gpuPercentUsage Float\n memoryUsage Float\n memoryPercentUsage Float\n diskUsage Float\n diskPercentUsage Float\n temperature Float\n online Boolean\n uptimeSeconds Int\n timestamp DateTime @default(now())\n\n @@index([serverId, timestamp])\n @@index([online])\n @@map(\"server_monitoring\")\n}\n\nmodel Application {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n name String\n description String?\n icon String?\n url String?\n monitoring Boolean @default(false)\n monitoringData ApplicationMonitoring[]\n\n @@map(\"applications\")\n}\n\nmodel ApplicationMonitoring {\n id Int @id @default(autoincrement())\n application Application @relation(fields: [applicationId], references: [id], onDelete: Cascade)\n applicationId Int\n online Boolean\n latency Float\n timestamp DateTime @default(now())\n\n @@index([applicationId, timestamp])\n @@index([online])\n @@map(\"application_monitoring\")\n}\n\nmodel ServerMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n cpuLimit Float\n gpuLimit Float\n memoryLimit Float\n diskLimit Float\n temperatureLimit Float\n notificationTextStatus String\n notificationTextCpu String\n notificationTextGpu String\n notificationTextMemory String\n notificationTextDisk String\n notificationTextTemperature String\n notificationCpu Boolean\n notificationGpu Boolean\n notificationMemory Boolean\n notificationDisk Boolean\n notificationTemperature Boolean\n\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\n notificationTextStatus String\n notificationTextLatency String\n notificationLatency Boolean\n\n @@map(\"application_monitoring_notifications\")\n}\n\nmodel NotificationProvider {\n id Int @id @default(autoincrement())\n name String\n type NotificationType\n config Json\n tests NotificationTest[]\n\n @@map(\"notification_providers\")\n}\n\nmodel NotificationTest {\n id Int @id @default(autoincrement())\n notificationProvider NotificationProvider @relation(fields: [notificationProviderId], references: [id], onDelete: Cascade)\n notificationProviderId Int\n sent Boolean @default(false)\n success Boolean?\n\n @@map(\"notification_tests\")\n}\n\nenum NotificationType {\n TELEGRAM\n NTFY\n SMTP\n}\n", + "inlineSchemaHash": "17e8e4308a12362544481127f1d1a4261ca793556407a5e36d8cb6b1290f6b73", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":\"users\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Site\":{\"dbName\":\"sites\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Network\":{\"dbName\":\"networks\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"site\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Site\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[\"siteId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"siteId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv6Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gateway\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"servers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Server\":{\"dbName\":\"servers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"network\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[\"networkId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networkId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"storageDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"managementUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerMonitoring\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoring\":{\"dbName\":\"server_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uptimeSeconds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Application\":{\"dbName\":\"applications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ApplicationMonitoring\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoring\":{\"dbName\":\"application_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"application\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[\"applicationId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applicationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoringNotification\":{\"dbName\":\"server_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperatureLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoringNotification\":{\"dbName\":\"application_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latencyLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationProvider\":{\"dbName\":\"notification_providers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"config\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationTest\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationTest\":{\"dbName\":\"notification_tests\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationProvider\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[\"notificationProviderId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"dbName\":null},{\"name\":\"NTFY\",\"dbName\":null},{\"name\":\"SMTP\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":\"users\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Site\":{\"dbName\":\"sites\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Network\":{\"dbName\":\"networks\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"site\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Site\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[\"siteId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"siteId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv6Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gateway\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"servers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Server\":{\"dbName\":\"servers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"network\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[\"networkId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networkId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"storageDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"managementUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerMonitoring\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoring\":{\"dbName\":\"server_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uptimeSeconds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Application\":{\"dbName\":\"applications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ApplicationMonitoring\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoring\":{\"dbName\":\"application_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"application\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[\"applicationId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applicationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoringNotification\":{\"dbName\":\"server_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperatureLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextStatus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextCpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextGpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextMemory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextDisk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextTemperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationCpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationGpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationMemory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationDisk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTemperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoringNotification\":{\"dbName\":\"application_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latencyLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextStatus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextLatency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationLatency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationProvider\":{\"dbName\":\"notification_providers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"config\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationTest\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationTest\":{\"dbName\":\"notification_tests\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationProvider\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[\"notificationProviderId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"dbName\":null},{\"name\":\"NTFY\",\"dbName\":null},{\"name\":\"SMTP\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/prisma/generated/prisma/index-browser.js b/prisma/generated/prisma/index-browser.js index 87e9730..95baa1f 100644 --- a/prisma/generated/prisma/index-browser.js +++ b/prisma/generated/prisma/index-browser.js @@ -204,14 +204,26 @@ exports.Prisma.ServerMonitoringNotificationScalarFieldEnum = { memoryLimit: 'memoryLimit', diskLimit: 'diskLimit', temperatureLimit: 'temperatureLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextCpu: 'notificationTextCpu', + notificationTextGpu: 'notificationTextGpu', + notificationTextMemory: 'notificationTextMemory', + notificationTextDisk: 'notificationTextDisk', + notificationTextTemperature: 'notificationTextTemperature', + notificationCpu: 'notificationCpu', + notificationGpu: 'notificationGpu', + notificationMemory: 'notificationMemory', + notificationDisk: 'notificationDisk', + notificationTemperature: 'notificationTemperature' }; exports.Prisma.ApplicationMonitoringNotificationScalarFieldEnum = { id: 'id', statusChange: 'statusChange', latencyLimit: 'latencyLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextLatency: 'notificationTextLatency', + notificationLatency: 'notificationLatency' }; exports.Prisma.NotificationProviderScalarFieldEnum = { diff --git a/prisma/generated/prisma/index.d.ts b/prisma/generated/prisma/index.d.ts index 6631906..654a084 100644 --- a/prisma/generated/prisma/index.d.ts +++ b/prisma/generated/prisma/index.d.ts @@ -9991,7 +9991,17 @@ export namespace Prisma { memoryLimit: number | null diskLimit: number | null temperatureLimit: number | null - notificationText: string | null + notificationTextStatus: string | null + notificationTextCpu: string | null + notificationTextGpu: string | null + notificationTextMemory: string | null + notificationTextDisk: string | null + notificationTextTemperature: string | null + notificationCpu: boolean | null + notificationGpu: boolean | null + notificationMemory: boolean | null + notificationDisk: boolean | null + notificationTemperature: boolean | null } export type ServerMonitoringNotificationMaxAggregateOutputType = { @@ -10002,7 +10012,17 @@ export namespace Prisma { memoryLimit: number | null diskLimit: number | null temperatureLimit: number | null - notificationText: string | null + notificationTextStatus: string | null + notificationTextCpu: string | null + notificationTextGpu: string | null + notificationTextMemory: string | null + notificationTextDisk: string | null + notificationTextTemperature: string | null + notificationCpu: boolean | null + notificationGpu: boolean | null + notificationMemory: boolean | null + notificationDisk: boolean | null + notificationTemperature: boolean | null } export type ServerMonitoringNotificationCountAggregateOutputType = { @@ -10013,7 +10033,17 @@ export namespace Prisma { memoryLimit: number diskLimit: number temperatureLimit: number - notificationText: number + notificationTextStatus: number + notificationTextCpu: number + notificationTextGpu: number + notificationTextMemory: number + notificationTextDisk: number + notificationTextTemperature: number + notificationCpu: number + notificationGpu: number + notificationMemory: number + notificationDisk: number + notificationTemperature: number _all: number } @@ -10044,7 +10074,17 @@ export namespace Prisma { memoryLimit?: true diskLimit?: true temperatureLimit?: true - notificationText?: true + notificationTextStatus?: true + notificationTextCpu?: true + notificationTextGpu?: true + notificationTextMemory?: true + notificationTextDisk?: true + notificationTextTemperature?: true + notificationCpu?: true + notificationGpu?: true + notificationMemory?: true + notificationDisk?: true + notificationTemperature?: true } export type ServerMonitoringNotificationMaxAggregateInputType = { @@ -10055,7 +10095,17 @@ export namespace Prisma { memoryLimit?: true diskLimit?: true temperatureLimit?: true - notificationText?: true + notificationTextStatus?: true + notificationTextCpu?: true + notificationTextGpu?: true + notificationTextMemory?: true + notificationTextDisk?: true + notificationTextTemperature?: true + notificationCpu?: true + notificationGpu?: true + notificationMemory?: true + notificationDisk?: true + notificationTemperature?: true } export type ServerMonitoringNotificationCountAggregateInputType = { @@ -10066,7 +10116,17 @@ export namespace Prisma { memoryLimit?: true diskLimit?: true temperatureLimit?: true - notificationText?: true + notificationTextStatus?: true + notificationTextCpu?: true + notificationTextGpu?: true + notificationTextMemory?: true + notificationTextDisk?: true + notificationTextTemperature?: true + notificationCpu?: true + notificationGpu?: true + notificationMemory?: true + notificationDisk?: true + notificationTemperature?: true _all?: true } @@ -10164,7 +10224,17 @@ export namespace Prisma { memoryLimit: number diskLimit: number temperatureLimit: number - notificationText: string + notificationTextStatus: string + notificationTextCpu: string + notificationTextGpu: string + notificationTextMemory: string + notificationTextDisk: string + notificationTextTemperature: string + notificationCpu: boolean + notificationGpu: boolean + notificationMemory: boolean + notificationDisk: boolean + notificationTemperature: boolean _count: ServerMonitoringNotificationCountAggregateOutputType | null _avg: ServerMonitoringNotificationAvgAggregateOutputType | null _sum: ServerMonitoringNotificationSumAggregateOutputType | null @@ -10194,7 +10264,17 @@ export namespace Prisma { memoryLimit?: boolean diskLimit?: boolean temperatureLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextCpu?: boolean + notificationTextGpu?: boolean + notificationTextMemory?: boolean + notificationTextDisk?: boolean + notificationTextTemperature?: boolean + notificationCpu?: boolean + notificationGpu?: boolean + notificationMemory?: boolean + notificationDisk?: boolean + notificationTemperature?: boolean }, ExtArgs["result"]["serverMonitoringNotification"]> export type ServerMonitoringNotificationSelectCreateManyAndReturn = $Extensions.GetSelect<{ @@ -10205,7 +10285,17 @@ export namespace Prisma { memoryLimit?: boolean diskLimit?: boolean temperatureLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextCpu?: boolean + notificationTextGpu?: boolean + notificationTextMemory?: boolean + notificationTextDisk?: boolean + notificationTextTemperature?: boolean + notificationCpu?: boolean + notificationGpu?: boolean + notificationMemory?: boolean + notificationDisk?: boolean + notificationTemperature?: boolean }, ExtArgs["result"]["serverMonitoringNotification"]> export type ServerMonitoringNotificationSelectUpdateManyAndReturn = $Extensions.GetSelect<{ @@ -10216,7 +10306,17 @@ export namespace Prisma { memoryLimit?: boolean diskLimit?: boolean temperatureLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextCpu?: boolean + notificationTextGpu?: boolean + notificationTextMemory?: boolean + notificationTextDisk?: boolean + notificationTextTemperature?: boolean + notificationCpu?: boolean + notificationGpu?: boolean + notificationMemory?: boolean + notificationDisk?: boolean + notificationTemperature?: boolean }, ExtArgs["result"]["serverMonitoringNotification"]> export type ServerMonitoringNotificationSelectScalar = { @@ -10227,10 +10327,20 @@ export namespace Prisma { memoryLimit?: boolean diskLimit?: boolean temperatureLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextCpu?: boolean + notificationTextGpu?: boolean + notificationTextMemory?: boolean + notificationTextDisk?: boolean + notificationTextTemperature?: boolean + notificationCpu?: boolean + notificationGpu?: boolean + notificationMemory?: boolean + notificationDisk?: boolean + notificationTemperature?: boolean } - export type ServerMonitoringNotificationOmit = $Extensions.GetOmit<"id" | "statusChange" | "cpuLimit" | "gpuLimit" | "memoryLimit" | "diskLimit" | "temperatureLimit" | "notificationText", ExtArgs["result"]["serverMonitoringNotification"]> + export type ServerMonitoringNotificationOmit = $Extensions.GetOmit<"id" | "statusChange" | "cpuLimit" | "gpuLimit" | "memoryLimit" | "diskLimit" | "temperatureLimit" | "notificationTextStatus" | "notificationTextCpu" | "notificationTextGpu" | "notificationTextMemory" | "notificationTextDisk" | "notificationTextTemperature" | "notificationCpu" | "notificationGpu" | "notificationMemory" | "notificationDisk" | "notificationTemperature", ExtArgs["result"]["serverMonitoringNotification"]> export type $ServerMonitoringNotificationPayload = { name: "ServerMonitoringNotification" @@ -10243,7 +10353,17 @@ export namespace Prisma { memoryLimit: number diskLimit: number temperatureLimit: number - notificationText: string + notificationTextStatus: string + notificationTextCpu: string + notificationTextGpu: string + notificationTextMemory: string + notificationTextDisk: string + notificationTextTemperature: string + notificationCpu: boolean + notificationGpu: boolean + notificationMemory: boolean + notificationDisk: boolean + notificationTemperature: boolean }, ExtArgs["result"]["serverMonitoringNotification"]> composites: {} } @@ -10674,7 +10794,17 @@ export namespace Prisma { readonly memoryLimit: FieldRef<"ServerMonitoringNotification", 'Float'> readonly diskLimit: FieldRef<"ServerMonitoringNotification", 'Float'> readonly temperatureLimit: FieldRef<"ServerMonitoringNotification", 'Float'> - readonly notificationText: FieldRef<"ServerMonitoringNotification", 'String'> + readonly notificationTextStatus: FieldRef<"ServerMonitoringNotification", 'String'> + readonly notificationTextCpu: FieldRef<"ServerMonitoringNotification", 'String'> + readonly notificationTextGpu: FieldRef<"ServerMonitoringNotification", 'String'> + readonly notificationTextMemory: FieldRef<"ServerMonitoringNotification", 'String'> + readonly notificationTextDisk: FieldRef<"ServerMonitoringNotification", 'String'> + readonly notificationTextTemperature: FieldRef<"ServerMonitoringNotification", 'String'> + readonly notificationCpu: FieldRef<"ServerMonitoringNotification", 'Boolean'> + readonly notificationGpu: FieldRef<"ServerMonitoringNotification", 'Boolean'> + readonly notificationMemory: FieldRef<"ServerMonitoringNotification", 'Boolean'> + readonly notificationDisk: FieldRef<"ServerMonitoringNotification", 'Boolean'> + readonly notificationTemperature: FieldRef<"ServerMonitoringNotification", 'Boolean'> } @@ -11067,21 +11197,27 @@ export namespace Prisma { id: number | null statusChange: boolean | null latencyLimit: number | null - notificationText: string | null + notificationTextStatus: string | null + notificationTextLatency: string | null + notificationLatency: boolean | null } export type ApplicationMonitoringNotificationMaxAggregateOutputType = { id: number | null statusChange: boolean | null latencyLimit: number | null - notificationText: string | null + notificationTextStatus: string | null + notificationTextLatency: string | null + notificationLatency: boolean | null } export type ApplicationMonitoringNotificationCountAggregateOutputType = { id: number statusChange: number latencyLimit: number - notificationText: number + notificationTextStatus: number + notificationTextLatency: number + notificationLatency: number _all: number } @@ -11100,21 +11236,27 @@ export namespace Prisma { id?: true statusChange?: true latencyLimit?: true - notificationText?: true + notificationTextStatus?: true + notificationTextLatency?: true + notificationLatency?: true } export type ApplicationMonitoringNotificationMaxAggregateInputType = { id?: true statusChange?: true latencyLimit?: true - notificationText?: true + notificationTextStatus?: true + notificationTextLatency?: true + notificationLatency?: true } export type ApplicationMonitoringNotificationCountAggregateInputType = { id?: true statusChange?: true latencyLimit?: true - notificationText?: true + notificationTextStatus?: true + notificationTextLatency?: true + notificationLatency?: true _all?: true } @@ -11208,7 +11350,9 @@ export namespace Prisma { id: number statusChange: boolean latencyLimit: number - notificationText: string + notificationTextStatus: string + notificationTextLatency: string + notificationLatency: boolean _count: ApplicationMonitoringNotificationCountAggregateOutputType | null _avg: ApplicationMonitoringNotificationAvgAggregateOutputType | null _sum: ApplicationMonitoringNotificationSumAggregateOutputType | null @@ -11234,31 +11378,39 @@ export namespace Prisma { id?: boolean statusChange?: boolean latencyLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextLatency?: boolean + notificationLatency?: boolean }, ExtArgs["result"]["applicationMonitoringNotification"]> export type ApplicationMonitoringNotificationSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean statusChange?: boolean latencyLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextLatency?: boolean + notificationLatency?: boolean }, ExtArgs["result"]["applicationMonitoringNotification"]> export type ApplicationMonitoringNotificationSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean statusChange?: boolean latencyLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextLatency?: boolean + notificationLatency?: boolean }, ExtArgs["result"]["applicationMonitoringNotification"]> export type ApplicationMonitoringNotificationSelectScalar = { id?: boolean statusChange?: boolean latencyLimit?: boolean - notificationText?: boolean + notificationTextStatus?: boolean + notificationTextLatency?: boolean + notificationLatency?: boolean } - export type ApplicationMonitoringNotificationOmit = $Extensions.GetOmit<"id" | "statusChange" | "latencyLimit" | "notificationText", ExtArgs["result"]["applicationMonitoringNotification"]> + export type ApplicationMonitoringNotificationOmit = $Extensions.GetOmit<"id" | "statusChange" | "latencyLimit" | "notificationTextStatus" | "notificationTextLatency" | "notificationLatency", ExtArgs["result"]["applicationMonitoringNotification"]> export type $ApplicationMonitoringNotificationPayload = { name: "ApplicationMonitoringNotification" @@ -11267,7 +11419,9 @@ export namespace Prisma { id: number statusChange: boolean latencyLimit: number - notificationText: string + notificationTextStatus: string + notificationTextLatency: string + notificationLatency: boolean }, ExtArgs["result"]["applicationMonitoringNotification"]> composites: {} } @@ -11694,7 +11848,9 @@ export namespace Prisma { readonly id: FieldRef<"ApplicationMonitoringNotification", 'Int'> readonly statusChange: FieldRef<"ApplicationMonitoringNotification", 'Boolean'> readonly latencyLimit: FieldRef<"ApplicationMonitoringNotification", 'Float'> - readonly notificationText: FieldRef<"ApplicationMonitoringNotification", 'String'> + readonly notificationTextStatus: FieldRef<"ApplicationMonitoringNotification", 'String'> + readonly notificationTextLatency: FieldRef<"ApplicationMonitoringNotification", 'String'> + readonly notificationLatency: FieldRef<"ApplicationMonitoringNotification", 'Boolean'> } @@ -14350,7 +14506,17 @@ export namespace Prisma { memoryLimit: 'memoryLimit', diskLimit: 'diskLimit', temperatureLimit: 'temperatureLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextCpu: 'notificationTextCpu', + notificationTextGpu: 'notificationTextGpu', + notificationTextMemory: 'notificationTextMemory', + notificationTextDisk: 'notificationTextDisk', + notificationTextTemperature: 'notificationTextTemperature', + notificationCpu: 'notificationCpu', + notificationGpu: 'notificationGpu', + notificationMemory: 'notificationMemory', + notificationDisk: 'notificationDisk', + notificationTemperature: 'notificationTemperature' }; export type ServerMonitoringNotificationScalarFieldEnum = (typeof ServerMonitoringNotificationScalarFieldEnum)[keyof typeof ServerMonitoringNotificationScalarFieldEnum] @@ -14360,7 +14526,9 @@ export namespace Prisma { id: 'id', statusChange: 'statusChange', latencyLimit: 'latencyLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextLatency: 'notificationTextLatency', + notificationLatency: 'notificationLatency' }; export type ApplicationMonitoringNotificationScalarFieldEnum = (typeof ApplicationMonitoringNotificationScalarFieldEnum)[keyof typeof ApplicationMonitoringNotificationScalarFieldEnum] @@ -15042,7 +15210,17 @@ export namespace Prisma { memoryLimit?: FloatFilter<"ServerMonitoringNotification"> | number diskLimit?: FloatFilter<"ServerMonitoringNotification"> | number temperatureLimit?: FloatFilter<"ServerMonitoringNotification"> | number - notificationText?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextStatus?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextCpu?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextGpu?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextMemory?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextDisk?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextTemperature?: StringFilter<"ServerMonitoringNotification"> | string + notificationCpu?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationGpu?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationMemory?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationDisk?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationTemperature?: BoolFilter<"ServerMonitoringNotification"> | boolean } export type ServerMonitoringNotificationOrderByWithRelationInput = { @@ -15053,7 +15231,17 @@ export namespace Prisma { memoryLimit?: SortOrder diskLimit?: SortOrder temperatureLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextCpu?: SortOrder + notificationTextGpu?: SortOrder + notificationTextMemory?: SortOrder + notificationTextDisk?: SortOrder + notificationTextTemperature?: SortOrder + notificationCpu?: SortOrder + notificationGpu?: SortOrder + notificationMemory?: SortOrder + notificationDisk?: SortOrder + notificationTemperature?: SortOrder } export type ServerMonitoringNotificationWhereUniqueInput = Prisma.AtLeast<{ @@ -15067,7 +15255,17 @@ export namespace Prisma { memoryLimit?: FloatFilter<"ServerMonitoringNotification"> | number diskLimit?: FloatFilter<"ServerMonitoringNotification"> | number temperatureLimit?: FloatFilter<"ServerMonitoringNotification"> | number - notificationText?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextStatus?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextCpu?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextGpu?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextMemory?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextDisk?: StringFilter<"ServerMonitoringNotification"> | string + notificationTextTemperature?: StringFilter<"ServerMonitoringNotification"> | string + notificationCpu?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationGpu?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationMemory?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationDisk?: BoolFilter<"ServerMonitoringNotification"> | boolean + notificationTemperature?: BoolFilter<"ServerMonitoringNotification"> | boolean }, "id"> export type ServerMonitoringNotificationOrderByWithAggregationInput = { @@ -15078,7 +15276,17 @@ export namespace Prisma { memoryLimit?: SortOrder diskLimit?: SortOrder temperatureLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextCpu?: SortOrder + notificationTextGpu?: SortOrder + notificationTextMemory?: SortOrder + notificationTextDisk?: SortOrder + notificationTextTemperature?: SortOrder + notificationCpu?: SortOrder + notificationGpu?: SortOrder + notificationMemory?: SortOrder + notificationDisk?: SortOrder + notificationTemperature?: SortOrder _count?: ServerMonitoringNotificationCountOrderByAggregateInput _avg?: ServerMonitoringNotificationAvgOrderByAggregateInput _max?: ServerMonitoringNotificationMaxOrderByAggregateInput @@ -15097,7 +15305,17 @@ export namespace Prisma { memoryLimit?: FloatWithAggregatesFilter<"ServerMonitoringNotification"> | number diskLimit?: FloatWithAggregatesFilter<"ServerMonitoringNotification"> | number temperatureLimit?: FloatWithAggregatesFilter<"ServerMonitoringNotification"> | number - notificationText?: StringWithAggregatesFilter<"ServerMonitoringNotification"> | string + notificationTextStatus?: StringWithAggregatesFilter<"ServerMonitoringNotification"> | string + notificationTextCpu?: StringWithAggregatesFilter<"ServerMonitoringNotification"> | string + notificationTextGpu?: StringWithAggregatesFilter<"ServerMonitoringNotification"> | string + notificationTextMemory?: StringWithAggregatesFilter<"ServerMonitoringNotification"> | string + notificationTextDisk?: StringWithAggregatesFilter<"ServerMonitoringNotification"> | string + notificationTextTemperature?: StringWithAggregatesFilter<"ServerMonitoringNotification"> | string + notificationCpu?: BoolWithAggregatesFilter<"ServerMonitoringNotification"> | boolean + notificationGpu?: BoolWithAggregatesFilter<"ServerMonitoringNotification"> | boolean + notificationMemory?: BoolWithAggregatesFilter<"ServerMonitoringNotification"> | boolean + notificationDisk?: BoolWithAggregatesFilter<"ServerMonitoringNotification"> | boolean + notificationTemperature?: BoolWithAggregatesFilter<"ServerMonitoringNotification"> | boolean } export type ApplicationMonitoringNotificationWhereInput = { @@ -15107,14 +15325,18 @@ export namespace Prisma { id?: IntFilter<"ApplicationMonitoringNotification"> | number statusChange?: BoolFilter<"ApplicationMonitoringNotification"> | boolean latencyLimit?: FloatFilter<"ApplicationMonitoringNotification"> | number - notificationText?: StringFilter<"ApplicationMonitoringNotification"> | string + notificationTextStatus?: StringFilter<"ApplicationMonitoringNotification"> | string + notificationTextLatency?: StringFilter<"ApplicationMonitoringNotification"> | string + notificationLatency?: BoolFilter<"ApplicationMonitoringNotification"> | boolean } export type ApplicationMonitoringNotificationOrderByWithRelationInput = { id?: SortOrder statusChange?: SortOrder latencyLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextLatency?: SortOrder + notificationLatency?: SortOrder } export type ApplicationMonitoringNotificationWhereUniqueInput = Prisma.AtLeast<{ @@ -15124,14 +15346,18 @@ export namespace Prisma { NOT?: ApplicationMonitoringNotificationWhereInput | ApplicationMonitoringNotificationWhereInput[] statusChange?: BoolFilter<"ApplicationMonitoringNotification"> | boolean latencyLimit?: FloatFilter<"ApplicationMonitoringNotification"> | number - notificationText?: StringFilter<"ApplicationMonitoringNotification"> | string + notificationTextStatus?: StringFilter<"ApplicationMonitoringNotification"> | string + notificationTextLatency?: StringFilter<"ApplicationMonitoringNotification"> | string + notificationLatency?: BoolFilter<"ApplicationMonitoringNotification"> | boolean }, "id"> export type ApplicationMonitoringNotificationOrderByWithAggregationInput = { id?: SortOrder statusChange?: SortOrder latencyLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextLatency?: SortOrder + notificationLatency?: SortOrder _count?: ApplicationMonitoringNotificationCountOrderByAggregateInput _avg?: ApplicationMonitoringNotificationAvgOrderByAggregateInput _max?: ApplicationMonitoringNotificationMaxOrderByAggregateInput @@ -15146,7 +15372,9 @@ export namespace Prisma { id?: IntWithAggregatesFilter<"ApplicationMonitoringNotification"> | number statusChange?: BoolWithAggregatesFilter<"ApplicationMonitoringNotification"> | boolean latencyLimit?: FloatWithAggregatesFilter<"ApplicationMonitoringNotification"> | number - notificationText?: StringWithAggregatesFilter<"ApplicationMonitoringNotification"> | string + notificationTextStatus?: StringWithAggregatesFilter<"ApplicationMonitoringNotification"> | string + notificationTextLatency?: StringWithAggregatesFilter<"ApplicationMonitoringNotification"> | string + notificationLatency?: BoolWithAggregatesFilter<"ApplicationMonitoringNotification"> | boolean } export type NotificationProviderWhereInput = { @@ -15789,7 +16017,17 @@ export namespace Prisma { memoryLimit: number diskLimit: number temperatureLimit: number - notificationText: string + notificationTextStatus: string + notificationTextCpu: string + notificationTextGpu: string + notificationTextMemory: string + notificationTextDisk: string + notificationTextTemperature: string + notificationCpu: boolean + notificationGpu: boolean + notificationMemory: boolean + notificationDisk: boolean + notificationTemperature: boolean } export type ServerMonitoringNotificationUncheckedCreateInput = { @@ -15800,7 +16038,17 @@ export namespace Prisma { memoryLimit: number diskLimit: number temperatureLimit: number - notificationText: string + notificationTextStatus: string + notificationTextCpu: string + notificationTextGpu: string + notificationTextMemory: string + notificationTextDisk: string + notificationTextTemperature: string + notificationCpu: boolean + notificationGpu: boolean + notificationMemory: boolean + notificationDisk: boolean + notificationTemperature: boolean } export type ServerMonitoringNotificationUpdateInput = { @@ -15810,7 +16058,17 @@ export namespace Prisma { memoryLimit?: FloatFieldUpdateOperationsInput | number diskLimit?: FloatFieldUpdateOperationsInput | number temperatureLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextCpu?: StringFieldUpdateOperationsInput | string + notificationTextGpu?: StringFieldUpdateOperationsInput | string + notificationTextMemory?: StringFieldUpdateOperationsInput | string + notificationTextDisk?: StringFieldUpdateOperationsInput | string + notificationTextTemperature?: StringFieldUpdateOperationsInput | string + notificationCpu?: BoolFieldUpdateOperationsInput | boolean + notificationGpu?: BoolFieldUpdateOperationsInput | boolean + notificationMemory?: BoolFieldUpdateOperationsInput | boolean + notificationDisk?: BoolFieldUpdateOperationsInput | boolean + notificationTemperature?: BoolFieldUpdateOperationsInput | boolean } export type ServerMonitoringNotificationUncheckedUpdateInput = { @@ -15821,7 +16079,17 @@ export namespace Prisma { memoryLimit?: FloatFieldUpdateOperationsInput | number diskLimit?: FloatFieldUpdateOperationsInput | number temperatureLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextCpu?: StringFieldUpdateOperationsInput | string + notificationTextGpu?: StringFieldUpdateOperationsInput | string + notificationTextMemory?: StringFieldUpdateOperationsInput | string + notificationTextDisk?: StringFieldUpdateOperationsInput | string + notificationTextTemperature?: StringFieldUpdateOperationsInput | string + notificationCpu?: BoolFieldUpdateOperationsInput | boolean + notificationGpu?: BoolFieldUpdateOperationsInput | boolean + notificationMemory?: BoolFieldUpdateOperationsInput | boolean + notificationDisk?: BoolFieldUpdateOperationsInput | boolean + notificationTemperature?: BoolFieldUpdateOperationsInput | boolean } export type ServerMonitoringNotificationCreateManyInput = { @@ -15832,7 +16100,17 @@ export namespace Prisma { memoryLimit: number diskLimit: number temperatureLimit: number - notificationText: string + notificationTextStatus: string + notificationTextCpu: string + notificationTextGpu: string + notificationTextMemory: string + notificationTextDisk: string + notificationTextTemperature: string + notificationCpu: boolean + notificationGpu: boolean + notificationMemory: boolean + notificationDisk: boolean + notificationTemperature: boolean } export type ServerMonitoringNotificationUpdateManyMutationInput = { @@ -15842,7 +16120,17 @@ export namespace Prisma { memoryLimit?: FloatFieldUpdateOperationsInput | number diskLimit?: FloatFieldUpdateOperationsInput | number temperatureLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextCpu?: StringFieldUpdateOperationsInput | string + notificationTextGpu?: StringFieldUpdateOperationsInput | string + notificationTextMemory?: StringFieldUpdateOperationsInput | string + notificationTextDisk?: StringFieldUpdateOperationsInput | string + notificationTextTemperature?: StringFieldUpdateOperationsInput | string + notificationCpu?: BoolFieldUpdateOperationsInput | boolean + notificationGpu?: BoolFieldUpdateOperationsInput | boolean + notificationMemory?: BoolFieldUpdateOperationsInput | boolean + notificationDisk?: BoolFieldUpdateOperationsInput | boolean + notificationTemperature?: BoolFieldUpdateOperationsInput | boolean } export type ServerMonitoringNotificationUncheckedUpdateManyInput = { @@ -15853,53 +16141,77 @@ export namespace Prisma { memoryLimit?: FloatFieldUpdateOperationsInput | number diskLimit?: FloatFieldUpdateOperationsInput | number temperatureLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextCpu?: StringFieldUpdateOperationsInput | string + notificationTextGpu?: StringFieldUpdateOperationsInput | string + notificationTextMemory?: StringFieldUpdateOperationsInput | string + notificationTextDisk?: StringFieldUpdateOperationsInput | string + notificationTextTemperature?: StringFieldUpdateOperationsInput | string + notificationCpu?: BoolFieldUpdateOperationsInput | boolean + notificationGpu?: BoolFieldUpdateOperationsInput | boolean + notificationMemory?: BoolFieldUpdateOperationsInput | boolean + notificationDisk?: BoolFieldUpdateOperationsInput | boolean + notificationTemperature?: BoolFieldUpdateOperationsInput | boolean } export type ApplicationMonitoringNotificationCreateInput = { statusChange: boolean latencyLimit: number - notificationText: string + notificationTextStatus: string + notificationTextLatency: string + notificationLatency: boolean } export type ApplicationMonitoringNotificationUncheckedCreateInput = { id?: number statusChange: boolean latencyLimit: number - notificationText: string + notificationTextStatus: string + notificationTextLatency: string + notificationLatency: boolean } export type ApplicationMonitoringNotificationUpdateInput = { statusChange?: BoolFieldUpdateOperationsInput | boolean latencyLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextLatency?: StringFieldUpdateOperationsInput | string + notificationLatency?: BoolFieldUpdateOperationsInput | boolean } export type ApplicationMonitoringNotificationUncheckedUpdateInput = { id?: IntFieldUpdateOperationsInput | number statusChange?: BoolFieldUpdateOperationsInput | boolean latencyLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextLatency?: StringFieldUpdateOperationsInput | string + notificationLatency?: BoolFieldUpdateOperationsInput | boolean } export type ApplicationMonitoringNotificationCreateManyInput = { id?: number statusChange: boolean latencyLimit: number - notificationText: string + notificationTextStatus: string + notificationTextLatency: string + notificationLatency: boolean } export type ApplicationMonitoringNotificationUpdateManyMutationInput = { statusChange?: BoolFieldUpdateOperationsInput | boolean latencyLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextLatency?: StringFieldUpdateOperationsInput | string + notificationLatency?: BoolFieldUpdateOperationsInput | boolean } export type ApplicationMonitoringNotificationUncheckedUpdateManyInput = { id?: IntFieldUpdateOperationsInput | number statusChange?: BoolFieldUpdateOperationsInput | boolean latencyLimit?: FloatFieldUpdateOperationsInput | number - notificationText?: StringFieldUpdateOperationsInput | string + notificationTextStatus?: StringFieldUpdateOperationsInput | string + notificationTextLatency?: StringFieldUpdateOperationsInput | string + notificationLatency?: BoolFieldUpdateOperationsInput | boolean } export type NotificationProviderCreateInput = { @@ -16567,7 +16879,17 @@ export namespace Prisma { memoryLimit?: SortOrder diskLimit?: SortOrder temperatureLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextCpu?: SortOrder + notificationTextGpu?: SortOrder + notificationTextMemory?: SortOrder + notificationTextDisk?: SortOrder + notificationTextTemperature?: SortOrder + notificationCpu?: SortOrder + notificationGpu?: SortOrder + notificationMemory?: SortOrder + notificationDisk?: SortOrder + notificationTemperature?: SortOrder } export type ServerMonitoringNotificationAvgOrderByAggregateInput = { @@ -16587,7 +16909,17 @@ export namespace Prisma { memoryLimit?: SortOrder diskLimit?: SortOrder temperatureLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextCpu?: SortOrder + notificationTextGpu?: SortOrder + notificationTextMemory?: SortOrder + notificationTextDisk?: SortOrder + notificationTextTemperature?: SortOrder + notificationCpu?: SortOrder + notificationGpu?: SortOrder + notificationMemory?: SortOrder + notificationDisk?: SortOrder + notificationTemperature?: SortOrder } export type ServerMonitoringNotificationMinOrderByAggregateInput = { @@ -16598,7 +16930,17 @@ export namespace Prisma { memoryLimit?: SortOrder diskLimit?: SortOrder temperatureLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextCpu?: SortOrder + notificationTextGpu?: SortOrder + notificationTextMemory?: SortOrder + notificationTextDisk?: SortOrder + notificationTextTemperature?: SortOrder + notificationCpu?: SortOrder + notificationGpu?: SortOrder + notificationMemory?: SortOrder + notificationDisk?: SortOrder + notificationTemperature?: SortOrder } export type ServerMonitoringNotificationSumOrderByAggregateInput = { @@ -16614,7 +16956,9 @@ export namespace Prisma { id?: SortOrder statusChange?: SortOrder latencyLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextLatency?: SortOrder + notificationLatency?: SortOrder } export type ApplicationMonitoringNotificationAvgOrderByAggregateInput = { @@ -16626,14 +16970,18 @@ export namespace Prisma { id?: SortOrder statusChange?: SortOrder latencyLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextLatency?: SortOrder + notificationLatency?: SortOrder } export type ApplicationMonitoringNotificationMinOrderByAggregateInput = { id?: SortOrder statusChange?: SortOrder latencyLimit?: SortOrder - notificationText?: SortOrder + notificationTextStatus?: SortOrder + notificationTextLatency?: SortOrder + notificationLatency?: SortOrder } export type ApplicationMonitoringNotificationSumOrderByAggregateInput = { diff --git a/prisma/generated/prisma/index.js b/prisma/generated/prisma/index.js index 73fbf59..c2c60e2 100644 --- a/prisma/generated/prisma/index.js +++ b/prisma/generated/prisma/index.js @@ -177,14 +177,26 @@ exports.Prisma.ServerMonitoringNotificationScalarFieldEnum = { memoryLimit: 'memoryLimit', diskLimit: 'diskLimit', temperatureLimit: 'temperatureLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextCpu: 'notificationTextCpu', + notificationTextGpu: 'notificationTextGpu', + notificationTextMemory: 'notificationTextMemory', + notificationTextDisk: 'notificationTextDisk', + notificationTextTemperature: 'notificationTextTemperature', + notificationCpu: 'notificationCpu', + notificationGpu: 'notificationGpu', + notificationMemory: 'notificationMemory', + notificationDisk: 'notificationDisk', + notificationTemperature: 'notificationTemperature' }; exports.Prisma.ApplicationMonitoringNotificationScalarFieldEnum = { id: 'id', statusChange: 'statusChange', latencyLimit: 'latencyLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextLatency: 'notificationTextLatency', + notificationLatency: 'notificationLatency' }; exports.Prisma.NotificationProviderScalarFieldEnum = { @@ -291,8 +303,8 @@ const config = { } } }, - "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"./generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id String @id @default(cuid())\n username String @unique\n name String\n email String @unique\n password String\n lastLogin DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"users\")\n}\n\nmodel Site {\n id Int @id @default(autoincrement())\n name String\n description String?\n networks Network[]\n\n @@map(\"sites\")\n}\n\nmodel Network {\n id Int @id @default(autoincrement())\n site Site @relation(fields: [siteId], references: [id], onDelete: Cascade)\n siteId Int\n name String\n ipv4Subnet String?\n ipv6Subnet String?\n gateway String?\n servers Server[]\n\n @@map(\"networks\")\n}\n\nmodel Server {\n id Int @id @default(autoincrement())\n network Network @relation(fields: [networkId], references: [id], onDelete: Cascade)\n networkId Int\n name String\n description String?\n icon String?\n ipv4Address String?\n osDetails String?\n cpuDetails String?\n gpuDetails String?\n memoryDetails String?\n storageDetails String?\n managementUrl String?\n monitoring Boolean @default(false)\n monitoringUrl String?\n monitoringData ServerMonitoring[]\n applications Application[]\n\n @@map(\"servers\")\n}\n\nmodel ServerMonitoring {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n cpuPercentUsage Float\n gpuPercentUsage Float\n memoryUsage Float\n memoryPercentUsage Float\n diskUsage Float\n diskPercentUsage Float\n temperature Float\n online Boolean\n uptimeSeconds Int\n timestamp DateTime @default(now())\n\n @@index([serverId, timestamp])\n @@index([online])\n @@map(\"server_monitoring\")\n}\n\nmodel Application {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n name String\n description String?\n icon String?\n url String?\n monitoring Boolean @default(false)\n monitoringData ApplicationMonitoring[]\n\n @@map(\"applications\")\n}\n\nmodel ApplicationMonitoring {\n id Int @id @default(autoincrement())\n application Application @relation(fields: [applicationId], references: [id], onDelete: Cascade)\n applicationId Int\n online Boolean\n latency Float\n timestamp DateTime @default(now())\n\n @@index([applicationId, timestamp])\n @@index([online])\n @@map(\"application_monitoring\")\n}\n\nmodel ServerMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n cpuLimit Float\n gpuLimit Float\n memoryLimit Float\n diskLimit Float\n temperatureLimit Float\n notificationText String\n\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\n notificationText String\n\n @@map(\"application_monitoring_notifications\")\n}\n\nmodel NotificationProvider {\n id Int @id @default(autoincrement())\n name String\n type NotificationType\n config Json\n tests NotificationTest[]\n\n @@map(\"notification_providers\")\n}\n\nmodel NotificationTest {\n id Int @id @default(autoincrement())\n notificationProvider NotificationProvider @relation(fields: [notificationProviderId], references: [id], onDelete: Cascade)\n notificationProviderId Int\n sent Boolean @default(false)\n success Boolean?\n\n @@map(\"notification_tests\")\n}\n\nenum NotificationType {\n TELEGRAM\n NTFY\n SMTP\n}\n", - "inlineSchemaHash": "49d3ec386d9a83770836accd61aa46cc4f877184ffa768b7981460c2593961db", + "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"./generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel User {\n id String @id @default(cuid())\n username String @unique\n name String\n email String @unique\n password String\n lastLogin DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"users\")\n}\n\nmodel Site {\n id Int @id @default(autoincrement())\n name String\n description String?\n networks Network[]\n\n @@map(\"sites\")\n}\n\nmodel Network {\n id Int @id @default(autoincrement())\n site Site @relation(fields: [siteId], references: [id], onDelete: Cascade)\n siteId Int\n name String\n ipv4Subnet String?\n ipv6Subnet String?\n gateway String?\n servers Server[]\n\n @@map(\"networks\")\n}\n\nmodel Server {\n id Int @id @default(autoincrement())\n network Network @relation(fields: [networkId], references: [id], onDelete: Cascade)\n networkId Int\n name String\n description String?\n icon String?\n ipv4Address String?\n osDetails String?\n cpuDetails String?\n gpuDetails String?\n memoryDetails String?\n storageDetails String?\n managementUrl String?\n monitoring Boolean @default(false)\n monitoringUrl String?\n monitoringData ServerMonitoring[]\n applications Application[]\n\n @@map(\"servers\")\n}\n\nmodel ServerMonitoring {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n cpuPercentUsage Float\n gpuPercentUsage Float\n memoryUsage Float\n memoryPercentUsage Float\n diskUsage Float\n diskPercentUsage Float\n temperature Float\n online Boolean\n uptimeSeconds Int\n timestamp DateTime @default(now())\n\n @@index([serverId, timestamp])\n @@index([online])\n @@map(\"server_monitoring\")\n}\n\nmodel Application {\n id Int @id @default(autoincrement())\n server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)\n serverId Int\n name String\n description String?\n icon String?\n url String?\n monitoring Boolean @default(false)\n monitoringData ApplicationMonitoring[]\n\n @@map(\"applications\")\n}\n\nmodel ApplicationMonitoring {\n id Int @id @default(autoincrement())\n application Application @relation(fields: [applicationId], references: [id], onDelete: Cascade)\n applicationId Int\n online Boolean\n latency Float\n timestamp DateTime @default(now())\n\n @@index([applicationId, timestamp])\n @@index([online])\n @@map(\"application_monitoring\")\n}\n\nmodel ServerMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n cpuLimit Float\n gpuLimit Float\n memoryLimit Float\n diskLimit Float\n temperatureLimit Float\n notificationTextStatus String\n notificationTextCpu String\n notificationTextGpu String\n notificationTextMemory String\n notificationTextDisk String\n notificationTextTemperature String\n notificationCpu Boolean\n notificationGpu Boolean\n notificationMemory Boolean\n notificationDisk Boolean\n notificationTemperature Boolean\n\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\n notificationTextStatus String\n notificationTextLatency String\n notificationLatency Boolean\n\n @@map(\"application_monitoring_notifications\")\n}\n\nmodel NotificationProvider {\n id Int @id @default(autoincrement())\n name String\n type NotificationType\n config Json\n tests NotificationTest[]\n\n @@map(\"notification_providers\")\n}\n\nmodel NotificationTest {\n id Int @id @default(autoincrement())\n notificationProvider NotificationProvider @relation(fields: [notificationProviderId], references: [id], onDelete: Cascade)\n notificationProviderId Int\n sent Boolean @default(false)\n success Boolean?\n\n @@map(\"notification_tests\")\n}\n\nenum NotificationType {\n TELEGRAM\n NTFY\n SMTP\n}\n", + "inlineSchemaHash": "17e8e4308a12362544481127f1d1a4261ca793556407a5e36d8cb6b1290f6b73", "copyEngine": true } @@ -313,7 +325,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { config.isBundled = true } -config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":\"users\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Site\":{\"dbName\":\"sites\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Network\":{\"dbName\":\"networks\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"site\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Site\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[\"siteId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"siteId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv6Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gateway\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"servers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Server\":{\"dbName\":\"servers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"network\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[\"networkId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networkId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"storageDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"managementUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerMonitoring\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoring\":{\"dbName\":\"server_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uptimeSeconds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Application\":{\"dbName\":\"applications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ApplicationMonitoring\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoring\":{\"dbName\":\"application_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"application\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[\"applicationId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applicationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoringNotification\":{\"dbName\":\"server_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperatureLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoringNotification\":{\"dbName\":\"application_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latencyLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationProvider\":{\"dbName\":\"notification_providers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"config\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationTest\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationTest\":{\"dbName\":\"notification_tests\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationProvider\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[\"notificationProviderId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"dbName\":null},{\"name\":\"NTFY\",\"dbName\":null},{\"name\":\"SMTP\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":\"users\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Site\":{\"dbName\":\"sites\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Network\":{\"dbName\":\"networks\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"site\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Site\",\"nativeType\":null,\"relationName\":\"NetworkToSite\",\"relationFromFields\":[\"siteId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"siteId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv6Subnet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gateway\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"servers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Server\":{\"dbName\":\"servers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"network\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Network\",\"nativeType\":null,\"relationName\":\"NetworkToServer\",\"relationFromFields\":[\"networkId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"networkId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipv4Address\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"osDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"storageDetails\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"managementUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ServerMonitoring\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applications\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoring\":{\"dbName\":\"server_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ServerToServerMonitoring\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskPercentUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uptimeSeconds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Application\":{\"dbName\":\"applications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"server\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Server\",\"nativeType\":null,\"relationName\":\"ApplicationToServer\",\"relationFromFields\":[\"serverId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"serverId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoring\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"monitoringData\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ApplicationMonitoring\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoring\":{\"dbName\":\"application_monitoring\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"application\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Application\",\"nativeType\":null,\"relationName\":\"ApplicationToApplicationMonitoring\",\"relationFromFields\":[\"applicationId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"applicationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"online\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ServerMonitoringNotification\":{\"dbName\":\"server_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gpuLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memoryLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"diskLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperatureLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextStatus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextCpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextGpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextMemory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextDisk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextTemperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationCpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationGpu\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationMemory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationDisk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTemperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ApplicationMonitoringNotification\":{\"dbName\":\"application_monitoring_notifications\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"statusChange\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latencyLimit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextStatus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationTextLatency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationLatency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationProvider\":{\"dbName\":\"notification_providers\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"config\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tests\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationTest\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"NotificationTest\":{\"dbName\":\"notification_tests\",\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"NotificationProvider\",\"nativeType\":null,\"relationName\":\"NotificationProviderToNotificationTest\",\"relationFromFields\":[\"notificationProviderId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notificationProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"dbName\":null},{\"name\":\"NTFY\",\"dbName\":null},{\"name\":\"SMTP\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/prisma/generated/prisma/package.json b/prisma/generated/prisma/package.json index b89f675..250361c 100644 --- a/prisma/generated/prisma/package.json +++ b/prisma/generated/prisma/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-ceb758502e3133384183e55bf39f3c7d2401a964558969943136088b2750e02f", + "name": "prisma-client-52e4968f48cbb793854bc8e714c5b303338856d538203e7dea8fac926820a4d3", "main": "index.js", "types": "index.d.ts", "browser": "index-browser.js", diff --git a/prisma/generated/prisma/schema.prisma b/prisma/generated/prisma/schema.prisma index 482821c..7160577 100644 --- a/prisma/generated/prisma/schema.prisma +++ b/prisma/generated/prisma/schema.prisma @@ -119,23 +119,35 @@ model ApplicationMonitoring { } model ServerMonitoringNotification { - id Int @id @default(autoincrement()) - statusChange Boolean - cpuLimit Float - gpuLimit Float - memoryLimit Float - diskLimit Float - temperatureLimit Float - notificationText String + id Int @id @default(autoincrement()) + statusChange Boolean + cpuLimit Float + gpuLimit Float + memoryLimit Float + diskLimit Float + temperatureLimit Float + notificationTextStatus String + notificationTextCpu String + notificationTextGpu String + notificationTextMemory String + notificationTextDisk String + notificationTextTemperature String + notificationCpu Boolean + notificationGpu Boolean + notificationMemory Boolean + notificationDisk Boolean + notificationTemperature Boolean @@map("server_monitoring_notifications") } model ApplicationMonitoringNotification { - id Int @id @default(autoincrement()) - statusChange Boolean - latencyLimit Float - notificationText String + id Int @id @default(autoincrement()) + statusChange Boolean + latencyLimit Float + notificationTextStatus String + notificationTextLatency String + notificationLatency Boolean @@map("application_monitoring_notifications") } diff --git a/prisma/generated/prisma/wasm.js b/prisma/generated/prisma/wasm.js index 87e9730..95baa1f 100644 --- a/prisma/generated/prisma/wasm.js +++ b/prisma/generated/prisma/wasm.js @@ -204,14 +204,26 @@ exports.Prisma.ServerMonitoringNotificationScalarFieldEnum = { memoryLimit: 'memoryLimit', diskLimit: 'diskLimit', temperatureLimit: 'temperatureLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextCpu: 'notificationTextCpu', + notificationTextGpu: 'notificationTextGpu', + notificationTextMemory: 'notificationTextMemory', + notificationTextDisk: 'notificationTextDisk', + notificationTextTemperature: 'notificationTextTemperature', + notificationCpu: 'notificationCpu', + notificationGpu: 'notificationGpu', + notificationMemory: 'notificationMemory', + notificationDisk: 'notificationDisk', + notificationTemperature: 'notificationTemperature' }; exports.Prisma.ApplicationMonitoringNotificationScalarFieldEnum = { id: 'id', statusChange: 'statusChange', latencyLimit: 'latencyLimit', - notificationText: 'notificationText' + notificationTextStatus: 'notificationTextStatus', + notificationTextLatency: 'notificationTextLatency', + notificationLatency: 'notificationLatency' }; exports.Prisma.NotificationProviderScalarFieldEnum = { diff --git a/prisma/migrations/20250525215445_updated_notification_settings/migration.sql b/prisma/migrations/20250525215445_updated_notification_settings/migration.sql new file mode 100644 index 0000000..eff7804 --- /dev/null +++ b/prisma/migrations/20250525215445_updated_notification_settings/migration.sql @@ -0,0 +1,44 @@ +/* + Warnings: + + - You are about to drop the column `notificationText` on the `application_monitoring_notifications` table. All the data in the column will be lost. + - You are about to drop the column `notificationText` on the `server_monitoring_notifications` table. All the data in the column will be lost. + - Added the required column `notificationLatency` to the `application_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationStatus` to the `application_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextLatency` to the `application_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextStatus` to the `application_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationCpu` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationDisk` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationGpu` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationMemory` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationStatus` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTemperature` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextCpu` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextDisk` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextGpu` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextMemory` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextStatus` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + - Added the required column `notificationTextTemperature` to the `server_monitoring_notifications` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "application_monitoring_notifications" DROP COLUMN "notificationText", +ADD COLUMN "notificationLatency" BOOLEAN NOT NULL, +ADD COLUMN "notificationStatus" BOOLEAN NOT NULL, +ADD COLUMN "notificationTextLatency" TEXT NOT NULL, +ADD COLUMN "notificationTextStatus" TEXT NOT NULL; + +-- AlterTable +ALTER TABLE "server_monitoring_notifications" DROP COLUMN "notificationText", +ADD COLUMN "notificationCpu" BOOLEAN NOT NULL, +ADD COLUMN "notificationDisk" BOOLEAN NOT NULL, +ADD COLUMN "notificationGpu" BOOLEAN NOT NULL, +ADD COLUMN "notificationMemory" BOOLEAN NOT NULL, +ADD COLUMN "notificationStatus" BOOLEAN NOT NULL, +ADD COLUMN "notificationTemperature" BOOLEAN NOT NULL, +ADD COLUMN "notificationTextCpu" TEXT NOT NULL, +ADD COLUMN "notificationTextDisk" TEXT NOT NULL, +ADD COLUMN "notificationTextGpu" TEXT NOT NULL, +ADD COLUMN "notificationTextMemory" TEXT NOT NULL, +ADD COLUMN "notificationTextStatus" TEXT NOT NULL, +ADD COLUMN "notificationTextTemperature" TEXT NOT NULL; diff --git a/prisma/migrations/20250525222820_fix/migration.sql b/prisma/migrations/20250525222820_fix/migration.sql new file mode 100644 index 0000000..c873e97 --- /dev/null +++ b/prisma/migrations/20250525222820_fix/migration.sql @@ -0,0 +1,12 @@ +/* + Warnings: + + - You are about to drop the column `notificationStatus` on the `application_monitoring_notifications` table. All the data in the column will be lost. + - You are about to drop the column `notificationStatus` on the `server_monitoring_notifications` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "application_monitoring_notifications" DROP COLUMN "notificationStatus"; + +-- AlterTable +ALTER TABLE "server_monitoring_notifications" DROP COLUMN "notificationStatus"; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index c935150..bee3298 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -128,7 +128,17 @@ model ServerMonitoringNotification { memoryLimit Float diskLimit Float temperatureLimit Float - notificationText String + notificationTextStatus String + notificationTextCpu String + notificationTextGpu String + notificationTextMemory String + notificationTextDisk String + notificationTextTemperature String + notificationCpu Boolean + notificationGpu Boolean + notificationMemory Boolean + notificationDisk Boolean + notificationTemperature Boolean @@map("server_monitoring_notifications") } @@ -137,7 +147,9 @@ model ApplicationMonitoringNotification { id Int @id @default(autoincrement()) statusChange Boolean latencyLimit Float - notificationText String + notificationTextStatus String + notificationTextLatency String + notificationLatency Boolean @@map("application_monitoring_notifications") }