@oneuptime/common 11.4.1 → 11.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/Models/DatabaseModels/AIRun.ts +50 -0
  2. package/Models/DatabaseModels/AlertSeverity.ts +6 -0
  3. package/Models/DatabaseModels/IncidentSeverity.ts +6 -0
  4. package/Models/DatabaseModels/Index.ts +16 -0
  5. package/Models/DatabaseModels/IoTDeviceCredential.ts +471 -0
  6. package/Models/DatabaseModels/LlmLog.ts +56 -0
  7. package/Models/DatabaseModels/LlmProvider.ts +33 -0
  8. package/Models/DatabaseModels/NetworkDevice.ts +1385 -0
  9. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +717 -0
  10. package/Models/DatabaseModels/NetworkDeviceLabelRule.ts +514 -0
  11. package/Models/DatabaseModels/NetworkDeviceOwnerRule.ts +596 -0
  12. package/Models/DatabaseModels/NetworkDeviceOwnerTeam.ts +487 -0
  13. package/Models/DatabaseModels/NetworkDeviceOwnerUser.ts +486 -0
  14. package/Models/DatabaseModels/NetworkInterface.ts +563 -0
  15. package/Models/DatabaseModels/Project.ts +145 -0
  16. package/Models/DatabaseModels/TelemetryEntityRelationship.ts +54 -0
  17. package/Server/API/AIInvestigationAPI.ts +131 -63
  18. package/Server/API/AlertAPI.ts +5 -0
  19. package/Server/API/IncidentAPI.ts +10 -0
  20. package/Server/API/IncidentEpisodeAPI.ts +5 -0
  21. package/Server/API/LlmProviderAPI.ts +4 -0
  22. package/Server/API/ScheduledMaintenanceAPI.ts +5 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1783650000000-AddAdditionalParamsToLlmProvider.ts +19 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1783695782697-AddCacheTokenColumnsToLlmLog.ts +25 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1783701585317-AddAlertInvestigationGating.ts +31 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1783702431535-AddAiDailyAutonomousTokenLimitToProject.ts +19 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1783720000000-AddNetworkDeviceTables.ts +105 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1783721121260-AddAttemptCountToAIRun.ts +15 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1783730000000-AddNetworkDeviceOwnersAndRules.ts +192 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1783740000000-AddNetworkDeviceDiscoveryScan.ts +37 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1783750000000-AddLldpNeighborsToNetworkDevice.ts +19 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1783760576655-AddInvestigationTuningToProject.ts +25 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1783762505482-AddTelemetryEntityRelationshipMetrics.ts +31 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1783780000000-AddIoTDeviceCredentialTable.ts +79 -0
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/1783790000000-AddSnmpV3AuthColumnsToNetworkDevice.ts +49 -0
  36. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +26 -0
  37. package/Server/Services/AIRunService.ts +58 -0
  38. package/Server/Services/AIService.ts +101 -0
  39. package/Server/Services/IncidentService.ts +14 -41
  40. package/Server/Services/Index.ts +14 -0
  41. package/Server/Services/IoTDeviceCredentialService.ts +351 -0
  42. package/Server/Services/IoTDeviceService.ts +64 -21
  43. package/Server/Services/LlmLogService.ts +26 -0
  44. package/Server/Services/LlmProviderService.ts +3 -0
  45. package/Server/Services/MonitorService.ts +4 -1
  46. package/Server/Services/NetworkDeviceDiscoveryScanService.ts +10 -0
  47. package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +204 -0
  48. package/Server/Services/NetworkDeviceLabelRuleService.ts +14 -0
  49. package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +222 -0
  50. package/Server/Services/NetworkDeviceOwnerRuleService.ts +14 -0
  51. package/Server/Services/NetworkDeviceOwnerTeamService.ts +10 -0
  52. package/Server/Services/NetworkDeviceOwnerUserService.ts +10 -0
  53. package/Server/Services/NetworkDeviceService.ts +50 -0
  54. package/Server/Services/NetworkInterfaceService.ts +10 -0
  55. package/Server/Services/TelemetryEntityRelationshipService.ts +23 -0
  56. package/Server/Services/TelemetryEntityService.ts +72 -2
  57. package/Server/Utils/AI/Sentinel/AlertInvestigationRunner.ts +244 -12
  58. package/Server/Utils/AI/Sentinel/IncidentInvestigationRunner.ts +92 -19
  59. package/Server/Utils/AI/Sentinel/InvestigationQueue.ts +493 -0
  60. package/Server/Utils/AI/Sentinel/SentinelInvestigationEngine.ts +88 -68
  61. package/Server/Utils/AI/Toolbox/Index.ts +2 -1
  62. package/Server/Utils/AI/Toolbox/MetricTools.ts +391 -0
  63. package/Server/Utils/LLM/LLMService.ts +21 -0
  64. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +170 -2
  65. package/Server/Utils/Monitor/IoTDeviceAbsenceSeries.ts +101 -0
  66. package/Server/Utils/Monitor/MonitorAlert.ts +15 -3
  67. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +1 -1
  68. package/Server/Utils/Monitor/MonitorIncident.ts +19 -3
  69. package/Server/Utils/Monitor/MonitorMetricUtil.ts +87 -0
  70. package/Server/Utils/Monitor/MonitorResource.ts +77 -21
  71. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +1 -1
  72. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +201 -0
  73. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +215 -0
  74. package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +169 -0
  75. package/Tests/Server/Services/AIServiceDailyBudget.test.ts +173 -0
  76. package/Tests/Server/Services/IncidentInternalNoteAnnouncement.test.ts +97 -0
  77. package/Tests/Server/Services/IoTDeviceService.test.ts +54 -0
  78. package/Tests/Server/Utils/AI/BaselineAnomalyTool.test.ts +253 -0
  79. package/Tests/Server/Utils/AI/LLMServiceToolCalling.test.ts +44 -0
  80. package/Tests/Server/Utils/AI/SentinelAlertGating.test.ts +360 -0
  81. package/Tests/Server/Utils/AI/SentinelInvestigationQueue.test.ts +295 -0
  82. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +59 -0
  83. package/Tests/Server/Utils/Monitor/IoTDeviceAbsenceSeries.test.ts +113 -0
  84. package/Tests/Server/Utils/Monitor/PerSeriesRecoveryResolution.test.ts +198 -0
  85. package/Tests/Types/Monitor/MonitorType.test.ts +1 -1
  86. package/Tests/Utils/Monitor/LatencyMatrixUtil.test.ts +111 -0
  87. package/Types/AI/AIRunStatus.ts +9 -0
  88. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +0 -1
  89. package/Types/Dashboard/DashboardComponents/DashboardLogChartComponent.ts +8 -3
  90. package/Types/LlmLogStatus.ts +1 -0
  91. package/Types/Monitor/CriteriaFilter.ts +5 -0
  92. package/Types/Monitor/IotAlertTemplates.ts +22 -3
  93. package/Types/Monitor/LatencyMatrix.ts +27 -0
  94. package/Types/Monitor/MonitorCriteriaInstance.ts +2 -2
  95. package/Types/Monitor/MonitorMetricType.ts +10 -0
  96. package/Types/Monitor/MonitorStep.ts +36 -11
  97. package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +55 -0
  98. package/Types/Monitor/MonitorStepSnmpMonitor.ts +8 -0
  99. package/Types/Monitor/MonitorType.ts +14 -9
  100. package/Types/Monitor/SnmpMonitor/LldpNeighbor.ts +12 -0
  101. package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +116 -0
  102. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +29 -0
  103. package/Types/Monitor/SnmpMonitor/SnmpInterface.ts +31 -0
  104. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +24 -0
  105. package/Types/Monitor/SnmpMonitor/SnmpTrap.ts +20 -0
  106. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +173 -0
  107. package/Types/Permission.ts +314 -0
  108. package/Types/Probe/ProbeMonitorResponse.ts +8 -0
  109. package/UI/Components/Icon/Icon.tsx +8 -6
  110. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +2 -2
  111. package/UI/Components/MoreMenu/MoreMenu.tsx +61 -2
  112. package/UI/Components/Tabs/Tabs.tsx +10 -1
  113. package/UI/Utils/Navigation.ts +10 -1
  114. package/Utils/Dashboard/Components/DashboardLogChartComponent.ts +16 -21
  115. package/Utils/Monitor/LatencyMatrixUtil.ts +162 -0
  116. package/Utils/Monitor/MonitorMetricType.ts +71 -1
  117. package/Utils/Monitor/NetworkTopologyUtil.ts +159 -0
  118. package/Utils/Telemetry/EntityRelationship.ts +11 -0
  119. package/build/dist/Models/DatabaseModels/AIRun.js +52 -0
  120. package/build/dist/Models/DatabaseModels/AIRun.js.map +1 -1
  121. package/build/dist/Models/DatabaseModels/AlertSeverity.js +6 -0
  122. package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
  123. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +6 -0
  124. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
  125. package/build/dist/Models/DatabaseModels/Index.js +16 -0
  126. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  127. package/build/dist/Models/DatabaseModels/IoTDeviceCredential.js +493 -0
  128. package/build/dist/Models/DatabaseModels/IoTDeviceCredential.js.map +1 -0
  129. package/build/dist/Models/DatabaseModels/LlmLog.js +58 -0
  130. package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -1
  131. package/build/dist/Models/DatabaseModels/LlmProvider.js +33 -0
  132. package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
  133. package/build/dist/Models/DatabaseModels/NetworkDevice.js +1426 -0
  134. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -0
  135. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +738 -0
  136. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -0
  137. package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js +522 -0
  138. package/build/dist/Models/DatabaseModels/NetworkDeviceLabelRule.js.map +1 -0
  139. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js +603 -0
  140. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerRule.js.map +1 -0
  141. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerTeam.js +503 -0
  142. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerTeam.js.map +1 -0
  143. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerUser.js +502 -0
  144. package/build/dist/Models/DatabaseModels/NetworkDeviceOwnerUser.js.map +1 -0
  145. package/build/dist/Models/DatabaseModels/NetworkInterface.js +589 -0
  146. package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -0
  147. package/build/dist/Models/DatabaseModels/Project.js +147 -0
  148. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  149. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +57 -0
  150. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -1
  151. package/build/dist/Server/API/AIInvestigationAPI.js +95 -55
  152. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  153. package/build/dist/Server/API/AlertAPI.js +5 -0
  154. package/build/dist/Server/API/AlertAPI.js.map +1 -1
  155. package/build/dist/Server/API/IncidentAPI.js +10 -0
  156. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  157. package/build/dist/Server/API/IncidentEpisodeAPI.js +5 -0
  158. package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
  159. package/build/dist/Server/API/LlmProviderAPI.js +5 -7
  160. package/build/dist/Server/API/LlmProviderAPI.js.map +1 -1
  161. package/build/dist/Server/API/ScheduledMaintenanceAPI.js +5 -0
  162. package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
  163. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783650000000-AddAdditionalParamsToLlmProvider.js +12 -0
  164. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783650000000-AddAdditionalParamsToLlmProvider.js.map +1 -0
  165. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783695782697-AddCacheTokenColumnsToLlmLog.js +14 -0
  166. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783695782697-AddCacheTokenColumnsToLlmLog.js.map +1 -0
  167. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783701585317-AddAlertInvestigationGating.js +18 -0
  168. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783701585317-AddAlertInvestigationGating.js.map +1 -0
  169. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783702431535-AddAiDailyAutonomousTokenLimitToProject.js +12 -0
  170. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783702431535-AddAiDailyAutonomousTokenLimitToProject.js.map +1 -0
  171. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783720000000-AddNetworkDeviceTables.js +51 -0
  172. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783720000000-AddNetworkDeviceTables.js.map +1 -0
  173. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783721121260-AddAttemptCountToAIRun.js +12 -0
  174. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783721121260-AddAttemptCountToAIRun.js.map +1 -0
  175. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783730000000-AddNetworkDeviceOwnersAndRules.js +101 -0
  176. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783730000000-AddNetworkDeviceOwnersAndRules.js.map +1 -0
  177. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783740000000-AddNetworkDeviceDiscoveryScan.js +18 -0
  178. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783740000000-AddNetworkDeviceDiscoveryScan.js.map +1 -0
  179. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783750000000-AddLldpNeighborsToNetworkDevice.js +12 -0
  180. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783750000000-AddLldpNeighborsToNetworkDevice.js.map +1 -0
  181. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783760576655-AddInvestigationTuningToProject.js +14 -0
  182. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783760576655-AddInvestigationTuningToProject.js.map +1 -0
  183. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783762505482-AddTelemetryEntityRelationshipMetrics.js +16 -0
  184. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783762505482-AddTelemetryEntityRelationshipMetrics.js.map +1 -0
  185. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783780000000-AddIoTDeviceCredentialTable.js +38 -0
  186. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783780000000-AddIoTDeviceCredentialTable.js.map +1 -0
  187. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783790000000-AddSnmpV3AuthColumnsToNetworkDevice.js +22 -0
  188. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783790000000-AddSnmpV3AuthColumnsToNetworkDevice.js.map +1 -0
  189. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +26 -0
  190. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  191. package/build/dist/Server/Services/AIRunService.js +33 -0
  192. package/build/dist/Server/Services/AIRunService.js.map +1 -1
  193. package/build/dist/Server/Services/AIService.js +82 -9
  194. package/build/dist/Server/Services/AIService.js.map +1 -1
  195. package/build/dist/Server/Services/IncidentService.js +14 -25
  196. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  197. package/build/dist/Server/Services/Index.js +14 -0
  198. package/build/dist/Server/Services/Index.js.map +1 -1
  199. package/build/dist/Server/Services/IoTDeviceCredentialService.js +321 -0
  200. package/build/dist/Server/Services/IoTDeviceCredentialService.js.map +1 -0
  201. package/build/dist/Server/Services/IoTDeviceService.js +49 -15
  202. package/build/dist/Server/Services/IoTDeviceService.js.map +1 -1
  203. package/build/dist/Server/Services/LlmLogService.js +29 -0
  204. package/build/dist/Server/Services/LlmLogService.js.map +1 -1
  205. package/build/dist/Server/Services/LlmProviderService.js +3 -0
  206. package/build/dist/Server/Services/LlmProviderService.js.map +1 -1
  207. package/build/dist/Server/Services/MonitorService.js +2 -1
  208. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  209. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +9 -0
  210. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -0
  211. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +166 -0
  212. package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -0
  213. package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js +13 -0
  214. package/build/dist/Server/Services/NetworkDeviceLabelRuleService.js.map +1 -0
  215. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +186 -0
  216. package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -0
  217. package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js +13 -0
  218. package/build/dist/Server/Services/NetworkDeviceOwnerRuleService.js.map +1 -0
  219. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js +9 -0
  220. package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js.map +1 -0
  221. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js +9 -0
  222. package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js.map +1 -0
  223. package/build/dist/Server/Services/NetworkDeviceService.js +52 -0
  224. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -0
  225. package/build/dist/Server/Services/NetworkInterfaceService.js +9 -0
  226. package/build/dist/Server/Services/NetworkInterfaceService.js.map +1 -0
  227. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +22 -0
  228. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -1
  229. package/build/dist/Server/Services/TelemetryEntityService.js +64 -2
  230. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -1
  231. package/build/dist/Server/Utils/AI/Sentinel/AlertInvestigationRunner.js +189 -9
  232. package/build/dist/Server/Utils/AI/Sentinel/AlertInvestigationRunner.js.map +1 -1
  233. package/build/dist/Server/Utils/AI/Sentinel/IncidentInvestigationRunner.js +84 -17
  234. package/build/dist/Server/Utils/AI/Sentinel/IncidentInvestigationRunner.js.map +1 -1
  235. package/build/dist/Server/Utils/AI/Sentinel/InvestigationQueue.js +428 -0
  236. package/build/dist/Server/Utils/AI/Sentinel/InvestigationQueue.js.map +1 -0
  237. package/build/dist/Server/Utils/AI/Sentinel/SentinelInvestigationEngine.js +63 -47
  238. package/build/dist/Server/Utils/AI/Sentinel/SentinelInvestigationEngine.js.map +1 -1
  239. package/build/dist/Server/Utils/AI/Toolbox/Index.js +2 -1
  240. package/build/dist/Server/Utils/AI/Toolbox/Index.js.map +1 -1
  241. package/build/dist/Server/Utils/AI/Toolbox/MetricTools.js +300 -0
  242. package/build/dist/Server/Utils/AI/Toolbox/MetricTools.js.map +1 -1
  243. package/build/dist/Server/Utils/LLM/LLMService.js +16 -0
  244. package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
  245. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +130 -2
  246. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  247. package/build/dist/Server/Utils/Monitor/IoTDeviceAbsenceSeries.js +81 -0
  248. package/build/dist/Server/Utils/Monitor/IoTDeviceAbsenceSeries.js.map +1 -0
  249. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +18 -7
  250. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  251. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +1 -1
  252. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  253. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +25 -10
  254. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  255. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +69 -3
  256. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  257. package/build/dist/Server/Utils/Monitor/MonitorResource.js +76 -30
  258. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  259. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +1 -1
  260. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  261. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +147 -0
  262. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -0
  263. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +167 -0
  264. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -0
  265. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +93 -0
  266. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -0
  267. package/build/dist/Types/AI/AIRunStatus.js +9 -0
  268. package/build/dist/Types/AI/AIRunStatus.js.map +1 -1
  269. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +0 -1
  270. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  271. package/build/dist/Types/LlmLogStatus.js +1 -0
  272. package/build/dist/Types/LlmLogStatus.js.map +1 -1
  273. package/build/dist/Types/Monitor/CriteriaFilter.js +5 -0
  274. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  275. package/build/dist/Types/Monitor/IotAlertTemplates.js +7 -7
  276. package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -1
  277. package/build/dist/Types/Monitor/LatencyMatrix.js +2 -0
  278. package/build/dist/Types/Monitor/LatencyMatrix.js.map +1 -0
  279. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +2 -2
  280. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  281. package/build/dist/Types/Monitor/MonitorMetricType.js +9 -0
  282. package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
  283. package/build/dist/Types/Monitor/MonitorStep.js +22 -9
  284. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  285. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +36 -0
  286. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -0
  287. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js +3 -0
  288. package/build/dist/Types/Monitor/MonitorStepSnmpMonitor.js.map +1 -1
  289. package/build/dist/Types/Monitor/MonitorType.js +14 -9
  290. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  291. package/build/dist/Types/Monitor/SnmpMonitor/LldpNeighbor.js +2 -0
  292. package/build/dist/Types/Monitor/SnmpMonitor/LldpNeighbor.js.map +1 -0
  293. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +89 -0
  294. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -0
  295. package/build/dist/Types/Monitor/SnmpMonitor/NetworkTopology.js +2 -0
  296. package/build/dist/Types/Monitor/SnmpMonitor/NetworkTopology.js.map +1 -0
  297. package/build/dist/Types/Monitor/SnmpMonitor/SnmpInterface.js +2 -0
  298. package/build/dist/Types/Monitor/SnmpMonitor/SnmpInterface.js.map +1 -0
  299. package/build/dist/Types/Monitor/SnmpMonitor/SnmpTrap.js +2 -0
  300. package/build/dist/Types/Monitor/SnmpMonitor/SnmpTrap.js.map +1 -0
  301. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +137 -0
  302. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -0
  303. package/build/dist/Types/Permission.js +280 -0
  304. package/build/dist/Types/Permission.js.map +1 -1
  305. package/build/dist/UI/Components/Icon/Icon.js +8 -6
  306. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  307. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +2 -2
  308. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  309. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +44 -4
  310. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  311. package/build/dist/UI/Components/Tabs/Tabs.js +3 -1
  312. package/build/dist/UI/Components/Tabs/Tabs.js.map +1 -1
  313. package/build/dist/UI/Utils/Navigation.js +11 -1
  314. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  315. package/build/dist/Utils/Dashboard/Components/DashboardLogChartComponent.js +17 -20
  316. package/build/dist/Utils/Dashboard/Components/DashboardLogChartComponent.js.map +1 -1
  317. package/build/dist/Utils/Monitor/LatencyMatrixUtil.js +89 -0
  318. package/build/dist/Utils/Monitor/LatencyMatrixUtil.js.map +1 -0
  319. package/build/dist/Utils/Monitor/MonitorMetricType.js +68 -1
  320. package/build/dist/Utils/Monitor/MonitorMetricType.js.map +1 -1
  321. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +112 -0
  322. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -0
  323. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -1
  324. package/package.json +1 -1
@@ -0,0 +1,1426 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Label from "./Label";
11
+ import Probe from "./Probe";
12
+ import Project from "./Project";
13
+ import User from "./User";
14
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
15
+ import Route from "../../Types/API/Route";
16
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
17
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
18
+ import AccessControlColumn from "../../Types/Database/AccessControlColumn";
19
+ import ColumnLength from "../../Types/Database/ColumnLength";
20
+ import ColumnType from "../../Types/Database/ColumnType";
21
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
22
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
23
+ import SlugifyColumn from "../../Types/Database/SlugifyColumn";
24
+ import TableColumn from "../../Types/Database/TableColumn";
25
+ import TableColumnType from "../../Types/Database/TableColumnType";
26
+ import TableMetadata from "../../Types/Database/TableMetadata";
27
+ import TenantColumn from "../../Types/Database/TenantColumn";
28
+ import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
29
+ import IconProp from "../../Types/Icon/IconProp";
30
+ import ObjectID from "../../Types/ObjectID";
31
+ import Permission from "../../Types/Permission";
32
+ import { Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, } from "typeorm";
33
+ let NetworkDevice = class NetworkDevice extends BaseModel {
34
+ constructor() {
35
+ super(...arguments);
36
+ this.project = undefined;
37
+ this.projectId = undefined;
38
+ this.name = undefined;
39
+ this.slug = undefined;
40
+ this.description = undefined;
41
+ this.hostname = undefined;
42
+ this.probe = undefined;
43
+ this.probeId = undefined;
44
+ this.snmpVersion = undefined;
45
+ this.snmpCommunityString = undefined;
46
+ this.snmpPort = undefined;
47
+ this.snmpV3Auth = undefined;
48
+ this.snmpV3SecurityLevel = undefined;
49
+ this.snmpV3Username = undefined;
50
+ this.snmpV3AuthProtocol = undefined;
51
+ this.snmpV3AuthKey = undefined;
52
+ this.snmpV3PrivProtocol = undefined;
53
+ this.snmpV3PrivKey = undefined;
54
+ this.sysDescr = undefined;
55
+ this.sysName = undefined;
56
+ this.lldpNeighbors = undefined;
57
+ this.lastSeenAt = undefined;
58
+ this.interfacesTotal = undefined;
59
+ this.interfacesUp = undefined;
60
+ this.interfacesDown = undefined;
61
+ this.createdByUser = undefined;
62
+ this.createdByUserId = undefined;
63
+ this.isArchived = undefined;
64
+ this.archivedAt = undefined;
65
+ this.archivedByUser = undefined;
66
+ this.archivedByUserId = undefined;
67
+ this.deletedByUser = undefined;
68
+ this.deletedByUserId = undefined;
69
+ this.labels = undefined;
70
+ }
71
+ };
72
+ __decorate([
73
+ ColumnAccessControl({
74
+ create: [
75
+ Permission.ProjectOwner,
76
+ Permission.ProjectAdmin,
77
+ Permission.ProjectMember,
78
+ Permission.SettingsAdmin,
79
+ Permission.SettingsMember,
80
+ Permission.CreateNetworkDevice,
81
+ ],
82
+ read: [
83
+ Permission.ProjectOwner,
84
+ Permission.ProjectAdmin,
85
+ Permission.ProjectMember,
86
+ Permission.Viewer,
87
+ Permission.SettingsAdmin,
88
+ Permission.SettingsMember,
89
+ Permission.SettingsViewer,
90
+ Permission.ReadNetworkDevice,
91
+ ],
92
+ update: [],
93
+ }),
94
+ TableColumn({
95
+ manyToOneRelationColumn: "projectId",
96
+ type: TableColumnType.Entity,
97
+ modelType: Project,
98
+ title: "Project",
99
+ description: "Relation to Project Resource in which this object belongs",
100
+ }),
101
+ ManyToOne(() => {
102
+ return Project;
103
+ }, {
104
+ eager: false,
105
+ nullable: true,
106
+ onDelete: "CASCADE",
107
+ orphanedRowAction: "nullify",
108
+ }),
109
+ JoinColumn({ name: "projectId" }),
110
+ __metadata("design:type", Project)
111
+ ], NetworkDevice.prototype, "project", void 0);
112
+ __decorate([
113
+ ColumnAccessControl({
114
+ create: [
115
+ Permission.ProjectOwner,
116
+ Permission.ProjectAdmin,
117
+ Permission.ProjectMember,
118
+ Permission.SettingsAdmin,
119
+ Permission.SettingsMember,
120
+ Permission.CreateNetworkDevice,
121
+ ],
122
+ read: [
123
+ Permission.ProjectOwner,
124
+ Permission.ProjectAdmin,
125
+ Permission.ProjectMember,
126
+ Permission.Viewer,
127
+ Permission.SettingsAdmin,
128
+ Permission.SettingsMember,
129
+ Permission.SettingsViewer,
130
+ Permission.ReadNetworkDevice,
131
+ ],
132
+ update: [],
133
+ }),
134
+ Index(),
135
+ TableColumn({
136
+ type: TableColumnType.ObjectID,
137
+ required: true,
138
+ canReadOnRelationQuery: true,
139
+ title: "Project ID",
140
+ description: "ID of your OneUptime Project in which this object belongs",
141
+ }),
142
+ Column({
143
+ type: ColumnType.ObjectID,
144
+ nullable: false,
145
+ transformer: ObjectID.getDatabaseTransformer(),
146
+ }),
147
+ __metadata("design:type", ObjectID)
148
+ ], NetworkDevice.prototype, "projectId", void 0);
149
+ __decorate([
150
+ ColumnAccessControl({
151
+ create: [
152
+ Permission.ProjectOwner,
153
+ Permission.ProjectAdmin,
154
+ Permission.ProjectMember,
155
+ Permission.SettingsAdmin,
156
+ Permission.SettingsMember,
157
+ Permission.CreateNetworkDevice,
158
+ ],
159
+ read: [
160
+ Permission.ProjectOwner,
161
+ Permission.ProjectAdmin,
162
+ Permission.ProjectMember,
163
+ Permission.Viewer,
164
+ Permission.SettingsAdmin,
165
+ Permission.SettingsMember,
166
+ Permission.SettingsViewer,
167
+ Permission.ReadNetworkDevice,
168
+ ],
169
+ update: [
170
+ Permission.ProjectOwner,
171
+ Permission.ProjectAdmin,
172
+ Permission.ProjectMember,
173
+ Permission.SettingsAdmin,
174
+ Permission.SettingsMember,
175
+ Permission.EditNetworkDevice,
176
+ ],
177
+ }),
178
+ TableColumn({
179
+ required: true,
180
+ type: TableColumnType.ShortText,
181
+ canReadOnRelationQuery: true,
182
+ title: "Name",
183
+ description: "Friendly name for this network device",
184
+ example: "core-switch-1",
185
+ }),
186
+ Column({
187
+ nullable: false,
188
+ type: ColumnType.ShortText,
189
+ length: ColumnLength.ShortText,
190
+ }),
191
+ UniqueColumnBy("projectId"),
192
+ __metadata("design:type", String)
193
+ ], NetworkDevice.prototype, "name", void 0);
194
+ __decorate([
195
+ ColumnAccessControl({
196
+ create: [],
197
+ read: [
198
+ Permission.ProjectOwner,
199
+ Permission.ProjectAdmin,
200
+ Permission.ProjectMember,
201
+ Permission.Viewer,
202
+ Permission.SettingsAdmin,
203
+ Permission.SettingsMember,
204
+ Permission.SettingsViewer,
205
+ Permission.ReadNetworkDevice,
206
+ ],
207
+ update: [],
208
+ }),
209
+ TableColumn({
210
+ required: true,
211
+ unique: true,
212
+ type: TableColumnType.Slug,
213
+ computed: true,
214
+ title: "Slug",
215
+ description: "Friendly globally unique name for your object",
216
+ }),
217
+ Column({
218
+ nullable: false,
219
+ type: ColumnType.Slug,
220
+ length: ColumnLength.Slug,
221
+ }),
222
+ __metadata("design:type", String)
223
+ ], NetworkDevice.prototype, "slug", void 0);
224
+ __decorate([
225
+ ColumnAccessControl({
226
+ create: [
227
+ Permission.ProjectOwner,
228
+ Permission.ProjectAdmin,
229
+ Permission.ProjectMember,
230
+ Permission.SettingsAdmin,
231
+ Permission.SettingsMember,
232
+ Permission.CreateNetworkDevice,
233
+ ],
234
+ read: [
235
+ Permission.ProjectOwner,
236
+ Permission.ProjectAdmin,
237
+ Permission.ProjectMember,
238
+ Permission.Viewer,
239
+ Permission.SettingsAdmin,
240
+ Permission.SettingsMember,
241
+ Permission.SettingsViewer,
242
+ Permission.ReadNetworkDevice,
243
+ ],
244
+ update: [
245
+ Permission.ProjectOwner,
246
+ Permission.ProjectAdmin,
247
+ Permission.ProjectMember,
248
+ Permission.SettingsAdmin,
249
+ Permission.SettingsMember,
250
+ Permission.EditNetworkDevice,
251
+ ],
252
+ }),
253
+ TableColumn({
254
+ required: false,
255
+ type: TableColumnType.LongText,
256
+ canReadOnRelationQuery: true,
257
+ title: "Description",
258
+ description: "Friendly description for this network device",
259
+ example: "Core switch in the US East datacenter",
260
+ }),
261
+ Column({
262
+ nullable: true,
263
+ type: ColumnType.LongText,
264
+ length: ColumnLength.LongText,
265
+ }),
266
+ __metadata("design:type", String)
267
+ ], NetworkDevice.prototype, "description", void 0);
268
+ __decorate([
269
+ ColumnAccessControl({
270
+ create: [
271
+ Permission.ProjectOwner,
272
+ Permission.ProjectAdmin,
273
+ Permission.ProjectMember,
274
+ Permission.SettingsAdmin,
275
+ Permission.SettingsMember,
276
+ Permission.CreateNetworkDevice,
277
+ ],
278
+ read: [
279
+ Permission.ProjectOwner,
280
+ Permission.ProjectAdmin,
281
+ Permission.ProjectMember,
282
+ Permission.Viewer,
283
+ Permission.SettingsAdmin,
284
+ Permission.SettingsMember,
285
+ Permission.SettingsViewer,
286
+ Permission.ReadNetworkDevice,
287
+ ],
288
+ update: [
289
+ Permission.ProjectOwner,
290
+ Permission.ProjectAdmin,
291
+ Permission.ProjectMember,
292
+ Permission.SettingsAdmin,
293
+ Permission.SettingsMember,
294
+ Permission.EditNetworkDevice,
295
+ ],
296
+ }),
297
+ Index(),
298
+ TableColumn({
299
+ required: true,
300
+ type: TableColumnType.ShortText,
301
+ canReadOnRelationQuery: true,
302
+ title: "Hostname",
303
+ description: "IP address or hostname the probe polls; also matches SNMP trap sources",
304
+ example: "10.0.0.1",
305
+ }),
306
+ Column({
307
+ nullable: false,
308
+ type: ColumnType.ShortText,
309
+ length: ColumnLength.ShortText,
310
+ }),
311
+ __metadata("design:type", String)
312
+ ], NetworkDevice.prototype, "hostname", void 0);
313
+ __decorate([
314
+ ColumnAccessControl({
315
+ create: [
316
+ Permission.ProjectOwner,
317
+ Permission.ProjectAdmin,
318
+ Permission.ProjectMember,
319
+ Permission.SettingsAdmin,
320
+ Permission.SettingsMember,
321
+ Permission.CreateNetworkDevice,
322
+ ],
323
+ read: [
324
+ Permission.ProjectOwner,
325
+ Permission.ProjectAdmin,
326
+ Permission.ProjectMember,
327
+ Permission.Viewer,
328
+ Permission.SettingsAdmin,
329
+ Permission.SettingsMember,
330
+ Permission.SettingsViewer,
331
+ Permission.ReadNetworkDevice,
332
+ ],
333
+ update: [
334
+ Permission.ProjectOwner,
335
+ Permission.ProjectAdmin,
336
+ Permission.ProjectMember,
337
+ Permission.SettingsAdmin,
338
+ Permission.SettingsMember,
339
+ Permission.EditNetworkDevice,
340
+ ],
341
+ }),
342
+ TableColumn({
343
+ manyToOneRelationColumn: "probeId",
344
+ type: TableColumnType.Entity,
345
+ modelType: Probe,
346
+ title: "Polling Probe",
347
+ description: "Relation to the Probe that polls this network device",
348
+ }),
349
+ ManyToOne(() => {
350
+ return Probe;
351
+ }, {
352
+ eager: false,
353
+ nullable: true,
354
+ onDelete: "SET NULL",
355
+ orphanedRowAction: "nullify",
356
+ }),
357
+ JoinColumn({ name: "probeId" }),
358
+ __metadata("design:type", Probe)
359
+ ], NetworkDevice.prototype, "probe", void 0);
360
+ __decorate([
361
+ ColumnAccessControl({
362
+ create: [
363
+ Permission.ProjectOwner,
364
+ Permission.ProjectAdmin,
365
+ Permission.ProjectMember,
366
+ Permission.SettingsAdmin,
367
+ Permission.SettingsMember,
368
+ Permission.CreateNetworkDevice,
369
+ ],
370
+ read: [
371
+ Permission.ProjectOwner,
372
+ Permission.ProjectAdmin,
373
+ Permission.ProjectMember,
374
+ Permission.Viewer,
375
+ Permission.SettingsAdmin,
376
+ Permission.SettingsMember,
377
+ Permission.SettingsViewer,
378
+ Permission.ReadNetworkDevice,
379
+ ],
380
+ update: [
381
+ Permission.ProjectOwner,
382
+ Permission.ProjectAdmin,
383
+ Permission.ProjectMember,
384
+ Permission.SettingsAdmin,
385
+ Permission.SettingsMember,
386
+ Permission.EditNetworkDevice,
387
+ ],
388
+ }),
389
+ TableColumn({
390
+ type: TableColumnType.ObjectID,
391
+ required: false,
392
+ canReadOnRelationQuery: true,
393
+ title: "Polling Probe ID",
394
+ description: "ID of the Probe that polls this network device",
395
+ }),
396
+ Column({
397
+ type: ColumnType.ObjectID,
398
+ nullable: true,
399
+ transformer: ObjectID.getDatabaseTransformer(),
400
+ }),
401
+ __metadata("design:type", ObjectID)
402
+ ], NetworkDevice.prototype, "probeId", void 0);
403
+ __decorate([
404
+ ColumnAccessControl({
405
+ create: [
406
+ Permission.ProjectOwner,
407
+ Permission.ProjectAdmin,
408
+ Permission.ProjectMember,
409
+ Permission.SettingsAdmin,
410
+ Permission.SettingsMember,
411
+ Permission.CreateNetworkDevice,
412
+ ],
413
+ read: [
414
+ Permission.ProjectOwner,
415
+ Permission.ProjectAdmin,
416
+ Permission.ProjectMember,
417
+ Permission.Viewer,
418
+ Permission.SettingsAdmin,
419
+ Permission.SettingsMember,
420
+ Permission.SettingsViewer,
421
+ Permission.ReadNetworkDevice,
422
+ ],
423
+ update: [
424
+ Permission.ProjectOwner,
425
+ Permission.ProjectAdmin,
426
+ Permission.ProjectMember,
427
+ Permission.SettingsAdmin,
428
+ Permission.SettingsMember,
429
+ Permission.EditNetworkDevice,
430
+ ],
431
+ }),
432
+ TableColumn({
433
+ required: false,
434
+ type: TableColumnType.ShortText,
435
+ canReadOnRelationQuery: true,
436
+ title: "SNMP Version",
437
+ description: "SNMP version to use when polling this device (V1, V2c, V3)",
438
+ example: "V2c",
439
+ }),
440
+ Column({
441
+ nullable: true,
442
+ type: ColumnType.ShortText,
443
+ length: ColumnLength.ShortText,
444
+ default: "V2c",
445
+ }),
446
+ __metadata("design:type", String)
447
+ ], NetworkDevice.prototype, "snmpVersion", void 0);
448
+ __decorate([
449
+ ColumnAccessControl({
450
+ create: [
451
+ Permission.ProjectOwner,
452
+ Permission.ProjectAdmin,
453
+ Permission.ProjectMember,
454
+ Permission.SettingsAdmin,
455
+ Permission.SettingsMember,
456
+ Permission.CreateNetworkDevice,
457
+ ],
458
+ read: [
459
+ Permission.ProjectOwner,
460
+ Permission.ProjectAdmin,
461
+ Permission.ProjectMember,
462
+ Permission.Viewer,
463
+ Permission.SettingsAdmin,
464
+ Permission.SettingsMember,
465
+ Permission.SettingsViewer,
466
+ Permission.ReadNetworkDevice,
467
+ ],
468
+ update: [
469
+ Permission.ProjectOwner,
470
+ Permission.ProjectAdmin,
471
+ Permission.ProjectMember,
472
+ Permission.SettingsAdmin,
473
+ Permission.SettingsMember,
474
+ Permission.EditNetworkDevice,
475
+ ],
476
+ }),
477
+ TableColumn({
478
+ required: false,
479
+ type: TableColumnType.ShortText,
480
+ title: "SNMP Community String",
481
+ description: "Community string used for SNMP v1/v2c polling",
482
+ example: "public",
483
+ }),
484
+ Column({
485
+ nullable: true,
486
+ type: ColumnType.ShortText,
487
+ length: ColumnLength.ShortText,
488
+ }),
489
+ __metadata("design:type", String)
490
+ ], NetworkDevice.prototype, "snmpCommunityString", void 0);
491
+ __decorate([
492
+ ColumnAccessControl({
493
+ create: [
494
+ Permission.ProjectOwner,
495
+ Permission.ProjectAdmin,
496
+ Permission.ProjectMember,
497
+ Permission.SettingsAdmin,
498
+ Permission.SettingsMember,
499
+ Permission.CreateNetworkDevice,
500
+ ],
501
+ read: [
502
+ Permission.ProjectOwner,
503
+ Permission.ProjectAdmin,
504
+ Permission.ProjectMember,
505
+ Permission.Viewer,
506
+ Permission.SettingsAdmin,
507
+ Permission.SettingsMember,
508
+ Permission.SettingsViewer,
509
+ Permission.ReadNetworkDevice,
510
+ ],
511
+ update: [
512
+ Permission.ProjectOwner,
513
+ Permission.ProjectAdmin,
514
+ Permission.ProjectMember,
515
+ Permission.SettingsAdmin,
516
+ Permission.SettingsMember,
517
+ Permission.EditNetworkDevice,
518
+ ],
519
+ }),
520
+ TableColumn({
521
+ required: false,
522
+ type: TableColumnType.Number,
523
+ title: "SNMP Port",
524
+ description: "UDP port used for SNMP polling",
525
+ example: "161",
526
+ }),
527
+ Column({
528
+ type: ColumnType.Number,
529
+ nullable: true,
530
+ default: 161,
531
+ }),
532
+ __metadata("design:type", Number)
533
+ ], NetworkDevice.prototype, "snmpPort", void 0);
534
+ __decorate([
535
+ ColumnAccessControl({
536
+ create: [
537
+ Permission.ProjectOwner,
538
+ Permission.ProjectAdmin,
539
+ Permission.ProjectMember,
540
+ Permission.SettingsAdmin,
541
+ Permission.SettingsMember,
542
+ Permission.CreateNetworkDevice,
543
+ ],
544
+ read: [
545
+ Permission.ProjectOwner,
546
+ Permission.ProjectAdmin,
547
+ Permission.ProjectMember,
548
+ Permission.Viewer,
549
+ Permission.SettingsAdmin,
550
+ Permission.SettingsMember,
551
+ Permission.SettingsViewer,
552
+ Permission.ReadNetworkDevice,
553
+ ],
554
+ update: [
555
+ Permission.ProjectOwner,
556
+ Permission.ProjectAdmin,
557
+ Permission.ProjectMember,
558
+ Permission.SettingsAdmin,
559
+ Permission.SettingsMember,
560
+ Permission.EditNetworkDevice,
561
+ ],
562
+ }),
563
+ TableColumn({
564
+ type: TableColumnType.JSON,
565
+ required: false,
566
+ title: "SNMP v3 Authentication",
567
+ description: "Deprecated: SNMP v3 auth is now stored in the snmpV3* columns below. Retained for reading legacy devices.",
568
+ }),
569
+ Column({
570
+ type: ColumnType.JSON,
571
+ nullable: true,
572
+ }),
573
+ __metadata("design:type", Object)
574
+ ], NetworkDevice.prototype, "snmpV3Auth", void 0);
575
+ __decorate([
576
+ ColumnAccessControl({
577
+ create: [
578
+ Permission.ProjectOwner,
579
+ Permission.ProjectAdmin,
580
+ Permission.ProjectMember,
581
+ Permission.SettingsAdmin,
582
+ Permission.SettingsMember,
583
+ Permission.CreateNetworkDevice,
584
+ ],
585
+ read: [
586
+ Permission.ProjectOwner,
587
+ Permission.ProjectAdmin,
588
+ Permission.ProjectMember,
589
+ Permission.Viewer,
590
+ Permission.SettingsAdmin,
591
+ Permission.SettingsMember,
592
+ Permission.SettingsViewer,
593
+ Permission.ReadNetworkDevice,
594
+ ],
595
+ update: [
596
+ Permission.ProjectOwner,
597
+ Permission.ProjectAdmin,
598
+ Permission.ProjectMember,
599
+ Permission.SettingsAdmin,
600
+ Permission.SettingsMember,
601
+ Permission.EditNetworkDevice,
602
+ ],
603
+ }),
604
+ TableColumn({
605
+ required: false,
606
+ type: TableColumnType.ShortText,
607
+ title: "SNMP v3 Security Level",
608
+ description: "SNMP v3 security level: noAuthNoPriv, authNoPriv, or authPriv",
609
+ example: "authPriv",
610
+ }),
611
+ Column({
612
+ nullable: true,
613
+ type: ColumnType.ShortText,
614
+ length: ColumnLength.ShortText,
615
+ }),
616
+ __metadata("design:type", String)
617
+ ], NetworkDevice.prototype, "snmpV3SecurityLevel", void 0);
618
+ __decorate([
619
+ ColumnAccessControl({
620
+ create: [
621
+ Permission.ProjectOwner,
622
+ Permission.ProjectAdmin,
623
+ Permission.ProjectMember,
624
+ Permission.SettingsAdmin,
625
+ Permission.SettingsMember,
626
+ Permission.CreateNetworkDevice,
627
+ ],
628
+ read: [
629
+ Permission.ProjectOwner,
630
+ Permission.ProjectAdmin,
631
+ Permission.ProjectMember,
632
+ Permission.Viewer,
633
+ Permission.SettingsAdmin,
634
+ Permission.SettingsMember,
635
+ Permission.SettingsViewer,
636
+ Permission.ReadNetworkDevice,
637
+ ],
638
+ update: [
639
+ Permission.ProjectOwner,
640
+ Permission.ProjectAdmin,
641
+ Permission.ProjectMember,
642
+ Permission.SettingsAdmin,
643
+ Permission.SettingsMember,
644
+ Permission.EditNetworkDevice,
645
+ ],
646
+ }),
647
+ TableColumn({
648
+ required: false,
649
+ type: TableColumnType.ShortText,
650
+ title: "SNMP v3 Username",
651
+ description: "Security name (username) used for SNMP v3 polling",
652
+ example: "monitoring",
653
+ }),
654
+ Column({
655
+ nullable: true,
656
+ type: ColumnType.ShortText,
657
+ length: ColumnLength.ShortText,
658
+ }),
659
+ __metadata("design:type", String)
660
+ ], NetworkDevice.prototype, "snmpV3Username", void 0);
661
+ __decorate([
662
+ ColumnAccessControl({
663
+ create: [
664
+ Permission.ProjectOwner,
665
+ Permission.ProjectAdmin,
666
+ Permission.ProjectMember,
667
+ Permission.SettingsAdmin,
668
+ Permission.SettingsMember,
669
+ Permission.CreateNetworkDevice,
670
+ ],
671
+ read: [
672
+ Permission.ProjectOwner,
673
+ Permission.ProjectAdmin,
674
+ Permission.ProjectMember,
675
+ Permission.Viewer,
676
+ Permission.SettingsAdmin,
677
+ Permission.SettingsMember,
678
+ Permission.SettingsViewer,
679
+ Permission.ReadNetworkDevice,
680
+ ],
681
+ update: [
682
+ Permission.ProjectOwner,
683
+ Permission.ProjectAdmin,
684
+ Permission.ProjectMember,
685
+ Permission.SettingsAdmin,
686
+ Permission.SettingsMember,
687
+ Permission.EditNetworkDevice,
688
+ ],
689
+ }),
690
+ TableColumn({
691
+ required: false,
692
+ type: TableColumnType.ShortText,
693
+ title: "SNMP v3 Authentication Protocol",
694
+ description: "SNMP v3 authentication protocol: MD5, SHA, SHA256, or SHA512",
695
+ example: "SHA",
696
+ }),
697
+ Column({
698
+ nullable: true,
699
+ type: ColumnType.ShortText,
700
+ length: ColumnLength.ShortText,
701
+ }),
702
+ __metadata("design:type", String)
703
+ ], NetworkDevice.prototype, "snmpV3AuthProtocol", void 0);
704
+ __decorate([
705
+ ColumnAccessControl({
706
+ create: [
707
+ Permission.ProjectOwner,
708
+ Permission.ProjectAdmin,
709
+ Permission.ProjectMember,
710
+ Permission.SettingsAdmin,
711
+ Permission.SettingsMember,
712
+ Permission.CreateNetworkDevice,
713
+ ],
714
+ read: [
715
+ Permission.ProjectOwner,
716
+ Permission.ProjectAdmin,
717
+ Permission.ProjectMember,
718
+ Permission.Viewer,
719
+ Permission.SettingsAdmin,
720
+ Permission.SettingsMember,
721
+ Permission.SettingsViewer,
722
+ Permission.ReadNetworkDevice,
723
+ ],
724
+ update: [
725
+ Permission.ProjectOwner,
726
+ Permission.ProjectAdmin,
727
+ Permission.ProjectMember,
728
+ Permission.SettingsAdmin,
729
+ Permission.SettingsMember,
730
+ Permission.EditNetworkDevice,
731
+ ],
732
+ }),
733
+ TableColumn({
734
+ required: false,
735
+ type: TableColumnType.LongText,
736
+ title: "SNMP v3 Authentication Key",
737
+ description: "SNMP v3 authentication passphrase",
738
+ }),
739
+ Column({
740
+ nullable: true,
741
+ type: ColumnType.LongText,
742
+ }),
743
+ __metadata("design:type", String)
744
+ ], NetworkDevice.prototype, "snmpV3AuthKey", void 0);
745
+ __decorate([
746
+ ColumnAccessControl({
747
+ create: [
748
+ Permission.ProjectOwner,
749
+ Permission.ProjectAdmin,
750
+ Permission.ProjectMember,
751
+ Permission.SettingsAdmin,
752
+ Permission.SettingsMember,
753
+ Permission.CreateNetworkDevice,
754
+ ],
755
+ read: [
756
+ Permission.ProjectOwner,
757
+ Permission.ProjectAdmin,
758
+ Permission.ProjectMember,
759
+ Permission.Viewer,
760
+ Permission.SettingsAdmin,
761
+ Permission.SettingsMember,
762
+ Permission.SettingsViewer,
763
+ Permission.ReadNetworkDevice,
764
+ ],
765
+ update: [
766
+ Permission.ProjectOwner,
767
+ Permission.ProjectAdmin,
768
+ Permission.ProjectMember,
769
+ Permission.SettingsAdmin,
770
+ Permission.SettingsMember,
771
+ Permission.EditNetworkDevice,
772
+ ],
773
+ }),
774
+ TableColumn({
775
+ required: false,
776
+ type: TableColumnType.ShortText,
777
+ title: "SNMP v3 Privacy Protocol",
778
+ description: "SNMP v3 privacy (encryption) protocol: DES, AES, or AES256",
779
+ example: "AES",
780
+ }),
781
+ Column({
782
+ nullable: true,
783
+ type: ColumnType.ShortText,
784
+ length: ColumnLength.ShortText,
785
+ }),
786
+ __metadata("design:type", String)
787
+ ], NetworkDevice.prototype, "snmpV3PrivProtocol", void 0);
788
+ __decorate([
789
+ ColumnAccessControl({
790
+ create: [
791
+ Permission.ProjectOwner,
792
+ Permission.ProjectAdmin,
793
+ Permission.ProjectMember,
794
+ Permission.SettingsAdmin,
795
+ Permission.SettingsMember,
796
+ Permission.CreateNetworkDevice,
797
+ ],
798
+ read: [
799
+ Permission.ProjectOwner,
800
+ Permission.ProjectAdmin,
801
+ Permission.ProjectMember,
802
+ Permission.Viewer,
803
+ Permission.SettingsAdmin,
804
+ Permission.SettingsMember,
805
+ Permission.SettingsViewer,
806
+ Permission.ReadNetworkDevice,
807
+ ],
808
+ update: [
809
+ Permission.ProjectOwner,
810
+ Permission.ProjectAdmin,
811
+ Permission.ProjectMember,
812
+ Permission.SettingsAdmin,
813
+ Permission.SettingsMember,
814
+ Permission.EditNetworkDevice,
815
+ ],
816
+ }),
817
+ TableColumn({
818
+ required: false,
819
+ type: TableColumnType.LongText,
820
+ title: "SNMP v3 Privacy Key",
821
+ description: "SNMP v3 privacy (encryption) passphrase",
822
+ }),
823
+ Column({
824
+ nullable: true,
825
+ type: ColumnType.LongText,
826
+ }),
827
+ __metadata("design:type", String)
828
+ ], NetworkDevice.prototype, "snmpV3PrivKey", void 0);
829
+ __decorate([
830
+ ColumnAccessControl({
831
+ create: [],
832
+ read: [
833
+ Permission.ProjectOwner,
834
+ Permission.ProjectAdmin,
835
+ Permission.ProjectMember,
836
+ Permission.Viewer,
837
+ Permission.SettingsAdmin,
838
+ Permission.SettingsMember,
839
+ Permission.SettingsViewer,
840
+ Permission.ReadNetworkDevice,
841
+ ],
842
+ update: [
843
+ Permission.ProjectOwner,
844
+ Permission.ProjectAdmin,
845
+ Permission.EditNetworkDevice,
846
+ ],
847
+ }),
848
+ TableColumn({
849
+ required: false,
850
+ type: TableColumnType.LongText,
851
+ canReadOnRelationQuery: true,
852
+ title: "System Description",
853
+ description: "System description (sysDescr) enriched from SNMP walks of this device",
854
+ example: "Cisco IOS Software, C2960 Software",
855
+ }),
856
+ Column({
857
+ nullable: true,
858
+ type: ColumnType.LongText,
859
+ length: ColumnLength.LongText,
860
+ }),
861
+ __metadata("design:type", String)
862
+ ], NetworkDevice.prototype, "sysDescr", void 0);
863
+ __decorate([
864
+ ColumnAccessControl({
865
+ create: [],
866
+ read: [
867
+ Permission.ProjectOwner,
868
+ Permission.ProjectAdmin,
869
+ Permission.ProjectMember,
870
+ Permission.Viewer,
871
+ Permission.SettingsAdmin,
872
+ Permission.SettingsMember,
873
+ Permission.SettingsViewer,
874
+ Permission.ReadNetworkDevice,
875
+ ],
876
+ update: [
877
+ Permission.ProjectOwner,
878
+ Permission.ProjectAdmin,
879
+ Permission.EditNetworkDevice,
880
+ ],
881
+ }),
882
+ TableColumn({
883
+ required: false,
884
+ type: TableColumnType.ShortText,
885
+ canReadOnRelationQuery: true,
886
+ title: "System Name",
887
+ description: "System name (sysName) enriched from SNMP walks of this device",
888
+ example: "core-sw-01.example.com",
889
+ }),
890
+ Column({
891
+ nullable: true,
892
+ type: ColumnType.ShortText,
893
+ length: ColumnLength.ShortText,
894
+ }),
895
+ __metadata("design:type", String)
896
+ ], NetworkDevice.prototype, "sysName", void 0);
897
+ __decorate([
898
+ ColumnAccessControl({
899
+ create: [],
900
+ read: [
901
+ Permission.ProjectOwner,
902
+ Permission.ProjectAdmin,
903
+ Permission.ProjectMember,
904
+ Permission.Viewer,
905
+ Permission.SettingsAdmin,
906
+ Permission.SettingsMember,
907
+ Permission.SettingsViewer,
908
+ Permission.ReadNetworkDevice,
909
+ ],
910
+ update: [
911
+ Permission.ProjectOwner,
912
+ Permission.ProjectAdmin,
913
+ Permission.EditNetworkDevice,
914
+ ],
915
+ }),
916
+ TableColumn({
917
+ required: false,
918
+ type: TableColumnType.JSON,
919
+ title: "LLDP Neighbors",
920
+ description: "LLDP neighbors discovered on the last SNMP walk, used to build the network topology graph. Managed by the probe.",
921
+ }),
922
+ Column({
923
+ nullable: true,
924
+ type: ColumnType.JSON,
925
+ }),
926
+ __metadata("design:type", Array)
927
+ ], NetworkDevice.prototype, "lldpNeighbors", void 0);
928
+ __decorate([
929
+ ColumnAccessControl({
930
+ create: [],
931
+ read: [
932
+ Permission.ProjectOwner,
933
+ Permission.ProjectAdmin,
934
+ Permission.ProjectMember,
935
+ Permission.Viewer,
936
+ Permission.SettingsAdmin,
937
+ Permission.SettingsMember,
938
+ Permission.SettingsViewer,
939
+ Permission.ReadNetworkDevice,
940
+ ],
941
+ update: [
942
+ Permission.ProjectOwner,
943
+ Permission.ProjectAdmin,
944
+ Permission.EditNetworkDevice,
945
+ ],
946
+ }),
947
+ TableColumn({
948
+ required: false,
949
+ type: TableColumnType.Date,
950
+ canReadOnRelationQuery: true,
951
+ title: "Last Seen At",
952
+ description: "When SNMP data was last received from this device",
953
+ }),
954
+ Column({
955
+ nullable: true,
956
+ type: ColumnType.Date,
957
+ }),
958
+ __metadata("design:type", Date)
959
+ ], NetworkDevice.prototype, "lastSeenAt", void 0);
960
+ __decorate([
961
+ ColumnAccessControl({
962
+ create: [],
963
+ read: [
964
+ Permission.ProjectOwner,
965
+ Permission.ProjectAdmin,
966
+ Permission.ProjectMember,
967
+ Permission.Viewer,
968
+ Permission.SettingsAdmin,
969
+ Permission.SettingsMember,
970
+ Permission.SettingsViewer,
971
+ Permission.ReadNetworkDevice,
972
+ ],
973
+ update: [
974
+ Permission.ProjectOwner,
975
+ Permission.ProjectAdmin,
976
+ Permission.EditNetworkDevice,
977
+ ],
978
+ }),
979
+ TableColumn({
980
+ type: TableColumnType.Number,
981
+ title: "Interfaces Total",
982
+ description: "Cached total count of interfaces on this device",
983
+ }),
984
+ Column({
985
+ type: ColumnType.Number,
986
+ nullable: true,
987
+ default: 0,
988
+ }),
989
+ __metadata("design:type", Number)
990
+ ], NetworkDevice.prototype, "interfacesTotal", void 0);
991
+ __decorate([
992
+ ColumnAccessControl({
993
+ create: [],
994
+ read: [
995
+ Permission.ProjectOwner,
996
+ Permission.ProjectAdmin,
997
+ Permission.ProjectMember,
998
+ Permission.Viewer,
999
+ Permission.SettingsAdmin,
1000
+ Permission.SettingsMember,
1001
+ Permission.SettingsViewer,
1002
+ Permission.ReadNetworkDevice,
1003
+ ],
1004
+ update: [
1005
+ Permission.ProjectOwner,
1006
+ Permission.ProjectAdmin,
1007
+ Permission.EditNetworkDevice,
1008
+ ],
1009
+ }),
1010
+ TableColumn({
1011
+ type: TableColumnType.Number,
1012
+ title: "Interfaces Up",
1013
+ description: "Cached count of operationally up interfaces on this device",
1014
+ }),
1015
+ Column({
1016
+ type: ColumnType.Number,
1017
+ nullable: true,
1018
+ default: 0,
1019
+ }),
1020
+ __metadata("design:type", Number)
1021
+ ], NetworkDevice.prototype, "interfacesUp", void 0);
1022
+ __decorate([
1023
+ ColumnAccessControl({
1024
+ create: [],
1025
+ read: [
1026
+ Permission.ProjectOwner,
1027
+ Permission.ProjectAdmin,
1028
+ Permission.ProjectMember,
1029
+ Permission.Viewer,
1030
+ Permission.SettingsAdmin,
1031
+ Permission.SettingsMember,
1032
+ Permission.SettingsViewer,
1033
+ Permission.ReadNetworkDevice,
1034
+ ],
1035
+ update: [
1036
+ Permission.ProjectOwner,
1037
+ Permission.ProjectAdmin,
1038
+ Permission.EditNetworkDevice,
1039
+ ],
1040
+ }),
1041
+ TableColumn({
1042
+ type: TableColumnType.Number,
1043
+ title: "Interfaces Down",
1044
+ description: "Cached count of operationally down interfaces on this device",
1045
+ }),
1046
+ Column({
1047
+ type: ColumnType.Number,
1048
+ nullable: true,
1049
+ default: 0,
1050
+ }),
1051
+ __metadata("design:type", Number)
1052
+ ], NetworkDevice.prototype, "interfacesDown", void 0);
1053
+ __decorate([
1054
+ ColumnAccessControl({
1055
+ create: [
1056
+ Permission.ProjectOwner,
1057
+ Permission.ProjectAdmin,
1058
+ Permission.ProjectMember,
1059
+ Permission.SettingsAdmin,
1060
+ Permission.SettingsMember,
1061
+ Permission.CreateNetworkDevice,
1062
+ ],
1063
+ read: [
1064
+ Permission.ProjectOwner,
1065
+ Permission.ProjectAdmin,
1066
+ Permission.ProjectMember,
1067
+ Permission.Viewer,
1068
+ Permission.SettingsAdmin,
1069
+ Permission.SettingsMember,
1070
+ Permission.SettingsViewer,
1071
+ Permission.ReadNetworkDevice,
1072
+ ],
1073
+ update: [],
1074
+ }),
1075
+ TableColumn({
1076
+ manyToOneRelationColumn: "createdByUserId",
1077
+ type: TableColumnType.Entity,
1078
+ modelType: User,
1079
+ title: "Created by User",
1080
+ description: "Relation to User who created this object (if this object was created by a User)",
1081
+ }),
1082
+ ManyToOne(() => {
1083
+ return User;
1084
+ }, {
1085
+ eager: false,
1086
+ nullable: true,
1087
+ onDelete: "SET NULL",
1088
+ orphanedRowAction: "nullify",
1089
+ }),
1090
+ JoinColumn({ name: "createdByUserId" }),
1091
+ __metadata("design:type", User)
1092
+ ], NetworkDevice.prototype, "createdByUser", void 0);
1093
+ __decorate([
1094
+ ColumnAccessControl({
1095
+ create: [
1096
+ Permission.ProjectOwner,
1097
+ Permission.ProjectAdmin,
1098
+ Permission.ProjectMember,
1099
+ Permission.SettingsAdmin,
1100
+ Permission.SettingsMember,
1101
+ Permission.CreateNetworkDevice,
1102
+ ],
1103
+ read: [
1104
+ Permission.ProjectOwner,
1105
+ Permission.ProjectAdmin,
1106
+ Permission.ProjectMember,
1107
+ Permission.Viewer,
1108
+ Permission.SettingsAdmin,
1109
+ Permission.SettingsMember,
1110
+ Permission.SettingsViewer,
1111
+ Permission.ReadNetworkDevice,
1112
+ ],
1113
+ update: [],
1114
+ }),
1115
+ TableColumn({
1116
+ type: TableColumnType.ObjectID,
1117
+ title: "Created by User ID",
1118
+ description: "User ID who created this object (if this object was created by a User)",
1119
+ }),
1120
+ Column({
1121
+ type: ColumnType.ObjectID,
1122
+ nullable: true,
1123
+ transformer: ObjectID.getDatabaseTransformer(),
1124
+ }),
1125
+ __metadata("design:type", ObjectID)
1126
+ ], NetworkDevice.prototype, "createdByUserId", void 0);
1127
+ __decorate([
1128
+ ColumnAccessControl({
1129
+ create: [
1130
+ Permission.ProjectOwner,
1131
+ Permission.ProjectAdmin,
1132
+ Permission.ProjectMember,
1133
+ Permission.SettingsAdmin,
1134
+ Permission.SettingsMember,
1135
+ Permission.CreateNetworkDevice,
1136
+ ],
1137
+ read: [
1138
+ Permission.ProjectOwner,
1139
+ Permission.ProjectAdmin,
1140
+ Permission.ProjectMember,
1141
+ Permission.Viewer,
1142
+ Permission.SettingsAdmin,
1143
+ Permission.SettingsMember,
1144
+ Permission.SettingsViewer,
1145
+ Permission.ReadNetworkDevice,
1146
+ ],
1147
+ update: [
1148
+ Permission.ProjectOwner,
1149
+ Permission.ProjectAdmin,
1150
+ Permission.ProjectMember,
1151
+ Permission.SettingsAdmin,
1152
+ Permission.SettingsMember,
1153
+ Permission.EditNetworkDevice,
1154
+ ],
1155
+ }),
1156
+ TableColumn({
1157
+ isDefaultValueColumn: true,
1158
+ required: true,
1159
+ type: TableColumnType.Boolean,
1160
+ title: "Is Archived",
1161
+ description: "Is this network device archived? Archived network devices are hidden from lists but keep collecting telemetry.",
1162
+ defaultValue: false,
1163
+ }),
1164
+ Column({
1165
+ type: ColumnType.Boolean,
1166
+ nullable: false,
1167
+ default: false,
1168
+ }),
1169
+ __metadata("design:type", Boolean)
1170
+ ], NetworkDevice.prototype, "isArchived", void 0);
1171
+ __decorate([
1172
+ ColumnAccessControl({
1173
+ create: [],
1174
+ read: [
1175
+ Permission.ProjectOwner,
1176
+ Permission.ProjectAdmin,
1177
+ Permission.ProjectMember,
1178
+ Permission.Viewer,
1179
+ Permission.SettingsAdmin,
1180
+ Permission.SettingsMember,
1181
+ Permission.SettingsViewer,
1182
+ Permission.ReadNetworkDevice,
1183
+ ],
1184
+ update: [],
1185
+ }),
1186
+ TableColumn({
1187
+ required: false,
1188
+ type: TableColumnType.Date,
1189
+ title: "Archived At",
1190
+ description: "When was this network device archived?",
1191
+ }),
1192
+ Column({
1193
+ type: ColumnType.Date,
1194
+ nullable: true,
1195
+ }),
1196
+ __metadata("design:type", Date)
1197
+ ], NetworkDevice.prototype, "archivedAt", void 0);
1198
+ __decorate([
1199
+ ColumnAccessControl({
1200
+ create: [],
1201
+ read: [
1202
+ Permission.ProjectOwner,
1203
+ Permission.ProjectAdmin,
1204
+ Permission.ProjectMember,
1205
+ Permission.Viewer,
1206
+ Permission.SettingsAdmin,
1207
+ Permission.SettingsMember,
1208
+ Permission.SettingsViewer,
1209
+ Permission.ReadNetworkDevice,
1210
+ ],
1211
+ update: [],
1212
+ }),
1213
+ TableColumn({
1214
+ manyToOneRelationColumn: "archivedByUserId",
1215
+ type: TableColumnType.Entity,
1216
+ modelType: User,
1217
+ title: "Archived by User",
1218
+ description: "Relation to User who archived this object (if this object was archived by a User)",
1219
+ }),
1220
+ ManyToOne(() => {
1221
+ return User;
1222
+ }, {
1223
+ eager: false,
1224
+ nullable: true,
1225
+ onDelete: "SET NULL",
1226
+ orphanedRowAction: "nullify",
1227
+ }),
1228
+ JoinColumn({ name: "archivedByUserId" }),
1229
+ __metadata("design:type", User)
1230
+ ], NetworkDevice.prototype, "archivedByUser", void 0);
1231
+ __decorate([
1232
+ ColumnAccessControl({
1233
+ create: [],
1234
+ read: [
1235
+ Permission.ProjectOwner,
1236
+ Permission.ProjectAdmin,
1237
+ Permission.ProjectMember,
1238
+ Permission.Viewer,
1239
+ Permission.SettingsAdmin,
1240
+ Permission.SettingsMember,
1241
+ Permission.SettingsViewer,
1242
+ Permission.ReadNetworkDevice,
1243
+ ],
1244
+ update: [],
1245
+ }),
1246
+ TableColumn({
1247
+ type: TableColumnType.ObjectID,
1248
+ title: "Archived by User ID",
1249
+ description: "User ID who archived this object (if this object was archived by a User)",
1250
+ }),
1251
+ Column({
1252
+ type: ColumnType.ObjectID,
1253
+ nullable: true,
1254
+ transformer: ObjectID.getDatabaseTransformer(),
1255
+ }),
1256
+ __metadata("design:type", ObjectID)
1257
+ ], NetworkDevice.prototype, "archivedByUserId", void 0);
1258
+ __decorate([
1259
+ ColumnAccessControl({
1260
+ create: [],
1261
+ read: [
1262
+ Permission.ProjectOwner,
1263
+ Permission.ProjectAdmin,
1264
+ Permission.ProjectMember,
1265
+ Permission.Viewer,
1266
+ Permission.SettingsAdmin,
1267
+ Permission.SettingsMember,
1268
+ Permission.SettingsViewer,
1269
+ Permission.ReadNetworkDevice,
1270
+ ],
1271
+ update: [],
1272
+ }),
1273
+ TableColumn({
1274
+ manyToOneRelationColumn: "deletedByUserId",
1275
+ type: TableColumnType.Entity,
1276
+ title: "Deleted by User",
1277
+ modelType: User,
1278
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
1279
+ }),
1280
+ ManyToOne(() => {
1281
+ return User;
1282
+ }, {
1283
+ cascade: false,
1284
+ eager: false,
1285
+ nullable: true,
1286
+ onDelete: "SET NULL",
1287
+ orphanedRowAction: "nullify",
1288
+ }),
1289
+ JoinColumn({ name: "deletedByUserId" }),
1290
+ __metadata("design:type", User)
1291
+ ], NetworkDevice.prototype, "deletedByUser", void 0);
1292
+ __decorate([
1293
+ ColumnAccessControl({
1294
+ create: [],
1295
+ read: [
1296
+ Permission.ProjectOwner,
1297
+ Permission.ProjectAdmin,
1298
+ Permission.ProjectMember,
1299
+ Permission.Viewer,
1300
+ Permission.SettingsAdmin,
1301
+ Permission.SettingsMember,
1302
+ Permission.SettingsViewer,
1303
+ Permission.ReadNetworkDevice,
1304
+ ],
1305
+ update: [],
1306
+ }),
1307
+ TableColumn({
1308
+ type: TableColumnType.ObjectID,
1309
+ title: "Deleted by User ID",
1310
+ description: "User ID who deleted this object (if this object was deleted by a User)",
1311
+ }),
1312
+ Column({
1313
+ type: ColumnType.ObjectID,
1314
+ nullable: true,
1315
+ transformer: ObjectID.getDatabaseTransformer(),
1316
+ }),
1317
+ __metadata("design:type", ObjectID)
1318
+ ], NetworkDevice.prototype, "deletedByUserId", void 0);
1319
+ __decorate([
1320
+ ColumnAccessControl({
1321
+ create: [
1322
+ Permission.ProjectOwner,
1323
+ Permission.ProjectAdmin,
1324
+ Permission.ProjectMember,
1325
+ Permission.SettingsAdmin,
1326
+ Permission.SettingsMember,
1327
+ Permission.CreateNetworkDevice,
1328
+ ],
1329
+ read: [
1330
+ Permission.ProjectOwner,
1331
+ Permission.ProjectAdmin,
1332
+ Permission.ProjectMember,
1333
+ Permission.Viewer,
1334
+ Permission.SettingsAdmin,
1335
+ Permission.SettingsMember,
1336
+ Permission.SettingsViewer,
1337
+ Permission.ReadNetworkDevice,
1338
+ ],
1339
+ update: [
1340
+ Permission.ProjectOwner,
1341
+ Permission.ProjectAdmin,
1342
+ Permission.ProjectMember,
1343
+ Permission.SettingsAdmin,
1344
+ Permission.SettingsMember,
1345
+ Permission.EditNetworkDevice,
1346
+ ],
1347
+ }),
1348
+ TableColumn({
1349
+ required: false,
1350
+ type: TableColumnType.EntityArray,
1351
+ modelType: Label,
1352
+ title: "Labels",
1353
+ description: "Relation to Labels Array where this object is categorized in.",
1354
+ }),
1355
+ ManyToMany(() => {
1356
+ return Label;
1357
+ }, { eager: false }),
1358
+ JoinTable({
1359
+ name: "NetworkDeviceLabel",
1360
+ inverseJoinColumn: {
1361
+ name: "labelId",
1362
+ referencedColumnName: "_id",
1363
+ },
1364
+ joinColumn: {
1365
+ name: "networkDeviceId",
1366
+ referencedColumnName: "_id",
1367
+ },
1368
+ }),
1369
+ __metadata("design:type", Array)
1370
+ ], NetworkDevice.prototype, "labels", void 0);
1371
+ NetworkDevice = __decorate([
1372
+ AccessControlColumn("labels"),
1373
+ EnableDocumentation(),
1374
+ TenantColumn("projectId"),
1375
+ TableAccessControl({
1376
+ create: [
1377
+ Permission.ProjectOwner,
1378
+ Permission.ProjectAdmin,
1379
+ Permission.ProjectMember,
1380
+ Permission.SettingsAdmin,
1381
+ Permission.SettingsMember,
1382
+ Permission.CreateNetworkDevice,
1383
+ ],
1384
+ read: [
1385
+ Permission.ProjectOwner,
1386
+ Permission.ProjectAdmin,
1387
+ Permission.ProjectMember,
1388
+ Permission.Viewer,
1389
+ Permission.SettingsAdmin,
1390
+ Permission.SettingsMember,
1391
+ Permission.SettingsViewer,
1392
+ Permission.ReadNetworkDevice,
1393
+ ],
1394
+ delete: [
1395
+ Permission.ProjectOwner,
1396
+ Permission.ProjectAdmin,
1397
+ Permission.ProjectMember,
1398
+ Permission.SettingsAdmin,
1399
+ Permission.SettingsMember,
1400
+ Permission.DeleteNetworkDevice,
1401
+ ],
1402
+ update: [
1403
+ Permission.ProjectOwner,
1404
+ Permission.ProjectAdmin,
1405
+ Permission.ProjectMember,
1406
+ Permission.SettingsAdmin,
1407
+ Permission.SettingsMember,
1408
+ Permission.EditNetworkDevice,
1409
+ ],
1410
+ }),
1411
+ CrudApiEndpoint(new Route("/network-device")),
1412
+ SlugifyColumn("name", "slug"),
1413
+ Index(["projectId", "isArchived"]),
1414
+ TableMetadata({
1415
+ tableName: "NetworkDevice",
1416
+ singularName: "Network Device",
1417
+ pluralName: "Network Devices",
1418
+ icon: IconProp.Signal,
1419
+ tableDescription: "Network Devices (routers, switches, firewalls) that are being monitored in this project via SNMP polling and traps.",
1420
+ }),
1421
+ Entity({
1422
+ name: "NetworkDevice",
1423
+ })
1424
+ ], NetworkDevice);
1425
+ export default NetworkDevice;
1426
+ //# sourceMappingURL=NetworkDevice.js.map