@oneuptime/common 11.7.3 → 11.7.4

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 (365) hide show
  1. package/Models/DatabaseModels/AlertEpisodeStateTimeline.ts +1 -0
  2. package/Models/DatabaseModels/AlertStateTimeline.ts +1 -0
  3. package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +1 -0
  4. package/Models/DatabaseModels/IncidentStateTimeline.ts +1 -0
  5. package/Models/DatabaseModels/Index.ts +5 -0
  6. package/Models/DatabaseModels/LogDropFilter.ts +89 -0
  7. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +13 -3
  8. package/Models/DatabaseModels/RecommendationDismissal.ts +463 -0
  9. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +1 -0
  10. package/Models/DatabaseModels/StatusPageGroup.ts +95 -0
  11. package/Models/DatabaseModels/TraceDropFilter.ts +89 -0
  12. package/Models/DatabaseModels/WorkflowVariable.ts +5 -1
  13. package/Server/API/AlertAPI.ts +32 -17
  14. package/Server/API/BaseAPI.ts +31 -2
  15. package/Server/API/BaseAnalyticsAPI.ts +36 -2
  16. package/Server/API/CommonAPI.ts +57 -0
  17. package/Server/API/IncidentAPI.ts +60 -33
  18. package/Server/API/IncidentEpisodeAPI.ts +31 -16
  19. package/Server/API/MonitorAPI.ts +30 -0
  20. package/Server/API/MonitorTemplateAPI.ts +8 -0
  21. package/Server/API/ProbeAPI.ts +196 -15
  22. package/Server/API/ProjectAPI.ts +79 -1
  23. package/Server/API/ScheduledMaintenanceAPI.ts +33 -18
  24. package/Server/API/StatusPageAPI.ts +74 -37
  25. package/Server/API/WorkspaceNotificationRuleAPI.ts +34 -4
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1785320000000-RepairCrossProjectIncidentReferences.ts +527 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1785329453269-AddParentGroupToStatusPageGroup.ts +31 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1785397674289-AddRecommendationDismissalTable.ts +55 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1785405581596-AddDroppedCountersToDropFilters.ts +53 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  31. package/Server/Services/AlertEpisodeService.ts +47 -0
  32. package/Server/Services/AlertService.ts +125 -0
  33. package/Server/Services/BillingService.ts +98 -0
  34. package/Server/Services/DatabaseService.ts +184 -20
  35. package/Server/Services/IncidentEpisodeService.ts +47 -0
  36. package/Server/Services/IncidentService.ts +123 -0
  37. package/Server/Services/IncidentTemplateService.ts +123 -1
  38. package/Server/Services/Index.ts +2 -0
  39. package/Server/Services/LogDropFilterService.ts +133 -0
  40. package/Server/Services/MonitorProbeService.ts +94 -4
  41. package/Server/Services/MonitorService.ts +48 -43
  42. package/Server/Services/NetworkDeviceDiscoveryScanService.ts +70 -0
  43. package/Server/Services/ProbeService.ts +66 -0
  44. package/Server/Services/ProjectService.ts +131 -7
  45. package/Server/Services/RecommendationDismissalService.ts +52 -0
  46. package/Server/Services/RunbookAgentJobService.ts +68 -7
  47. package/Server/Services/ScheduledMaintenanceService.ts +103 -0
  48. package/Server/Services/ScheduledMaintenanceTemplateService.ts +90 -0
  49. package/Server/Services/StatusPageGroupService.ts +186 -0
  50. package/Server/Services/TraceDropFilterService.ts +133 -0
  51. package/Server/Types/Workflow/Components/API/Delete.ts +12 -0
  52. package/Server/Types/Workflow/Components/API/Get.ts +12 -0
  53. package/Server/Types/Workflow/Components/API/Patch.ts +12 -0
  54. package/Server/Types/Workflow/Components/API/Post.ts +12 -0
  55. package/Server/Types/Workflow/Components/API/Put.ts +13 -0
  56. package/Server/Utils/Database/ProjectScopedReferenceValidator.ts +212 -0
  57. package/Server/Utils/DropFilterValidation.ts +127 -0
  58. package/Server/Utils/Errors.ts +5 -0
  59. package/Server/Utils/Monitor/MonitorAlert.ts +28 -1
  60. package/Server/Utils/Monitor/MonitorIncident.ts +31 -2
  61. package/Server/Utils/Telemetry/AppMetrics.ts +31 -0
  62. package/Tests/Models/DatabaseModels/MonitorProbeColumnAccessControl.test.ts +196 -0
  63. package/Tests/Models/RecommendationDismissalModel.test.ts +269 -0
  64. package/Tests/Server/API/BaseAPIUpdatePayloadValidation.test.ts +320 -0
  65. package/Tests/Server/API/BaseAnalyticsAPIUpdatePayloadValidation.test.ts +293 -0
  66. package/Tests/Server/API/CommonAPIAuthGuard.test.ts +164 -0
  67. package/Tests/Server/API/ProbeAPI.test.ts +422 -53
  68. package/Tests/Server/API/ProjectAPI.test.ts +180 -0
  69. package/Tests/Server/API/ProjectAPIExtendTrialBillingDisabled.test.ts +138 -0
  70. package/Tests/Server/API/ProjectScopedCustomRouteAuth.test.ts +458 -0
  71. package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +359 -0
  72. package/Tests/Server/Infrastructure/ProcessSignalDelivery.test.ts +427 -0
  73. package/Tests/Server/Services/BillingServiceExtendTrial.test.ts +439 -0
  74. package/Tests/Server/Services/CrossProjectReferenceWriteGuard.test.ts +810 -0
  75. package/Tests/Server/Services/DatabaseServiceAtomicAddToColumns.test.ts +269 -0
  76. package/Tests/Server/Services/DatabaseServiceEmptyUpdate.test.ts +277 -0
  77. package/Tests/Server/Services/DatabaseServiceSortColumnSelect.test.ts +201 -0
  78. package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +81 -23
  79. package/Tests/Server/Services/DropFilterSaveValidation.test.ts +398 -0
  80. package/Tests/Server/Services/MonitorProbeDeleteHooks.test.ts +280 -0
  81. package/Tests/Server/Services/MonitorProbeServiceProbeTenancy.test.ts +304 -0
  82. package/Tests/Server/Services/NetworkDeviceDiscoveryScanService.test.ts +262 -0
  83. package/Tests/Server/Services/ProjectServiceExtendTrial.test.ts +614 -0
  84. package/Tests/Server/Services/RecommendationDismissalService.test.ts +306 -0
  85. package/Tests/Server/Services/RepairCrossProjectIncidentReferencesMigration.test.ts +528 -0
  86. package/Tests/Server/Services/StatusPageGroupNesting.test.ts +395 -0
  87. package/Tests/Server/TestingUtils/Services/BillingServiceHelper.ts +26 -21
  88. package/Tests/Server/Types/Database/Permissions/WorkflowVariableColumnPermission.test.ts +227 -0
  89. package/Tests/Server/Types/Workflow/Components/ApiComponentErrorPort.test.ts +285 -0
  90. package/Tests/Server/Utils/Database/ProjectScopedReferenceValidator.test.ts +463 -0
  91. package/Tests/Server/Utils/DropFilterValidation.test.ts +269 -0
  92. package/Tests/Server/Utils/Telemetry/SpanUtil.test.ts +94 -0
  93. package/Tests/Types/DateUserTimezone.test.ts +52 -0
  94. package/Tests/Types/Monitor/KubernetesAlertTemplates.test.ts +177 -9
  95. package/Tests/Types/Monitor/MonitorStepDnsMonitor.test.ts +105 -0
  96. package/Tests/Types/Monitor/MonitorStepDnssecMonitor.test.ts +131 -0
  97. package/Tests/Types/Monitor/MonitorStepDomainMonitor.test.ts +60 -0
  98. package/Tests/Types/Monitor/MonitorStepExternalStatusPageMonitor.test.ts +82 -0
  99. package/Tests/Types/Monitor/MonitorStepInfrastructureMonitors.test.ts +268 -0
  100. package/Tests/Types/Monitor/MonitorStepMetricMonitor.test.ts +386 -0
  101. package/Tests/Types/Monitor/MonitorStepProfileMonitor.test.ts +185 -0
  102. package/Tests/Types/Monitor/MonitorStepSnmpMonitor.test.ts +156 -0
  103. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +371 -0
  104. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +901 -0
  105. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +607 -0
  106. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +754 -0
  107. package/Tests/Types/Monitor/Recommendation/MonitorRecommendationUtil.test.ts +960 -0
  108. package/Tests/Types/RollingTime/RollingTimeUtil.test.ts +186 -0
  109. package/Tests/Types/Runbook/RunbookStepTimeout.test.ts +410 -0
  110. package/Tests/Types/Telemetry/DropFilterSampling.test.ts +241 -0
  111. package/Tests/Types/Workspace/NotificationRuleConditionUtil.test.ts +353 -0
  112. package/Tests/Types/Workspace/NotificationRuleUtil.test.ts +566 -0
  113. package/Tests/UI/Components/CodeEditor.test.tsx +174 -0
  114. package/Tests/UI/Components/ErrorBoundary.test.tsx +555 -24
  115. package/Tests/UI/Components/InfoCard.test.tsx +358 -0
  116. package/Tests/UI/Components/LogTimeRangePicker.test.tsx +138 -0
  117. package/Tests/UI/Components/Modal.test.tsx +43 -5
  118. package/Tests/UI/Components/ModelTable/BaseModelTableSearchLabels.test.tsx +397 -0
  119. package/Tests/UI/Components/ModelTable/ColumnCustomizationModal.test.tsx +427 -0
  120. package/Tests/UI/Components/Runbook/StepTimeoutInput.test.tsx +386 -0
  121. package/Tests/UI/Components/StatusPage/ResourceGroupSection.test.tsx +671 -0
  122. package/Tests/UI/Components/TelemetryTimeRangePicker.test.tsx +404 -0
  123. package/Tests/UI/Utils/DropdownAlignment.test.ts +306 -0
  124. package/Tests/UI/Utils/TableFilterUrlState.test.ts +292 -0
  125. package/Tests/Utils/Monitor/MonitorSummaryProbeUtil.test.ts +263 -0
  126. package/Tests/Utils/NetworkDiscovery/ScanTargetUtil.test.ts +583 -0
  127. package/Tests/Utils/StatusPage/GroupNestingLayout.test.ts +1072 -0
  128. package/Tests/Utils/StatusPage/GroupTree.test.ts +583 -0
  129. package/Tests/Utils/StatusPage/ResourceUptime.test.ts +411 -0
  130. package/Types/Date.ts +15 -6
  131. package/Types/Monitor/KubernetesAlertTemplates.ts +205 -0
  132. package/Types/Monitor/MonitorStep.ts +10 -1
  133. package/Types/Monitor/MonitorStepMetricMonitor.ts +46 -1
  134. package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +413 -0
  135. package/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.ts +168 -0
  136. package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +175 -0
  137. package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +743 -0
  138. package/Types/Permission.ts +45 -0
  139. package/Types/Recommendation/RecommendationType.ts +20 -0
  140. package/Types/Runbook/RunbookExecutionDeadline.ts +129 -0
  141. package/Types/Runbook/RunbookStepTimeout.ts +202 -0
  142. package/Types/Telemetry/DropFilterSampling.ts +92 -0
  143. package/UI/Components/AI/GenerateFromAIModal.tsx +0 -2
  144. package/UI/Components/Accordion/Accordion.tsx +10 -2
  145. package/UI/Components/BulkUpdate/BulkLabelActions.tsx +0 -1
  146. package/UI/Components/CodeEditor/CodeEditor.tsx +34 -20
  147. package/UI/Components/Date/RangeStartAndEndDateView.tsx +0 -1
  148. package/UI/Components/EditionLabel/EditionLabel.tsx +1 -27
  149. package/UI/Components/Error/PageError.tsx +0 -4
  150. package/UI/Components/ErrorBoundary.tsx +252 -15
  151. package/UI/Components/InfoCard/InfoCard.tsx +58 -1
  152. package/UI/Components/LogsViewer/components/LogTimeRangePicker.tsx +34 -1
  153. package/UI/Components/Modal/Modal.tsx +16 -60
  154. package/UI/Components/ModelFormModal/ModelFormModal.tsx +0 -8
  155. package/UI/Components/ModelTable/BaseModelTable.tsx +116 -67
  156. package/UI/Components/ModelTable/ColumnCustomizationModal.tsx +150 -47
  157. package/UI/Components/Runbook/StepTimeoutInput.tsx +173 -0
  158. package/UI/Components/StatusPage/ResourceGroupSection.tsx +231 -0
  159. package/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx +34 -1
  160. package/UI/Utils/DropdownAlignment.ts +162 -0
  161. package/UI/Utils/TableFilterUrlState.ts +59 -20
  162. package/Utils/API.ts +106 -2
  163. package/Utils/Monitor/MonitorSummaryProbeUtil.ts +130 -0
  164. package/Utils/NetworkDiscovery/ScanTargetUtil.ts +434 -0
  165. package/Utils/StatusPage/GroupNestingLayout.ts +343 -0
  166. package/Utils/StatusPage/GroupTree.ts +307 -0
  167. package/Utils/StatusPage/ResourceUptime.ts +90 -17
  168. package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js +1 -0
  169. package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +1 -0
  171. package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
  172. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +1 -0
  173. package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
  174. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +1 -0
  175. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
  176. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  177. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  178. package/build/dist/Models/DatabaseModels/LogDropFilter.js +91 -0
  179. package/build/dist/Models/DatabaseModels/LogDropFilter.js.map +1 -1
  180. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +14 -4
  181. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  182. package/build/dist/Models/DatabaseModels/RecommendationDismissal.js +484 -0
  183. package/build/dist/Models/DatabaseModels/RecommendationDismissal.js.map +1 -0
  184. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +1 -0
  185. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
  186. package/build/dist/Models/DatabaseModels/StatusPageGroup.js +94 -0
  187. package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
  188. package/build/dist/Models/DatabaseModels/TraceDropFilter.js +91 -0
  189. package/build/dist/Models/DatabaseModels/TraceDropFilter.js.map +1 -1
  190. package/build/dist/Models/DatabaseModels/WorkflowVariable.js +5 -1
  191. package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
  192. package/build/dist/Server/API/AlertAPI.js +22 -13
  193. package/build/dist/Server/API/AlertAPI.js.map +1 -1
  194. package/build/dist/Server/API/BaseAPI.js +22 -1
  195. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  196. package/build/dist/Server/API/BaseAnalyticsAPI.js +24 -1
  197. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  198. package/build/dist/Server/API/CommonAPI.js +42 -0
  199. package/build/dist/Server/API/CommonAPI.js.map +1 -1
  200. package/build/dist/Server/API/IncidentAPI.js +43 -26
  201. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  202. package/build/dist/Server/API/IncidentEpisodeAPI.js +21 -12
  203. package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
  204. package/build/dist/Server/API/MonitorAPI.js +23 -0
  205. package/build/dist/Server/API/MonitorAPI.js.map +1 -1
  206. package/build/dist/Server/API/MonitorTemplateAPI.js +4 -0
  207. package/build/dist/Server/API/MonitorTemplateAPI.js.map +1 -1
  208. package/build/dist/Server/API/ProbeAPI.js +131 -15
  209. package/build/dist/Server/API/ProbeAPI.js.map +1 -1
  210. package/build/dist/Server/API/ProjectAPI.js +62 -3
  211. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  212. package/build/dist/Server/API/ScheduledMaintenanceAPI.js +23 -14
  213. package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
  214. package/build/dist/Server/API/StatusPageAPI.js +61 -33
  215. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  216. package/build/dist/Server/API/WorkspaceNotificationRuleAPI.js +26 -2
  217. package/build/dist/Server/API/WorkspaceNotificationRuleAPI.js.map +1 -1
  218. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785320000000-RepairCrossProjectIncidentReferences.js +397 -0
  219. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785320000000-RepairCrossProjectIncidentReferences.js.map +1 -0
  220. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785329453269-AddParentGroupToStatusPageGroup.js +16 -0
  221. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785329453269-AddParentGroupToStatusPageGroup.js.map +1 -0
  222. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785397674289-AddRecommendationDismissalTable.js +30 -0
  223. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785397674289-AddRecommendationDismissalTable.js.map +1 -0
  224. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785405581596-AddDroppedCountersToDropFilters.js +34 -0
  225. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785405581596-AddDroppedCountersToDropFilters.js.map +1 -0
  226. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  227. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  228. package/build/dist/Server/Services/AlertEpisodeService.js +39 -0
  229. package/build/dist/Server/Services/AlertEpisodeService.js.map +1 -1
  230. package/build/dist/Server/Services/AlertService.js +95 -0
  231. package/build/dist/Server/Services/AlertService.js.map +1 -1
  232. package/build/dist/Server/Services/BillingService.js +71 -0
  233. package/build/dist/Server/Services/BillingService.js.map +1 -1
  234. package/build/dist/Server/Services/DatabaseService.js +140 -17
  235. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  236. package/build/dist/Server/Services/IncidentEpisodeService.js +39 -0
  237. package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
  238. package/build/dist/Server/Services/IncidentService.js +100 -0
  239. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  240. package/build/dist/Server/Services/IncidentTemplateService.js +97 -0
  241. package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
  242. package/build/dist/Server/Services/Index.js +2 -0
  243. package/build/dist/Server/Services/Index.js.map +1 -1
  244. package/build/dist/Server/Services/LogDropFilterService.js +93 -0
  245. package/build/dist/Server/Services/LogDropFilterService.js.map +1 -1
  246. package/build/dist/Server/Services/MonitorProbeService.js +73 -5
  247. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  248. package/build/dist/Server/Services/MonitorService.js +34 -39
  249. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  250. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +71 -0
  251. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -1
  252. package/build/dist/Server/Services/ProbeService.js +64 -0
  253. package/build/dist/Server/Services/ProbeService.js.map +1 -1
  254. package/build/dist/Server/Services/ProjectService.js +103 -7
  255. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  256. package/build/dist/Server/Services/RecommendationDismissalService.js +50 -0
  257. package/build/dist/Server/Services/RecommendationDismissalService.js.map +1 -0
  258. package/build/dist/Server/Services/RunbookAgentJobService.js +63 -5
  259. package/build/dist/Server/Services/RunbookAgentJobService.js.map +1 -1
  260. package/build/dist/Server/Services/ScheduledMaintenanceService.js +83 -0
  261. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  262. package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js +65 -0
  263. package/build/dist/Server/Services/ScheduledMaintenanceTemplateService.js.map +1 -1
  264. package/build/dist/Server/Services/StatusPageGroupService.js +136 -0
  265. package/build/dist/Server/Services/StatusPageGroupService.js.map +1 -1
  266. package/build/dist/Server/Services/TraceDropFilterService.js +93 -0
  267. package/build/dist/Server/Services/TraceDropFilterService.js.map +1 -1
  268. package/build/dist/Server/Types/Workflow/Components/API/Delete.js +11 -0
  269. package/build/dist/Server/Types/Workflow/Components/API/Delete.js.map +1 -1
  270. package/build/dist/Server/Types/Workflow/Components/API/Get.js +11 -0
  271. package/build/dist/Server/Types/Workflow/Components/API/Get.js.map +1 -1
  272. package/build/dist/Server/Types/Workflow/Components/API/Patch.js +11 -0
  273. package/build/dist/Server/Types/Workflow/Components/API/Patch.js.map +1 -1
  274. package/build/dist/Server/Types/Workflow/Components/API/Post.js +11 -0
  275. package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
  276. package/build/dist/Server/Types/Workflow/Components/API/Put.js +12 -0
  277. package/build/dist/Server/Types/Workflow/Components/API/Put.js.map +1 -1
  278. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js +132 -0
  279. package/build/dist/Server/Utils/Database/ProjectScopedReferenceValidator.js.map +1 -0
  280. package/build/dist/Server/Utils/DropFilterValidation.js +80 -0
  281. package/build/dist/Server/Utils/DropFilterValidation.js.map +1 -0
  282. package/build/dist/Server/Utils/Errors.js +3 -0
  283. package/build/dist/Server/Utils/Errors.js.map +1 -1
  284. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +30 -12
  285. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  286. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +38 -18
  287. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  288. package/build/dist/Server/Utils/Telemetry/AppMetrics.js +26 -0
  289. package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
  290. package/build/dist/Types/Date.js +14 -4
  291. package/build/dist/Types/Date.js.map +1 -1
  292. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +192 -0
  293. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
  294. package/build/dist/Types/Monitor/MonitorStep.js +6 -1
  295. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  296. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +32 -1
  297. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
  298. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +294 -0
  299. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -0
  300. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js +110 -0
  301. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js.map +1 -0
  302. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +58 -0
  303. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -0
  304. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +451 -0
  305. package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -0
  306. package/build/dist/Types/Permission.js +40 -0
  307. package/build/dist/Types/Permission.js.map +1 -1
  308. package/build/dist/Types/Recommendation/RecommendationType.js +21 -0
  309. package/build/dist/Types/Recommendation/RecommendationType.js.map +1 -0
  310. package/build/dist/Types/Runbook/RunbookExecutionDeadline.js +93 -0
  311. package/build/dist/Types/Runbook/RunbookExecutionDeadline.js.map +1 -0
  312. package/build/dist/Types/Runbook/RunbookStepTimeout.js +142 -0
  313. package/build/dist/Types/Runbook/RunbookStepTimeout.js.map +1 -0
  314. package/build/dist/Types/Telemetry/DropFilterSampling.js +75 -0
  315. package/build/dist/Types/Telemetry/DropFilterSampling.js.map +1 -0
  316. package/build/dist/UI/Components/AI/GenerateFromAIModal.js +1 -2
  317. package/build/dist/UI/Components/AI/GenerateFromAIModal.js.map +1 -1
  318. package/build/dist/UI/Components/Accordion/Accordion.js +9 -2
  319. package/build/dist/UI/Components/Accordion/Accordion.js.map +1 -1
  320. package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js +1 -1
  321. package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js.map +1 -1
  322. package/build/dist/UI/Components/CodeEditor/CodeEditor.js +27 -14
  323. package/build/dist/UI/Components/CodeEditor/CodeEditor.js.map +1 -1
  324. package/build/dist/UI/Components/Date/RangeStartAndEndDateView.js +1 -1
  325. package/build/dist/UI/Components/Date/RangeStartAndEndDateView.js.map +1 -1
  326. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +2 -20
  327. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  328. package/build/dist/UI/Components/Error/PageError.js +1 -3
  329. package/build/dist/UI/Components/Error/PageError.js.map +1 -1
  330. package/build/dist/UI/Components/ErrorBoundary.js +145 -11
  331. package/build/dist/UI/Components/ErrorBoundary.js.map +1 -1
  332. package/build/dist/UI/Components/InfoCard/InfoCard.js +28 -1
  333. package/build/dist/UI/Components/InfoCard/InfoCard.js.map +1 -1
  334. package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js +13 -2
  335. package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js.map +1 -1
  336. package/build/dist/UI/Components/Modal/Modal.js +4 -32
  337. package/build/dist/UI/Components/Modal/Modal.js.map +1 -1
  338. package/build/dist/UI/Components/ModelFormModal/ModelFormModal.js.map +1 -1
  339. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +69 -33
  340. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  341. package/build/dist/UI/Components/ModelTable/ColumnCustomizationModal.js +73 -32
  342. package/build/dist/UI/Components/ModelTable/ColumnCustomizationModal.js.map +1 -1
  343. package/build/dist/UI/Components/Runbook/StepTimeoutInput.js +101 -0
  344. package/build/dist/UI/Components/Runbook/StepTimeoutInput.js.map +1 -0
  345. package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js +73 -0
  346. package/build/dist/UI/Components/StatusPage/ResourceGroupSection.js.map +1 -0
  347. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js +13 -2
  348. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js.map +1 -1
  349. package/build/dist/UI/Utils/DropdownAlignment.js +98 -0
  350. package/build/dist/UI/Utils/DropdownAlignment.js.map +1 -0
  351. package/build/dist/UI/Utils/TableFilterUrlState.js +48 -15
  352. package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
  353. package/build/dist/Utils/API.js +39 -2
  354. package/build/dist/Utils/API.js.map +1 -1
  355. package/build/dist/Utils/Monitor/MonitorSummaryProbeUtil.js +97 -0
  356. package/build/dist/Utils/Monitor/MonitorSummaryProbeUtil.js.map +1 -0
  357. package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js +330 -0
  358. package/build/dist/Utils/NetworkDiscovery/ScanTargetUtil.js.map +1 -0
  359. package/build/dist/Utils/StatusPage/GroupNestingLayout.js +280 -0
  360. package/build/dist/Utils/StatusPage/GroupNestingLayout.js.map +1 -0
  361. package/build/dist/Utils/StatusPage/GroupTree.js +214 -0
  362. package/build/dist/Utils/StatusPage/GroupTree.js.map +1 -0
  363. package/build/dist/Utils/StatusPage/ResourceUptime.js +60 -16
  364. package/build/dist/Utils/StatusPage/ResourceUptime.js.map +1 -1
  365. package/package.json +1 -1
@@ -13,6 +13,7 @@ import Response from "../Utils/Response";
13
13
  import CommonAPI from "./CommonAPI";
14
14
  import AnalyticsDataModel from "../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
15
15
  import { DEFAULT_LIMIT, LIMIT_PER_PROJECT, } from "../../Types/Database/LimitMax";
16
+ import BadDataException from "../../Types/Exception/BadDataException";
16
17
  import BadRequestException from "../../Types/Exception/BadRequestException";
17
18
  import JSONFunctions from "../../Types/JSONFunctions";
18
19
  import ObjectID from "../../Types/ObjectID";
@@ -354,7 +355,29 @@ export default class BaseAnalyticsAPI {
354
355
  const objectId = new ObjectID(req.params["id"]);
355
356
  const objectIdString = objectId.toString();
356
357
  const body = req.body;
357
- const item = AnalyticsDataModel.fromJSON(body["data"], this.entityType);
358
+ const dataInBody = body["data"];
359
+ /*
360
+ * Same contract as BaseAPI.updateItem: the payload has to be wrapped as
361
+ * { "data": { ...columns... } }. Reject anything else here rather than
362
+ * letting an empty model reach the service.
363
+ */
364
+ if (!dataInBody ||
365
+ typeof dataInBody !== "object" ||
366
+ Array.isArray(dataInBody)) {
367
+ throw new BadDataException('Invalid request body. The update payload should be an object of the form { "data": { ...fields to update... } }.');
368
+ }
369
+ /*
370
+ * Count the fields on the raw payload, not on the model: an analytics
371
+ * model instance always carries its own internal properties, so
372
+ * Object.keys() on it is never empty.
373
+ */
374
+ const fieldsToUpdate = Object.keys(dataInBody).filter((key) => {
375
+ return key !== "_id" && key !== "createdAt" && key !== "updatedAt";
376
+ });
377
+ if (fieldsToUpdate.length === 0) {
378
+ throw new BadDataException('No fields to update. Please include at least one field to update in the "data" object of the request body.');
379
+ }
380
+ const item = AnalyticsDataModel.fromJSON(dataInBody, this.entityType);
358
381
  delete item["_id"];
359
382
  delete item["createdAt"];
360
383
  delete item["updatedAt"];
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAnalyticsAPI.js","sourceRoot":"","sources":["../../../../Server/API/BaseAnalyticsAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAnalyticsAPI.js","sourceRoot":"","sources":["../../../../Server/API/BaseAnalyticsAPI.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,30 @@ import SpanUtil from "../Utils/Telemetry/SpanUtil";
15
15
  import BadDataException from "../../Types/Exception/BadDataException";
16
16
  import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
17
17
  export default class CommonAPI {
18
+ /*
19
+ * Custom (non-CRUD) endpoints whose path carries only a resource id give
20
+ * getUserMiddleware no way to learn the project except the `tenantid`
21
+ * header. ModelAPI attaches that header to every request it makes, but a
22
+ * custom route reached with a raw API.post/API.get gets none unless the call
23
+ * site adds ModelAPI.getCommonHeaders() itself. When a caller forgets it,
24
+ * the request still reaches the handler — just with no tenant permissions —
25
+ * and the eventual tenant-scoped read fails as "You do not have permissions
26
+ * to read <model>", which reads like a missing role when it is really a
27
+ * missing header. Assert the scope up front so the caller gets the real
28
+ * cause.
29
+ *
30
+ * This deliberately checks the tenant only, not the user: API-key callers
31
+ * are authenticated by ProjectMiddleware and carry tenant permissions
32
+ * without ever setting `userId`. Use assertAuthenticatedProjectMember when
33
+ * an endpoint must additionally be a logged-in human member.
34
+ */
35
+ static assertTenantScoped(databaseProps) {
36
+ const projectId = databaseProps.tenantId;
37
+ if (!projectId) {
38
+ throw new BadDataException("Project ID is required. Please pass the project ID in the 'tenantid' header.");
39
+ }
40
+ return projectId;
41
+ }
18
42
  /*
19
43
  * getUserMiddleware lets unauthenticated requests through as "public" and
20
44
  * takes the tenant id from a caller-supplied header — custom endpoints
@@ -34,6 +58,24 @@ export default class CommonAPI {
34
58
  }
35
59
  return projectId;
36
60
  }
61
+ /*
62
+ * assertAuthenticatedProjectMember only proves the caller belongs to the
63
+ * project it *claimed* in the `tenantid` header — it never looks at the
64
+ * resource the path names. A custom route that then reads or mutates that
65
+ * resource as root must also confirm the resource's own projectId is the
66
+ * project the caller was authorized for, otherwise a member of project A
67
+ * reaches project B's resource id just by sending their own header.
68
+ *
69
+ * A resource that does not exist (or carries no projectId) is rejected the
70
+ * same way, so the endpoint cannot be used to confirm which ids exist in
71
+ * other projects.
72
+ */
73
+ static assertResourceBelongsToProject(data) {
74
+ if (!data.resourceProjectId ||
75
+ data.resourceProjectId.toString() !== data.projectId.toString()) {
76
+ throw new NotAuthorizedException("You are not authorized to access this project's data.");
77
+ }
78
+ }
37
79
  static async getDatabaseCommonInteractionProps(req) {
38
80
  var _a;
39
81
  const props = {
@@ -1 +1 @@
1
- {"version":3,"file":"CommonAPI.js","sourceRoot":"","sources":["../../../../Server/API/CommonAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommonAPI.js","sourceRoot":"","sources":["../../../../Server/API/CommonAPI.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import Incident from "../../Models/DatabaseModels/Incident";
2
2
  import NotFoundException from "../../Types/Exception/NotFoundException";
3
3
  import BadDataException from "../../Types/Exception/BadDataException";
4
+ import DatabaseCommonInteractionPropsUtil, { PermissionType, } from "../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
4
5
  import ObjectID from "../../Types/ObjectID";
5
6
  import IncidentService from "../Services/IncidentService";
6
7
  import UserMiddleware from "../Middleware/UserAuthorization";
@@ -98,7 +99,6 @@ export default class IncidentAPI extends BaseAPI {
98
99
  return Response.sendFileResponse(req, res, attachment);
99
100
  }
100
101
  async generatePostmortemFromAI(req, res) {
101
- var _a;
102
102
  const incidentIdParam = req.params["incidentId"];
103
103
  if (!incidentIdParam) {
104
104
  throw new BadDataException("Incident ID is required");
@@ -107,20 +107,29 @@ export default class IncidentAPI extends BaseAPI {
107
107
  try {
108
108
  incidentId = new ObjectID(incidentIdParam);
109
109
  }
110
- catch (_b) {
110
+ catch (_a) {
111
111
  throw new BadDataException("Invalid Incident ID");
112
112
  }
113
113
  const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
114
- // Verify user has permission to edit the incident
115
- const permissions = (_a = props
116
- .userTenantAccessPermission) === null || _a === void 0 ? void 0 : _a["permissions"];
117
- const hasPermission = permissions
118
- ? permissions.some((p) => {
119
- return (p === Permission.ProjectOwner ||
120
- p === Permission.ProjectAdmin ||
121
- p === Permission.EditProjectIncident);
122
- })
123
- : false;
114
+ CommonAPI.assertTenantScoped(props);
115
+ /*
116
+ * Read through getUserPermissions(Allow) rather than off
117
+ * userTenantAccessPermission directly. That dictionary is keyed by project
118
+ * id and its entries hold GRANTS AND DENIALS together, discriminated only
119
+ * by isBlockPermission, so the previous
120
+ * `userTenantAccessPermission["permissions"]` read was always undefined
121
+ * and denied every caller who was not a master admin. Mapping the array
122
+ * raw would swing the other way and count a team's explicit block
123
+ * entry for one of these permissions as a grant of it.
124
+ */
125
+ const permissions = DatabaseCommonInteractionPropsUtil.getUserPermissions(props, PermissionType.Allow).map((userPermission) => {
126
+ return userPermission.permission;
127
+ });
128
+ const hasPermission = permissions.some((p) => {
129
+ return (p === Permission.ProjectOwner ||
130
+ p === Permission.ProjectAdmin ||
131
+ p === Permission.EditProjectIncident);
132
+ });
124
133
  if (!hasPermission && !props.isMasterAdmin) {
125
134
  throw new BadDataException("You do not have permission to generate postmortem for this incident. You need to have one of these permissions: Project Owner, Project Admin, Edit Project Incident.");
126
135
  }
@@ -171,7 +180,6 @@ export default class IncidentAPI extends BaseAPI {
171
180
  });
172
181
  }
173
182
  async generateNoteFromAI(req, res) {
174
- var _a;
175
183
  const incidentIdParam = req.params["incidentId"];
176
184
  if (!incidentIdParam) {
177
185
  throw new BadDataException("Incident ID is required");
@@ -180,22 +188,31 @@ export default class IncidentAPI extends BaseAPI {
180
188
  try {
181
189
  incidentId = new ObjectID(incidentIdParam);
182
190
  }
183
- catch (_b) {
191
+ catch (_a) {
184
192
  throw new BadDataException("Invalid Incident ID");
185
193
  }
186
194
  const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
187
- // Verify user has permission to edit the incident
188
- const permissions = (_a = props
189
- .userTenantAccessPermission) === null || _a === void 0 ? void 0 : _a["permissions"];
190
- const hasPermission = permissions
191
- ? permissions.some((p) => {
192
- return (p === Permission.ProjectOwner ||
193
- p === Permission.ProjectAdmin ||
194
- p === Permission.EditProjectIncident ||
195
- p === Permission.CreateIncidentInternalNote ||
196
- p === Permission.CreateIncidentPublicNote);
197
- })
198
- : false;
195
+ CommonAPI.assertTenantScoped(props);
196
+ /*
197
+ * Read through getUserPermissions(Allow) rather than off
198
+ * userTenantAccessPermission directly. That dictionary is keyed by project
199
+ * id and its entries hold GRANTS AND DENIALS together, discriminated only
200
+ * by isBlockPermission, so the previous
201
+ * `userTenantAccessPermission["permissions"]` read was always undefined
202
+ * and denied every caller who was not a master admin. Mapping the array
203
+ * raw would swing the other way and count a team's explicit block
204
+ * entry for one of these permissions as a grant of it.
205
+ */
206
+ const permissions = DatabaseCommonInteractionPropsUtil.getUserPermissions(props, PermissionType.Allow).map((userPermission) => {
207
+ return userPermission.permission;
208
+ });
209
+ const hasPermission = permissions.some((p) => {
210
+ return (p === Permission.ProjectOwner ||
211
+ p === Permission.ProjectAdmin ||
212
+ p === Permission.EditProjectIncident ||
213
+ p === Permission.CreateIncidentInternalNote ||
214
+ p === Permission.CreateIncidentPublicNote);
215
+ });
199
216
  if (!hasPermission && !props.isMasterAdmin) {
200
217
  throw new BadDataException("You do not have permission to generate notes for this incident.");
201
218
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IncidentAPI.js","sourceRoot":"","sources":["../../../../Server/API/IncidentAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IncidentAPI.js","sourceRoot":"","sources":["../../../../Server/API/IncidentAPI.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import IncidentEpisode from "../../Models/DatabaseModels/IncidentEpisode";
2
2
  import BadDataException from "../../Types/Exception/BadDataException";
3
3
  import NotFoundException from "../../Types/Exception/NotFoundException";
4
+ import DatabaseCommonInteractionPropsUtil, { PermissionType, } from "../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
4
5
  import ObjectID from "../../Types/ObjectID";
5
6
  import IncidentEpisodeService from "../Services/IncidentEpisodeService";
6
7
  import UserMiddleware from "../Middleware/UserAuthorization";
@@ -27,7 +28,6 @@ export default class IncidentEpisodeAPI extends BaseAPI {
27
28
  });
28
29
  }
29
30
  async generatePostmortemFromAI(req, res) {
30
- var _a;
31
31
  const episodeIdParam = req.params["episodeId"];
32
32
  if (!episodeIdParam) {
33
33
  throw new BadDataException("Episode ID is required");
@@ -36,20 +36,29 @@ export default class IncidentEpisodeAPI extends BaseAPI {
36
36
  try {
37
37
  episodeId = new ObjectID(episodeIdParam);
38
38
  }
39
- catch (_b) {
39
+ catch (_a) {
40
40
  throw new BadDataException("Invalid Episode ID");
41
41
  }
42
42
  const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
43
- // Verify user has permission to edit the episode
44
- const permissions = (_a = props
45
- .userTenantAccessPermission) === null || _a === void 0 ? void 0 : _a["permissions"];
46
- const hasPermission = permissions
47
- ? permissions.some((p) => {
48
- return (p === Permission.ProjectOwner ||
49
- p === Permission.ProjectAdmin ||
50
- p === Permission.EditIncidentEpisode);
51
- })
52
- : false;
43
+ CommonAPI.assertTenantScoped(props);
44
+ /*
45
+ * Read through getUserPermissions(Allow) rather than off
46
+ * userTenantAccessPermission directly. That dictionary is keyed by project
47
+ * id and its entries hold GRANTS AND DENIALS together, discriminated only
48
+ * by isBlockPermission, so the previous
49
+ * `userTenantAccessPermission["permissions"]` read was always undefined
50
+ * and denied every caller who was not a master admin. Mapping the array
51
+ * raw would swing the other way and count a team's explicit block
52
+ * entry for one of these permissions as a grant of it.
53
+ */
54
+ const permissions = DatabaseCommonInteractionPropsUtil.getUserPermissions(props, PermissionType.Allow).map((userPermission) => {
55
+ return userPermission.permission;
56
+ });
57
+ const hasPermission = permissions.some((p) => {
58
+ return (p === Permission.ProjectOwner ||
59
+ p === Permission.ProjectAdmin ||
60
+ p === Permission.EditIncidentEpisode);
61
+ });
53
62
  if (!hasPermission && !props.isMasterAdmin) {
54
63
  throw new BadDataException("You do not have permission to generate postmortem for this episode. You need to have one of these permissions: Project Owner, Project Admin, Edit Incident Episode.");
55
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IncidentEpisodeAPI.js","sourceRoot":"","sources":["../../../../Server/API/IncidentEpisodeAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IncidentEpisodeAPI.js","sourceRoot":"","sources":["../../../../Server/API/IncidentEpisodeAPI.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAC1E,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,kCAAkC,EAAE,EACzC,cAAc,GACf,MAAM,6DAA6D,CAAC;AACrE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,sBAEN,MAAM,oCAAoC,CAAC;AAC5C,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,WAAW,CAAC;AAMhC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,SAA0C,MAAM,uBAAuB,CAAC;AAC/E,OAAO,+BAEN,MAAM,6CAA6C,CAAC;AAErD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,UAA8B,MAAM,wBAAwB,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,OAG/C;IACC;;QACE,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QAE/C,8BAA8B;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,yCAAyC,EACvD,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,GAAmB,EACnB,GAAoB;QAEpB,MAAM,cAAc,GAAuB,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEnE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,SAAmB,CAAC;QAExB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;QAAC,WAAM,CAAC;YACP,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,KAAK,GACT,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;QAEzD,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEpC;;;;;;;;;WASG;QACH,MAAM,WAAW,GACf,kCAAkC,CAAC,kBAAkB,CACnD,KAAK,EACL,cAAc,CAAC,KAAK,CACrB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;YACvC,OAAO,cAAc,CAAC,UAAU,CAAC;QACnC,CAAC,CAAC,CAAC;QAEL,MAAM,aAAa,GAAY,WAAW,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,EAAE;YAChE,OAAO,CACL,CAAC,KAAK,UAAU,CAAC,YAAY;gBAC7B,CAAC,KAAK,UAAU,CAAC,YAAY;gBAC7B,CAAC,KAAK,UAAU,CAAC,mBAAmB,CACrC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,IAAI,gBAAgB,CACxB,qKAAqK,CACtK,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,MAAM,QAAQ,GAAuB,aAAa,CAAC,kBAAkB,CACnE,GAAG,CAAC,IAAI,EACR,UAAU,CACW,CAAC;QAExB,8DAA8D;QAC9D,MAAM,wBAAwB,GAAY,IAAI,CAAC;QAE/C,6DAA6D;QAC7D,MAAM,OAAO,GAA2B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACrE,EAAE,EAAE,SAAS;YACb,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;aAChB;YACD,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACnD,CAAC;QAED,wBAAwB;QACxB,MAAM,WAAW,GACf,MAAM,+BAA+B,CAAC,mBAAmB,CAAC;YACxD,SAAS;YACT,wBAAwB;YACxB,qBAAqB,EAAE,GAAG;SAC3B,CAAC,CAAC;QAEL,2CAA2C;QAC3C,MAAM,SAAS,GACb,+BAA+B,CAAC,iCAAiC,CAC/D,WAAW,EACX,QAAQ,CACT,CAAC;QAEJ,oEAAoE;QACpE,MAAM,YAAY,GAAiB;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,6BAA6B;YACtC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,GAAG;YAChB;;;eAGG;YACH,oBAAoB,EAAE,KAAK;SAC5B,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GACZ,MAAM,SAAS,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAEnD,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;YAC/C,cAAc,EAAE,QAAQ,CAAC,OAAO;SACjC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -2,6 +2,7 @@ import UserMiddleware from "../Middleware/UserAuthorization";
2
2
  import MonitorService from "../Services/MonitorService";
3
3
  import Response from "../Utils/Response";
4
4
  import BaseAPI from "./BaseAPI";
5
+ import CommonAPI from "./CommonAPI";
5
6
  import Monitor from "../../Models/DatabaseModels/Monitor";
6
7
  import ObjectID from "../../Types/ObjectID";
7
8
  export default class MonitorAPI extends BaseAPI {
@@ -10,7 +11,29 @@ export default class MonitorAPI extends BaseAPI {
10
11
  super(Monitor, MonitorService);
11
12
  this.router.get(`${(_a = new this.entityType().getCrudApiPath()) === null || _a === void 0 ? void 0 : _a.toString()}/refresh-status/:monitorId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
12
13
  try {
14
+ const databaseProps = await CommonAPI.getDatabaseCommonInteractionProps(req);
15
+ /*
16
+ * getUserMiddleware lets unauthenticated requests through as
17
+ * "public", and refreshMonitorCurrentStatus reads and writes the
18
+ * monitor as root. Require an authenticated member of the
19
+ * monitor's own project — the caller-supplied tenant says nothing
20
+ * about which project the monitor id in the path belongs to.
21
+ */
22
+ const projectId = CommonAPI.assertAuthenticatedProjectMember(databaseProps);
13
23
  const monitorId = new ObjectID(req.params["monitorId"]);
24
+ const monitor = await MonitorService.findOneById({
25
+ id: monitorId,
26
+ select: {
27
+ projectId: true,
28
+ },
29
+ props: {
30
+ isRoot: true,
31
+ },
32
+ });
33
+ CommonAPI.assertResourceBelongsToProject({
34
+ resourceProjectId: monitor === null || monitor === void 0 ? void 0 : monitor.projectId,
35
+ projectId: projectId,
36
+ });
14
37
  await MonitorService.refreshMonitorCurrentStatus(monitorId);
15
38
  return Response.sendEmptySuccessResponse(req, res);
16
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorAPI.js","sourceRoot":"","sources":["../../../../Server/API/MonitorAPI.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,cAEN,MAAM,4BAA4B,CAAC;AAMpC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAoC;IAC1E;;QACE,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,0CAAE,QAAQ,EAAE,4BAA4B,EACjF,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAa,IAAI,QAAQ,CACtC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAW,CAClC,CAAC;gBAEF,MAAM,cAAc,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"MonitorAPI.js","sourceRoot":"","sources":["../../../../Server/API/MonitorAPI.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,cAEN,MAAM,4BAA4B,CAAC;AAMpC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAoC;IAC1E;;QACE,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,0CAAE,QAAQ,EAAE,4BAA4B,EACjF,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,aAAa,GACjB,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;gBAEzD;;;;;;mBAMG;gBACH,MAAM,SAAS,GACb,SAAS,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC;gBAE5D,MAAM,SAAS,GAAa,IAAI,QAAQ,CACtC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAW,CAClC,CAAC;gBAEF,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;oBAC/D,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE;wBACN,SAAS,EAAE,IAAI;qBAChB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,SAAS,CAAC,8BAA8B,CAAC;oBACvC,iBAAiB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;oBACrC,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;gBAEH,MAAM,cAAc,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -37,6 +37,7 @@ export default class MonitorTemplateAPI extends BaseAPI {
37
37
  try {
38
38
  const monitorTemplateId = new ObjectID(req.params["monitorTemplateId"]);
39
39
  const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
40
+ CommonAPI.assertTenantScoped(props);
40
41
  const fields = readSyncFields(req);
41
42
  const result = await MonitorTemplateService.syncLinkedMonitors(Object.assign({ monitorTemplateId,
42
43
  props }, (fields !== undefined ? { fields } : {})));
@@ -54,6 +55,7 @@ export default class MonitorTemplateAPI extends BaseAPI {
54
55
  const monitorTemplateId = new ObjectID(req.params["monitorTemplateId"]);
55
56
  const monitorId = new ObjectID(req.params["monitorId"]);
56
57
  const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
58
+ CommonAPI.assertTenantScoped(props);
57
59
  const fields = readSyncFields(req);
58
60
  await MonitorTemplateService.syncToMonitor(Object.assign({ monitorTemplateId,
59
61
  monitorId,
@@ -72,6 +74,7 @@ export default class MonitorTemplateAPI extends BaseAPI {
72
74
  const monitorTemplateId = new ObjectID(req.params["monitorTemplateId"]);
73
75
  const monitorId = new ObjectID(req.params["monitorId"]);
74
76
  const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
77
+ CommonAPI.assertTenantScoped(props);
75
78
  await MonitorTemplateService.linkMonitor({
76
79
  monitorTemplateId,
77
80
  monitorId,
@@ -91,6 +94,7 @@ export default class MonitorTemplateAPI extends BaseAPI {
91
94
  const monitorTemplateId = new ObjectID(req.params["monitorTemplateId"]);
92
95
  const monitorId = new ObjectID(req.params["monitorId"]);
93
96
  const props = await CommonAPI.getDatabaseCommonInteractionProps(req);
97
+ CommonAPI.assertTenantScoped(props);
94
98
  await MonitorTemplateService.unlinkMonitor({
95
99
  monitorTemplateId,
96
100
  monitorId,
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorTemplateAPI.js","sourceRoot":"","sources":["../../../../Server/API/MonitorTemplateAPI.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,sBAGN,MAAM,oCAAoC,CAAC;AAM5C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAE1E,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAmB;;IACzC,MAAM,GAAG,GAAY,MAAC,GAAG,CAAC,IAA4C,0CACpE,QAAQ,CACT,CAAC;IACF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,GAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,OAG/C;IACC;;QACE,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QAE/C,uEAAuE;QACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,6CAA6C,EAC3D,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAa,IAAI,QAAQ,CAC9C,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAW,CAC1C,CAAC;gBAEF,MAAM,KAAK,GACT,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;gBAEzD,MAAM,MAAM,GAA8B,cAAc,CAAC,GAAG,CAAC,CAAC;gBAE9D,MAAM,MAAM,GACV,MAAM,sBAAsB,CAAC,kBAAkB,iBAC7C,iBAAiB;oBACjB,KAAK,IACF,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3C,CAAC;gBAEL,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,oBAC1C,MAAM,EACT,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;YACD,OAAO;QACT,CAAC,CACF,CAAC;QAEF,0EAA0E;QAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,gDAAgD,EAC9D,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAa,IAAI,QAAQ,CAC9C,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAW,CAC1C,CAAC;gBACF,MAAM,SAAS,GAAa,IAAI,QAAQ,CACtC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAW,CAClC,CAAC;gBAEF,MAAM,KAAK,GACT,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;gBAEzD,MAAM,MAAM,GAA8B,cAAc,CAAC,GAAG,CAAC,CAAC;gBAE9D,MAAM,sBAAsB,CAAC,aAAa,iBACxC,iBAAiB;oBACjB,SAAS;oBACT,KAAK,IACF,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3C,CAAC;gBAEH,OAAO,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;YACD,OAAO;QACT,CAAC,CACF,CAAC;QAEF,6CAA6C;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,6CAA6C,EAC3D,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAa,IAAI,QAAQ,CAC9C,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAW,CAC1C,CAAC;gBACF,MAAM,SAAS,GAAa,IAAI,QAAQ,CACtC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAW,CAClC,CAAC;gBAEF,MAAM,KAAK,GACT,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;gBAEzD,MAAM,sBAAsB,CAAC,WAAW,CAAC;oBACvC,iBAAiB;oBACjB,SAAS;oBACT,KAAK;iBACN,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;YACD,OAAO;QACT,CAAC,CACF,CAAC;QAEF,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAA,IAAI,IAAI,CAAC,UAAU,EAAE;aACrB,cAAc,EAAE,0CACf,QAAQ,EAAE,+CAA+C,EAC7D,cAAc,CAAC,iBAAiB,EAChC,KAAK,EAAE,GAAmB,EAAE,GAAoB,EAAE,IAAkB,EAAE,EAAE;YACtE,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAa,IAAI,QAAQ,CAC9C,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAW,CAC1C,CAAC;gBACF,MAAM,SAAS,GAAa,IAAI,QAAQ,CACtC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAW,CAClC,CAAC;gBAEF,MAAM,KAAK,GACT,MAAM,SAAS,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;gBAEzD,MAAM,sBAAsB,CAAC,aAAa,CAAC;oBACzC,iBAAiB;oBACjB,SAAS;oBACT,KAAK;iBACN,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,CAAC;YACD,OAAO;QACT,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"MonitorTemplateAPI.js","sourceRoot":"","sources":["../../../../Server/API/MonitorTemplateAPI.ts"],"names":[],"mappings":"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"}