diff --git a/prisma/generated/prisma/edge.js b/prisma/generated/prisma/edge.js index 316b06a..aad7ac0 100644 --- a/prisma/generated/prisma/edge.js +++ b/prisma/generated/prisma/edge.js @@ -191,6 +191,12 @@ exports.Prisma.NotificationProviderScalarFieldEnum = { config: 'config' }; +exports.Prisma.NotificationTestScalarFieldEnum = { + id: 'id', + notificationProviderId: 'notificationProviderId', + success: 'success' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -229,7 +235,8 @@ exports.Prisma.ModelName = { ApplicationMonitoring: 'ApplicationMonitoring', ServerMonitoringNotification: 'ServerMonitoringNotification', ApplicationMonitoringNotification: 'ApplicationMonitoringNotification', - NotificationProvider: 'NotificationProvider' + NotificationProvider: 'NotificationProvider', + NotificationTest: 'NotificationTest' }; /** * Create the Client @@ -278,13 +285,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\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\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\n @@map(\"notification_providers\")\n}\n\nenum NotificationType {\n TELEGRAM\n}\n", - "inlineSchemaHash": "f03b711952651f98bddda4c5e124a2d411dcdb2c73612be56f73aa148fa2b6fe", + "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\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\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 success Boolean\n\n @@map(\"notification_tests\")\n}\n\nenum NotificationType {\n TELEGRAM\n}\n", + "inlineSchemaHash": "d3c01ea54722382694e81c7ddcadc7d2465ea211e91ddbf406de5b12675b7271", "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}],\"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}],\"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}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"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}],\"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}],\"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\":\"success\",\"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}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"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 a138360..cae001a 100644 --- a/prisma/generated/prisma/index-browser.js +++ b/prisma/generated/prisma/index-browser.js @@ -219,6 +219,12 @@ exports.Prisma.NotificationProviderScalarFieldEnum = { config: 'config' }; +exports.Prisma.NotificationTestScalarFieldEnum = { + id: 'id', + notificationProviderId: 'notificationProviderId', + success: 'success' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -257,7 +263,8 @@ exports.Prisma.ModelName = { ApplicationMonitoring: 'ApplicationMonitoring', ServerMonitoringNotification: 'ServerMonitoringNotification', ApplicationMonitoringNotification: 'ApplicationMonitoringNotification', - NotificationProvider: 'NotificationProvider' + NotificationProvider: 'NotificationProvider', + NotificationTest: 'NotificationTest' }; /** diff --git a/prisma/generated/prisma/index.d.ts b/prisma/generated/prisma/index.d.ts index ce7a8b2..2e50caa 100644 --- a/prisma/generated/prisma/index.d.ts +++ b/prisma/generated/prisma/index.d.ts @@ -63,6 +63,11 @@ export type ApplicationMonitoringNotification = $Result.DefaultSelection +/** + * Model NotificationTest + * + */ +export type NotificationTest = $Result.DefaultSelection /** * Enums @@ -304,6 +309,16 @@ export class PrismaClient< * ``` */ get notificationProvider(): Prisma.NotificationProviderDelegate; + + /** + * `prisma.notificationTest`: Exposes CRUD operations for the **NotificationTest** model. + * Example usage: + * ```ts + * // Fetch zero or more NotificationTests + * const notificationTests = await prisma.notificationTest.findMany() + * ``` + */ + get notificationTest(): Prisma.NotificationTestDelegate; } export namespace Prisma { @@ -753,7 +768,8 @@ export namespace Prisma { ApplicationMonitoring: 'ApplicationMonitoring', ServerMonitoringNotification: 'ServerMonitoringNotification', ApplicationMonitoringNotification: 'ApplicationMonitoringNotification', - NotificationProvider: 'NotificationProvider' + NotificationProvider: 'NotificationProvider', + NotificationTest: 'NotificationTest' }; export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -772,7 +788,7 @@ export namespace Prisma { omit: GlobalOmitOptions } meta: { - modelProps: "user" | "site" | "network" | "server" | "serverMonitoring" | "application" | "applicationMonitoring" | "serverMonitoringNotification" | "applicationMonitoringNotification" | "notificationProvider" + modelProps: "user" | "site" | "network" | "server" | "serverMonitoring" | "application" | "applicationMonitoring" | "serverMonitoringNotification" | "applicationMonitoringNotification" | "notificationProvider" | "notificationTest" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -1516,6 +1532,80 @@ export namespace Prisma { } } } + NotificationTest: { + payload: Prisma.$NotificationTestPayload + fields: Prisma.NotificationTestFieldRefs + operations: { + findUnique: { + args: Prisma.NotificationTestFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.NotificationTestFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.NotificationTestFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.NotificationTestFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.NotificationTestFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.NotificationTestCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.NotificationTestCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.NotificationTestCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.NotificationTestDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.NotificationTestUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.NotificationTestDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.NotificationTestUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.NotificationTestUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.NotificationTestUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.NotificationTestAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.NotificationTestGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.NotificationTestCountArgs + result: $Utils.Optional | number + } + } + } } } & { other: { @@ -1610,6 +1700,7 @@ export namespace Prisma { serverMonitoringNotification?: ServerMonitoringNotificationOmit applicationMonitoringNotification?: ApplicationMonitoringNotificationOmit notificationProvider?: NotificationProviderOmit + notificationTest?: NotificationTestOmit } /* Types for Logging */ @@ -1832,6 +1923,37 @@ export namespace Prisma { } + /** + * Count Type NotificationProviderCountOutputType + */ + + export type NotificationProviderCountOutputType = { + tests: number + } + + export type NotificationProviderCountOutputTypeSelect = { + tests?: boolean | NotificationProviderCountOutputTypeCountTestsArgs + } + + // Custom InputTypes + /** + * NotificationProviderCountOutputType without action + */ + export type NotificationProviderCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the NotificationProviderCountOutputType + */ + select?: NotificationProviderCountOutputTypeSelect | null + } + + /** + * NotificationProviderCountOutputType without action + */ + export type NotificationProviderCountOutputTypeCountTestsArgs = { + where?: NotificationTestWhereInput + } + + /** * Models */ @@ -12097,6 +12219,8 @@ export namespace Prisma { name?: boolean type?: boolean config?: boolean + tests?: boolean | NotificationProvider$testsArgs + _count?: boolean | NotificationProviderCountOutputTypeDefaultArgs }, ExtArgs["result"]["notificationProvider"]> export type NotificationProviderSelectCreateManyAndReturn = $Extensions.GetSelect<{ @@ -12121,10 +12245,18 @@ export namespace Prisma { } export type NotificationProviderOmit = $Extensions.GetOmit<"id" | "name" | "type" | "config", ExtArgs["result"]["notificationProvider"]> + export type NotificationProviderInclude = { + tests?: boolean | NotificationProvider$testsArgs + _count?: boolean | NotificationProviderCountOutputTypeDefaultArgs + } + export type NotificationProviderIncludeCreateManyAndReturn = {} + export type NotificationProviderIncludeUpdateManyAndReturn = {} export type $NotificationProviderPayload = { name: "NotificationProvider" - objects: {} + objects: { + tests: Prisma.$NotificationTestPayload[] + } scalars: $Extensions.GetPayloadResult<{ id: number name: string @@ -12524,6 +12656,7 @@ export namespace Prisma { */ export interface Prisma__NotificationProviderClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" + tests = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -12573,6 +12706,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * Filter, which NotificationProvider to fetch. */ @@ -12591,6 +12728,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * Filter, which NotificationProvider to fetch. */ @@ -12609,6 +12750,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * Filter, which NotificationProvider to fetch. */ @@ -12657,6 +12802,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * Filter, which NotificationProvider to fetch. */ @@ -12705,6 +12854,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * Filter, which NotificationProviders to fetch. */ @@ -12748,6 +12901,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * The data needed to create a NotificationProvider. */ @@ -12796,6 +12953,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * The data needed to update a NotificationProvider. */ @@ -12862,6 +13023,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * The filter to search for the NotificationProvider to update in case it exists. */ @@ -12888,6 +13053,10 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null /** * Filter which NotificationProvider to delete. */ @@ -12908,6 +13077,30 @@ export namespace Prisma { limit?: number } + /** + * NotificationProvider.tests + */ + export type NotificationProvider$testsArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + where?: NotificationTestWhereInput + orderBy?: NotificationTestOrderByWithRelationInput | NotificationTestOrderByWithRelationInput[] + cursor?: NotificationTestWhereUniqueInput + take?: number + skip?: number + distinct?: NotificationTestScalarFieldEnum | NotificationTestScalarFieldEnum[] + } + /** * NotificationProvider without action */ @@ -12920,6 +13113,1080 @@ export namespace Prisma { * Omit specific fields from the NotificationProvider */ omit?: NotificationProviderOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationProviderInclude | null + } + + + /** + * Model NotificationTest + */ + + export type AggregateNotificationTest = { + _count: NotificationTestCountAggregateOutputType | null + _avg: NotificationTestAvgAggregateOutputType | null + _sum: NotificationTestSumAggregateOutputType | null + _min: NotificationTestMinAggregateOutputType | null + _max: NotificationTestMaxAggregateOutputType | null + } + + export type NotificationTestAvgAggregateOutputType = { + id: number | null + notificationProviderId: number | null + } + + export type NotificationTestSumAggregateOutputType = { + id: number | null + notificationProviderId: number | null + } + + export type NotificationTestMinAggregateOutputType = { + id: number | null + notificationProviderId: number | null + success: boolean | null + } + + export type NotificationTestMaxAggregateOutputType = { + id: number | null + notificationProviderId: number | null + success: boolean | null + } + + export type NotificationTestCountAggregateOutputType = { + id: number + notificationProviderId: number + success: number + _all: number + } + + + export type NotificationTestAvgAggregateInputType = { + id?: true + notificationProviderId?: true + } + + export type NotificationTestSumAggregateInputType = { + id?: true + notificationProviderId?: true + } + + export type NotificationTestMinAggregateInputType = { + id?: true + notificationProviderId?: true + success?: true + } + + export type NotificationTestMaxAggregateInputType = { + id?: true + notificationProviderId?: true + success?: true + } + + export type NotificationTestCountAggregateInputType = { + id?: true + notificationProviderId?: true + success?: true + _all?: true + } + + export type NotificationTestAggregateArgs = { + /** + * Filter which NotificationTest to aggregate. + */ + where?: NotificationTestWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of NotificationTests to fetch. + */ + orderBy?: NotificationTestOrderByWithRelationInput | NotificationTestOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: NotificationTestWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` NotificationTests from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` NotificationTests. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned NotificationTests + **/ + _count?: true | NotificationTestCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: NotificationTestAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: NotificationTestSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: NotificationTestMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: NotificationTestMaxAggregateInputType + } + + export type GetNotificationTestAggregateType = { + [P in keyof T & keyof AggregateNotificationTest]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type NotificationTestGroupByArgs = { + where?: NotificationTestWhereInput + orderBy?: NotificationTestOrderByWithAggregationInput | NotificationTestOrderByWithAggregationInput[] + by: NotificationTestScalarFieldEnum[] | NotificationTestScalarFieldEnum + having?: NotificationTestScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: NotificationTestCountAggregateInputType | true + _avg?: NotificationTestAvgAggregateInputType + _sum?: NotificationTestSumAggregateInputType + _min?: NotificationTestMinAggregateInputType + _max?: NotificationTestMaxAggregateInputType + } + + export type NotificationTestGroupByOutputType = { + id: number + notificationProviderId: number + success: boolean + _count: NotificationTestCountAggregateOutputType | null + _avg: NotificationTestAvgAggregateOutputType | null + _sum: NotificationTestSumAggregateOutputType | null + _min: NotificationTestMinAggregateOutputType | null + _max: NotificationTestMaxAggregateOutputType | null + } + + type GetNotificationTestGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof NotificationTestGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type NotificationTestSelect = $Extensions.GetSelect<{ + id?: boolean + notificationProviderId?: boolean + success?: boolean + notificationProvider?: boolean | NotificationProviderDefaultArgs + }, ExtArgs["result"]["notificationTest"]> + + export type NotificationTestSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + notificationProviderId?: boolean + success?: boolean + notificationProvider?: boolean | NotificationProviderDefaultArgs + }, ExtArgs["result"]["notificationTest"]> + + export type NotificationTestSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + notificationProviderId?: boolean + success?: boolean + notificationProvider?: boolean | NotificationProviderDefaultArgs + }, ExtArgs["result"]["notificationTest"]> + + export type NotificationTestSelectScalar = { + id?: boolean + notificationProviderId?: boolean + success?: boolean + } + + export type NotificationTestOmit = $Extensions.GetOmit<"id" | "notificationProviderId" | "success", ExtArgs["result"]["notificationTest"]> + export type NotificationTestInclude = { + notificationProvider?: boolean | NotificationProviderDefaultArgs + } + export type NotificationTestIncludeCreateManyAndReturn = { + notificationProvider?: boolean | NotificationProviderDefaultArgs + } + export type NotificationTestIncludeUpdateManyAndReturn = { + notificationProvider?: boolean | NotificationProviderDefaultArgs + } + + export type $NotificationTestPayload = { + name: "NotificationTest" + objects: { + notificationProvider: Prisma.$NotificationProviderPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: number + notificationProviderId: number + success: boolean + }, ExtArgs["result"]["notificationTest"]> + composites: {} + } + + type NotificationTestGetPayload = $Result.GetResult + + type NotificationTestCountArgs = + Omit & { + select?: NotificationTestCountAggregateInputType | true + } + + export interface NotificationTestDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['NotificationTest'], meta: { name: 'NotificationTest' } } + /** + * Find zero or one NotificationTest that matches the filter. + * @param {NotificationTestFindUniqueArgs} args - Arguments to find a NotificationTest + * @example + * // Get one NotificationTest + * const notificationTest = await prisma.notificationTest.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one NotificationTest that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {NotificationTestFindUniqueOrThrowArgs} args - Arguments to find a NotificationTest + * @example + * // Get one NotificationTest + * const notificationTest = await prisma.notificationTest.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first NotificationTest that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {NotificationTestFindFirstArgs} args - Arguments to find a NotificationTest + * @example + * // Get one NotificationTest + * const notificationTest = await prisma.notificationTest.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first NotificationTest that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {NotificationTestFindFirstOrThrowArgs} args - Arguments to find a NotificationTest + * @example + * // Get one NotificationTest + * const notificationTest = await prisma.notificationTest.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more NotificationTests that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {NotificationTestFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all NotificationTests + * const notificationTests = await prisma.notificationTest.findMany() + * + * // Get first 10 NotificationTests + * const notificationTests = await prisma.notificationTest.findMany({ take: 10 }) + * + * // Only select the `id` + * const notificationTestWithIdOnly = await prisma.notificationTest.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a NotificationTest. + * @param {NotificationTestCreateArgs} args - Arguments to create a NotificationTest. + * @example + * // Create one NotificationTest + * const NotificationTest = await prisma.notificationTest.create({ + * data: { + * // ... data to create a NotificationTest + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many NotificationTests. + * @param {NotificationTestCreateManyArgs} args - Arguments to create many NotificationTests. + * @example + * // Create many NotificationTests + * const notificationTest = await prisma.notificationTest.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many NotificationTests and returns the data saved in the database. + * @param {NotificationTestCreateManyAndReturnArgs} args - Arguments to create many NotificationTests. + * @example + * // Create many NotificationTests + * const notificationTest = await prisma.notificationTest.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many NotificationTests and only return the `id` + * const notificationTestWithIdOnly = await prisma.notificationTest.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a NotificationTest. + * @param {NotificationTestDeleteArgs} args - Arguments to delete one NotificationTest. + * @example + * // Delete one NotificationTest + * const NotificationTest = await prisma.notificationTest.delete({ + * where: { + * // ... filter to delete one NotificationTest + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one NotificationTest. + * @param {NotificationTestUpdateArgs} args - Arguments to update one NotificationTest. + * @example + * // Update one NotificationTest + * const notificationTest = await prisma.notificationTest.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more NotificationTests. + * @param {NotificationTestDeleteManyArgs} args - Arguments to filter NotificationTests to delete. + * @example + * // Delete a few NotificationTests + * const { count } = await prisma.notificationTest.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more NotificationTests. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {NotificationTestUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many NotificationTests + * const notificationTest = await prisma.notificationTest.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more NotificationTests and returns the data updated in the database. + * @param {NotificationTestUpdateManyAndReturnArgs} args - Arguments to update many NotificationTests. + * @example + * // Update many NotificationTests + * const notificationTest = await prisma.notificationTest.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more NotificationTests and only return the `id` + * const notificationTestWithIdOnly = await prisma.notificationTest.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one NotificationTest. + * @param {NotificationTestUpsertArgs} args - Arguments to update or create a NotificationTest. + * @example + * // Update or create a NotificationTest + * const notificationTest = await prisma.notificationTest.upsert({ + * create: { + * // ... data to create a NotificationTest + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the NotificationTest we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__NotificationTestClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of NotificationTests. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {NotificationTestCountArgs} args - Arguments to filter NotificationTests to count. + * @example + * // Count the number of NotificationTests + * const count = await prisma.notificationTest.count({ + * where: { + * // ... the filter for the NotificationTests we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a NotificationTest. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {NotificationTestAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by NotificationTest. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {NotificationTestGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends NotificationTestGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: NotificationTestGroupByArgs['orderBy'] } + : { orderBy?: NotificationTestGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetNotificationTestGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the NotificationTest model + */ + readonly fields: NotificationTestFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for NotificationTest. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__NotificationTestClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + notificationProvider = {}>(args?: Subset>): Prisma__NotificationProviderClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the NotificationTest model + */ + interface NotificationTestFieldRefs { + readonly id: FieldRef<"NotificationTest", 'Int'> + readonly notificationProviderId: FieldRef<"NotificationTest", 'Int'> + readonly success: FieldRef<"NotificationTest", 'Boolean'> + } + + + // Custom InputTypes + /** + * NotificationTest findUnique + */ + export type NotificationTestFindUniqueArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * Filter, which NotificationTest to fetch. + */ + where: NotificationTestWhereUniqueInput + } + + /** + * NotificationTest findUniqueOrThrow + */ + export type NotificationTestFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * Filter, which NotificationTest to fetch. + */ + where: NotificationTestWhereUniqueInput + } + + /** + * NotificationTest findFirst + */ + export type NotificationTestFindFirstArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * Filter, which NotificationTest to fetch. + */ + where?: NotificationTestWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of NotificationTests to fetch. + */ + orderBy?: NotificationTestOrderByWithRelationInput | NotificationTestOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for NotificationTests. + */ + cursor?: NotificationTestWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` NotificationTests from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` NotificationTests. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of NotificationTests. + */ + distinct?: NotificationTestScalarFieldEnum | NotificationTestScalarFieldEnum[] + } + + /** + * NotificationTest findFirstOrThrow + */ + export type NotificationTestFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * Filter, which NotificationTest to fetch. + */ + where?: NotificationTestWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of NotificationTests to fetch. + */ + orderBy?: NotificationTestOrderByWithRelationInput | NotificationTestOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for NotificationTests. + */ + cursor?: NotificationTestWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` NotificationTests from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` NotificationTests. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of NotificationTests. + */ + distinct?: NotificationTestScalarFieldEnum | NotificationTestScalarFieldEnum[] + } + + /** + * NotificationTest findMany + */ + export type NotificationTestFindManyArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * Filter, which NotificationTests to fetch. + */ + where?: NotificationTestWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of NotificationTests to fetch. + */ + orderBy?: NotificationTestOrderByWithRelationInput | NotificationTestOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing NotificationTests. + */ + cursor?: NotificationTestWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` NotificationTests from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` NotificationTests. + */ + skip?: number + distinct?: NotificationTestScalarFieldEnum | NotificationTestScalarFieldEnum[] + } + + /** + * NotificationTest create + */ + export type NotificationTestCreateArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * The data needed to create a NotificationTest. + */ + data: XOR + } + + /** + * NotificationTest createMany + */ + export type NotificationTestCreateManyArgs = { + /** + * The data used to create many NotificationTests. + */ + data: NotificationTestCreateManyInput | NotificationTestCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * NotificationTest createManyAndReturn + */ + export type NotificationTestCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelectCreateManyAndReturn | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * The data used to create many NotificationTests. + */ + data: NotificationTestCreateManyInput | NotificationTestCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestIncludeCreateManyAndReturn | null + } + + /** + * NotificationTest update + */ + export type NotificationTestUpdateArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * The data needed to update a NotificationTest. + */ + data: XOR + /** + * Choose, which NotificationTest to update. + */ + where: NotificationTestWhereUniqueInput + } + + /** + * NotificationTest updateMany + */ + export type NotificationTestUpdateManyArgs = { + /** + * The data used to update NotificationTests. + */ + data: XOR + /** + * Filter which NotificationTests to update + */ + where?: NotificationTestWhereInput + /** + * Limit how many NotificationTests to update. + */ + limit?: number + } + + /** + * NotificationTest updateManyAndReturn + */ + export type NotificationTestUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * The data used to update NotificationTests. + */ + data: XOR + /** + * Filter which NotificationTests to update + */ + where?: NotificationTestWhereInput + /** + * Limit how many NotificationTests to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestIncludeUpdateManyAndReturn | null + } + + /** + * NotificationTest upsert + */ + export type NotificationTestUpsertArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * The filter to search for the NotificationTest to update in case it exists. + */ + where: NotificationTestWhereUniqueInput + /** + * In case the NotificationTest found by the `where` argument doesn't exist, create a new NotificationTest with this data. + */ + create: XOR + /** + * In case the NotificationTest was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * NotificationTest delete + */ + export type NotificationTestDeleteArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null + /** + * Filter which NotificationTest to delete. + */ + where: NotificationTestWhereUniqueInput + } + + /** + * NotificationTest deleteMany + */ + export type NotificationTestDeleteManyArgs = { + /** + * Filter which NotificationTests to delete + */ + where?: NotificationTestWhereInput + /** + * Limit how many NotificationTests to delete. + */ + limit?: number + } + + /** + * NotificationTest without action + */ + export type NotificationTestDefaultArgs = { + /** + * Select specific fields to fetch from the NotificationTest + */ + select?: NotificationTestSelect | null + /** + * Omit specific fields from the NotificationTest + */ + omit?: NotificationTestOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: NotificationTestInclude | null } @@ -13066,6 +14333,15 @@ export namespace Prisma { export type NotificationProviderScalarFieldEnum = (typeof NotificationProviderScalarFieldEnum)[keyof typeof NotificationProviderScalarFieldEnum] + export const NotificationTestScalarFieldEnum: { + id: 'id', + notificationProviderId: 'notificationProviderId', + success: 'success' + }; + + export type NotificationTestScalarFieldEnum = (typeof NotificationTestScalarFieldEnum)[keyof typeof NotificationTestScalarFieldEnum] + + export const SortOrder: { asc: 'asc', desc: 'desc' @@ -13827,6 +15103,7 @@ export namespace Prisma { name?: StringFilter<"NotificationProvider"> | string type?: EnumNotificationTypeFilter<"NotificationProvider"> | $Enums.NotificationType config?: JsonFilter<"NotificationProvider"> + tests?: NotificationTestListRelationFilter } export type NotificationProviderOrderByWithRelationInput = { @@ -13834,6 +15111,7 @@ export namespace Prisma { name?: SortOrder type?: SortOrder config?: SortOrder + tests?: NotificationTestOrderByRelationAggregateInput } export type NotificationProviderWhereUniqueInput = Prisma.AtLeast<{ @@ -13844,6 +15122,7 @@ export namespace Prisma { name?: StringFilter<"NotificationProvider"> | string type?: EnumNotificationTypeFilter<"NotificationProvider"> | $Enums.NotificationType config?: JsonFilter<"NotificationProvider"> + tests?: NotificationTestListRelationFilter }, "id"> export type NotificationProviderOrderByWithAggregationInput = { @@ -13868,6 +15147,53 @@ export namespace Prisma { config?: JsonWithAggregatesFilter<"NotificationProvider"> } + export type NotificationTestWhereInput = { + AND?: NotificationTestWhereInput | NotificationTestWhereInput[] + OR?: NotificationTestWhereInput[] + NOT?: NotificationTestWhereInput | NotificationTestWhereInput[] + id?: IntFilter<"NotificationTest"> | number + notificationProviderId?: IntFilter<"NotificationTest"> | number + success?: BoolFilter<"NotificationTest"> | boolean + notificationProvider?: XOR + } + + export type NotificationTestOrderByWithRelationInput = { + id?: SortOrder + notificationProviderId?: SortOrder + success?: SortOrder + notificationProvider?: NotificationProviderOrderByWithRelationInput + } + + export type NotificationTestWhereUniqueInput = Prisma.AtLeast<{ + id?: number + AND?: NotificationTestWhereInput | NotificationTestWhereInput[] + OR?: NotificationTestWhereInput[] + NOT?: NotificationTestWhereInput | NotificationTestWhereInput[] + notificationProviderId?: IntFilter<"NotificationTest"> | number + success?: BoolFilter<"NotificationTest"> | boolean + notificationProvider?: XOR + }, "id"> + + export type NotificationTestOrderByWithAggregationInput = { + id?: SortOrder + notificationProviderId?: SortOrder + success?: SortOrder + _count?: NotificationTestCountOrderByAggregateInput + _avg?: NotificationTestAvgOrderByAggregateInput + _max?: NotificationTestMaxOrderByAggregateInput + _min?: NotificationTestMinOrderByAggregateInput + _sum?: NotificationTestSumOrderByAggregateInput + } + + export type NotificationTestScalarWhereWithAggregatesInput = { + AND?: NotificationTestScalarWhereWithAggregatesInput | NotificationTestScalarWhereWithAggregatesInput[] + OR?: NotificationTestScalarWhereWithAggregatesInput[] + NOT?: NotificationTestScalarWhereWithAggregatesInput | NotificationTestScalarWhereWithAggregatesInput[] + id?: IntWithAggregatesFilter<"NotificationTest"> | number + notificationProviderId?: IntWithAggregatesFilter<"NotificationTest"> | number + success?: BoolWithAggregatesFilter<"NotificationTest"> | boolean + } + export type UserCreateInput = { id?: string username: string @@ -14507,6 +15833,7 @@ export namespace Prisma { name: string type: $Enums.NotificationType config: JsonNullValueInput | InputJsonValue + tests?: NotificationTestCreateNestedManyWithoutNotificationProviderInput } export type NotificationProviderUncheckedCreateInput = { @@ -14514,12 +15841,14 @@ export namespace Prisma { name: string type: $Enums.NotificationType config: JsonNullValueInput | InputJsonValue + tests?: NotificationTestUncheckedCreateNestedManyWithoutNotificationProviderInput } export type NotificationProviderUpdateInput = { name?: StringFieldUpdateOperationsInput | string type?: EnumNotificationTypeFieldUpdateOperationsInput | $Enums.NotificationType config?: JsonNullValueInput | InputJsonValue + tests?: NotificationTestUpdateManyWithoutNotificationProviderNestedInput } export type NotificationProviderUncheckedUpdateInput = { @@ -14527,6 +15856,7 @@ export namespace Prisma { name?: StringFieldUpdateOperationsInput | string type?: EnumNotificationTypeFieldUpdateOperationsInput | $Enums.NotificationType config?: JsonNullValueInput | InputJsonValue + tests?: NotificationTestUncheckedUpdateManyWithoutNotificationProviderNestedInput } export type NotificationProviderCreateManyInput = { @@ -14549,6 +15879,44 @@ export namespace Prisma { config?: JsonNullValueInput | InputJsonValue } + export type NotificationTestCreateInput = { + success: boolean + notificationProvider: NotificationProviderCreateNestedOneWithoutTestsInput + } + + export type NotificationTestUncheckedCreateInput = { + id?: number + notificationProviderId: number + success: boolean + } + + export type NotificationTestUpdateInput = { + success?: BoolFieldUpdateOperationsInput | boolean + notificationProvider?: NotificationProviderUpdateOneRequiredWithoutTestsNestedInput + } + + export type NotificationTestUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + notificationProviderId?: IntFieldUpdateOperationsInput | number + success?: BoolFieldUpdateOperationsInput | boolean + } + + export type NotificationTestCreateManyInput = { + id?: number + notificationProviderId: number + success: boolean + } + + export type NotificationTestUpdateManyMutationInput = { + success?: BoolFieldUpdateOperationsInput | boolean + } + + export type NotificationTestUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + notificationProviderId?: IntFieldUpdateOperationsInput | number + success?: BoolFieldUpdateOperationsInput | boolean + } + export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -15217,6 +16585,16 @@ export namespace Prisma { not?: InputJsonValue | JsonFieldRefInput<$PrismaModel> | JsonNullValueFilter } + export type NotificationTestListRelationFilter = { + every?: NotificationTestWhereInput + some?: NotificationTestWhereInput + none?: NotificationTestWhereInput + } + + export type NotificationTestOrderByRelationAggregateInput = { + _count?: SortOrder + } + export type NotificationProviderCountOrderByAggregateInput = { id?: SortOrder name?: SortOrder @@ -15280,6 +16658,39 @@ export namespace Prisma { _max?: NestedJsonFilter<$PrismaModel> } + export type NotificationProviderScalarRelationFilter = { + is?: NotificationProviderWhereInput + isNot?: NotificationProviderWhereInput + } + + export type NotificationTestCountOrderByAggregateInput = { + id?: SortOrder + notificationProviderId?: SortOrder + success?: SortOrder + } + + export type NotificationTestAvgOrderByAggregateInput = { + id?: SortOrder + notificationProviderId?: SortOrder + } + + export type NotificationTestMaxOrderByAggregateInput = { + id?: SortOrder + notificationProviderId?: SortOrder + success?: SortOrder + } + + export type NotificationTestMinOrderByAggregateInput = { + id?: SortOrder + notificationProviderId?: SortOrder + success?: SortOrder + } + + export type NotificationTestSumOrderByAggregateInput = { + id?: SortOrder + notificationProviderId?: SortOrder + } + export type StringFieldUpdateOperationsInput = { set?: string } @@ -15596,10 +17007,66 @@ export namespace Prisma { update?: XOR, ApplicationUncheckedUpdateWithoutMonitoringDataInput> } + export type NotificationTestCreateNestedManyWithoutNotificationProviderInput = { + create?: XOR | NotificationTestCreateWithoutNotificationProviderInput[] | NotificationTestUncheckedCreateWithoutNotificationProviderInput[] + connectOrCreate?: NotificationTestCreateOrConnectWithoutNotificationProviderInput | NotificationTestCreateOrConnectWithoutNotificationProviderInput[] + createMany?: NotificationTestCreateManyNotificationProviderInputEnvelope + connect?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + } + + export type NotificationTestUncheckedCreateNestedManyWithoutNotificationProviderInput = { + create?: XOR | NotificationTestCreateWithoutNotificationProviderInput[] | NotificationTestUncheckedCreateWithoutNotificationProviderInput[] + connectOrCreate?: NotificationTestCreateOrConnectWithoutNotificationProviderInput | NotificationTestCreateOrConnectWithoutNotificationProviderInput[] + createMany?: NotificationTestCreateManyNotificationProviderInputEnvelope + connect?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + } + export type EnumNotificationTypeFieldUpdateOperationsInput = { set?: $Enums.NotificationType } + export type NotificationTestUpdateManyWithoutNotificationProviderNestedInput = { + create?: XOR | NotificationTestCreateWithoutNotificationProviderInput[] | NotificationTestUncheckedCreateWithoutNotificationProviderInput[] + connectOrCreate?: NotificationTestCreateOrConnectWithoutNotificationProviderInput | NotificationTestCreateOrConnectWithoutNotificationProviderInput[] + upsert?: NotificationTestUpsertWithWhereUniqueWithoutNotificationProviderInput | NotificationTestUpsertWithWhereUniqueWithoutNotificationProviderInput[] + createMany?: NotificationTestCreateManyNotificationProviderInputEnvelope + set?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + disconnect?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + delete?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + connect?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + update?: NotificationTestUpdateWithWhereUniqueWithoutNotificationProviderInput | NotificationTestUpdateWithWhereUniqueWithoutNotificationProviderInput[] + updateMany?: NotificationTestUpdateManyWithWhereWithoutNotificationProviderInput | NotificationTestUpdateManyWithWhereWithoutNotificationProviderInput[] + deleteMany?: NotificationTestScalarWhereInput | NotificationTestScalarWhereInput[] + } + + export type NotificationTestUncheckedUpdateManyWithoutNotificationProviderNestedInput = { + create?: XOR | NotificationTestCreateWithoutNotificationProviderInput[] | NotificationTestUncheckedCreateWithoutNotificationProviderInput[] + connectOrCreate?: NotificationTestCreateOrConnectWithoutNotificationProviderInput | NotificationTestCreateOrConnectWithoutNotificationProviderInput[] + upsert?: NotificationTestUpsertWithWhereUniqueWithoutNotificationProviderInput | NotificationTestUpsertWithWhereUniqueWithoutNotificationProviderInput[] + createMany?: NotificationTestCreateManyNotificationProviderInputEnvelope + set?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + disconnect?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + delete?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + connect?: NotificationTestWhereUniqueInput | NotificationTestWhereUniqueInput[] + update?: NotificationTestUpdateWithWhereUniqueWithoutNotificationProviderInput | NotificationTestUpdateWithWhereUniqueWithoutNotificationProviderInput[] + updateMany?: NotificationTestUpdateManyWithWhereWithoutNotificationProviderInput | NotificationTestUpdateManyWithWhereWithoutNotificationProviderInput[] + deleteMany?: NotificationTestScalarWhereInput | NotificationTestScalarWhereInput[] + } + + export type NotificationProviderCreateNestedOneWithoutTestsInput = { + create?: XOR + connectOrCreate?: NotificationProviderCreateOrConnectWithoutTestsInput + connect?: NotificationProviderWhereUniqueInput + } + + export type NotificationProviderUpdateOneRequiredWithoutTestsNestedInput = { + create?: XOR + connectOrCreate?: NotificationProviderCreateOrConnectWithoutTestsInput + upsert?: NotificationProviderUpsertWithoutTestsInput + connect?: NotificationProviderWhereUniqueInput + update?: XOR, NotificationProviderUncheckedUpdateWithoutTestsInput> + } + export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -16459,6 +17926,92 @@ export namespace Prisma { monitoring?: BoolFieldUpdateOperationsInput | boolean } + export type NotificationTestCreateWithoutNotificationProviderInput = { + success: boolean + } + + export type NotificationTestUncheckedCreateWithoutNotificationProviderInput = { + id?: number + success: boolean + } + + export type NotificationTestCreateOrConnectWithoutNotificationProviderInput = { + where: NotificationTestWhereUniqueInput + create: XOR + } + + export type NotificationTestCreateManyNotificationProviderInputEnvelope = { + data: NotificationTestCreateManyNotificationProviderInput | NotificationTestCreateManyNotificationProviderInput[] + skipDuplicates?: boolean + } + + export type NotificationTestUpsertWithWhereUniqueWithoutNotificationProviderInput = { + where: NotificationTestWhereUniqueInput + update: XOR + create: XOR + } + + export type NotificationTestUpdateWithWhereUniqueWithoutNotificationProviderInput = { + where: NotificationTestWhereUniqueInput + data: XOR + } + + export type NotificationTestUpdateManyWithWhereWithoutNotificationProviderInput = { + where: NotificationTestScalarWhereInput + data: XOR + } + + export type NotificationTestScalarWhereInput = { + AND?: NotificationTestScalarWhereInput | NotificationTestScalarWhereInput[] + OR?: NotificationTestScalarWhereInput[] + NOT?: NotificationTestScalarWhereInput | NotificationTestScalarWhereInput[] + id?: IntFilter<"NotificationTest"> | number + notificationProviderId?: IntFilter<"NotificationTest"> | number + success?: BoolFilter<"NotificationTest"> | boolean + } + + export type NotificationProviderCreateWithoutTestsInput = { + name: string + type: $Enums.NotificationType + config: JsonNullValueInput | InputJsonValue + } + + export type NotificationProviderUncheckedCreateWithoutTestsInput = { + id?: number + name: string + type: $Enums.NotificationType + config: JsonNullValueInput | InputJsonValue + } + + export type NotificationProviderCreateOrConnectWithoutTestsInput = { + where: NotificationProviderWhereUniqueInput + create: XOR + } + + export type NotificationProviderUpsertWithoutTestsInput = { + update: XOR + create: XOR + where?: NotificationProviderWhereInput + } + + export type NotificationProviderUpdateToOneWithWhereWithoutTestsInput = { + where?: NotificationProviderWhereInput + data: XOR + } + + export type NotificationProviderUpdateWithoutTestsInput = { + name?: StringFieldUpdateOperationsInput | string + type?: EnumNotificationTypeFieldUpdateOperationsInput | $Enums.NotificationType + config?: JsonNullValueInput | InputJsonValue + } + + export type NotificationProviderUncheckedUpdateWithoutTestsInput = { + id?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + type?: EnumNotificationTypeFieldUpdateOperationsInput | $Enums.NotificationType + config?: JsonNullValueInput | InputJsonValue + } + export type NetworkCreateManySiteInput = { id?: number name: string @@ -16678,6 +18231,25 @@ export namespace Prisma { timestamp?: DateTimeFieldUpdateOperationsInput | Date | string } + export type NotificationTestCreateManyNotificationProviderInput = { + id?: number + success: boolean + } + + export type NotificationTestUpdateWithoutNotificationProviderInput = { + success?: BoolFieldUpdateOperationsInput | boolean + } + + export type NotificationTestUncheckedUpdateWithoutNotificationProviderInput = { + id?: IntFieldUpdateOperationsInput | number + success?: BoolFieldUpdateOperationsInput | boolean + } + + export type NotificationTestUncheckedUpdateManyWithoutNotificationProviderInput = { + id?: IntFieldUpdateOperationsInput | number + success?: BoolFieldUpdateOperationsInput | boolean + } + /** diff --git a/prisma/generated/prisma/index.js b/prisma/generated/prisma/index.js index 883a56e..4b151b4 100644 --- a/prisma/generated/prisma/index.js +++ b/prisma/generated/prisma/index.js @@ -192,6 +192,12 @@ exports.Prisma.NotificationProviderScalarFieldEnum = { config: 'config' }; +exports.Prisma.NotificationTestScalarFieldEnum = { + id: 'id', + notificationProviderId: 'notificationProviderId', + success: 'success' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -230,7 +236,8 @@ exports.Prisma.ModelName = { ApplicationMonitoring: 'ApplicationMonitoring', ServerMonitoringNotification: 'ServerMonitoringNotification', ApplicationMonitoringNotification: 'ApplicationMonitoringNotification', - NotificationProvider: 'NotificationProvider' + NotificationProvider: 'NotificationProvider', + NotificationTest: 'NotificationTest' }; /** * Create the Client @@ -279,8 +286,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\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\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\n @@map(\"notification_providers\")\n}\n\nenum NotificationType {\n TELEGRAM\n}\n", - "inlineSchemaHash": "f03b711952651f98bddda4c5e124a2d411dcdb2c73612be56f73aa148fa2b6fe", + "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\n @@map(\"server_monitoring_notifications\")\n}\n\nmodel ApplicationMonitoringNotification {\n id Int @id @default(autoincrement())\n statusChange Boolean\n latencyLimit Float\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 success Boolean\n\n @@map(\"notification_tests\")\n}\n\nenum NotificationType {\n TELEGRAM\n}\n", + "inlineSchemaHash": "d3c01ea54722382694e81c7ddcadc7d2465ea211e91ddbf406de5b12675b7271", "copyEngine": true } @@ -301,7 +308,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}],\"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}],\"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}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"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}],\"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}],\"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\":\"success\",\"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}},\"enums\":{\"NotificationType\":{\"values\":[{\"name\":\"TELEGRAM\",\"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 a46c6af..c3127a1 100644 --- a/prisma/generated/prisma/package.json +++ b/prisma/generated/prisma/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-19bcb3aaef20e52de0ea97ea43c6350ef348393f05284ca1b48815e9775e6aa7", + "name": "prisma-client-2fec847da0083065385189c4f35689219e1cfa753e77e6bee4a71c77e07624c0", "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 59ca8dc..073a30f 100644 --- a/prisma/generated/prisma/schema.prisma +++ b/prisma/generated/prisma/schema.prisma @@ -139,14 +139,24 @@ model ApplicationMonitoringNotification { } model NotificationProvider { - id Int @id @default(autoincrement()) + id Int @id @default(autoincrement()) name String type NotificationType config Json + tests NotificationTest[] @@map("notification_providers") } +model NotificationTest { + id Int @id @default(autoincrement()) + notificationProvider NotificationProvider @relation(fields: [notificationProviderId], references: [id], onDelete: Cascade) + notificationProviderId Int + success Boolean + + @@map("notification_tests") +} + enum NotificationType { TELEGRAM } diff --git a/prisma/generated/prisma/wasm.js b/prisma/generated/prisma/wasm.js index a138360..cae001a 100644 --- a/prisma/generated/prisma/wasm.js +++ b/prisma/generated/prisma/wasm.js @@ -219,6 +219,12 @@ exports.Prisma.NotificationProviderScalarFieldEnum = { config: 'config' }; +exports.Prisma.NotificationTestScalarFieldEnum = { + id: 'id', + notificationProviderId: 'notificationProviderId', + success: 'success' +}; + exports.Prisma.SortOrder = { asc: 'asc', desc: 'desc' @@ -257,7 +263,8 @@ exports.Prisma.ModelName = { ApplicationMonitoring: 'ApplicationMonitoring', ServerMonitoringNotification: 'ServerMonitoringNotification', ApplicationMonitoringNotification: 'ApplicationMonitoringNotification', - NotificationProvider: 'NotificationProvider' + NotificationProvider: 'NotificationProvider', + NotificationTest: 'NotificationTest' }; /** diff --git a/prisma/migrations/20250523201308_notification_test/migration.sql b/prisma/migrations/20250523201308_notification_test/migration.sql new file mode 100644 index 0000000..7250b5b --- /dev/null +++ b/prisma/migrations/20250523201308_notification_test/migration.sql @@ -0,0 +1,11 @@ +-- CreateTable +CREATE TABLE "notification_tests" ( + "id" SERIAL NOT NULL, + "notificationProviderId" INTEGER NOT NULL, + "success" BOOLEAN NOT NULL, + + CONSTRAINT "notification_tests_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "notification_tests" ADD CONSTRAINT "notification_tests_notificationProviderId_fkey" FOREIGN KEY ("notificationProviderId") REFERENCES "notification_providers"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 5e72814..086b2bb 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -145,10 +145,20 @@ model NotificationProvider { name String type NotificationType config Json + tests NotificationTest[] @@map("notification_providers") } +model NotificationTest { + id Int @id @default(autoincrement()) + notificationProvider NotificationProvider @relation(fields: [notificationProviderId], references: [id], onDelete: Cascade) + notificationProviderId Int + success Boolean + + @@map("notification_tests") +} + enum NotificationType { TELEGRAM } \ No newline at end of file