@oneuptime/common 13.0.7 → 14.0.0

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 (759) hide show
  1. package/Models/AnalyticsModels/AuditLog.ts +23 -15
  2. package/Models/DatabaseModels/GlobalConfig.ts +24 -0
  3. package/Models/DatabaseModels/Monitor.ts +3 -2
  4. package/Models/DatabaseModels/MonitorTemplate.ts +2 -1
  5. package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +1 -1
  6. package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +1 -1
  7. package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +1 -1
  8. package/Scripts/generate-service-worker.js +65 -4
  9. package/Server/API/AIBillingAPI.ts +1 -0
  10. package/Server/API/AIInsightAPI.ts +1 -4
  11. package/Server/API/AIInvestigationAPI.ts +1 -4
  12. package/Server/API/AIReadinessAPI.ts +4 -5
  13. package/Server/API/AlertAPI.ts +1 -0
  14. package/Server/API/AutoRemediationAPI.ts +1 -4
  15. package/Server/API/BaseAPI.ts +34 -0
  16. package/Server/API/BaseAnalyticsAPI.ts +80 -9
  17. package/Server/API/BillingAPI.ts +2 -0
  18. package/Server/API/BillingInvoiceAPI.ts +1 -0
  19. package/Server/API/BillingPaymentMethodAPI.ts +2 -0
  20. package/Server/API/CodeFixRunAPI.ts +1 -3
  21. package/Server/API/CommonAPI.ts +68 -4
  22. package/Server/API/DashboardAPI.ts +12 -12
  23. package/Server/API/GlobalConfigAPI.ts +243 -460
  24. package/Server/API/IncidentAPI.ts +2 -0
  25. package/Server/API/IncidentEpisodeAPI.ts +1 -0
  26. package/Server/API/NotificationAPI.ts +1 -0
  27. package/Server/API/OnCallCalendarAPI.ts +4 -5
  28. package/Server/API/OnCallDutyPolicyAPI.ts +7 -0
  29. package/Server/API/OnCallReadinessAPI.ts +4 -1
  30. package/Server/API/OnCallScheduleTimelineAPI.ts +731 -0
  31. package/Server/API/ProjectAPI.ts +1 -0
  32. package/Server/API/ProjectOIDC.ts +25 -16
  33. package/Server/API/ProjectSSO.ts +24 -16
  34. package/Server/API/ScheduledMaintenanceAPI.ts +1 -0
  35. package/Server/API/StatusPageAPI.ts +261 -74
  36. package/Server/API/TeamMemberAPI.ts +13 -1
  37. package/Server/API/UserCallAPI.ts +2 -0
  38. package/Server/API/UserEmailAPI.ts +2 -0
  39. package/Server/API/UserIncomingCallNumberAPI.ts +2 -0
  40. package/Server/API/UserMicrosoftTeamsAPI.ts +1 -0
  41. package/Server/API/UserSlackAPI.ts +1 -0
  42. package/Server/API/UserSmsAPI.ts +2 -0
  43. package/Server/API/UserTotpAuthAPI.ts +1 -0
  44. package/Server/API/UserWebAuthnAPI.ts +2 -0
  45. package/Server/API/UserWebhookAPI.ts +1 -0
  46. package/Server/API/UserWhatsAppAPI.ts +2 -0
  47. package/Server/Enterprise/EnterpriseEdition.ts +649 -0
  48. package/Server/Enterprise/EnterpriseFeature.ts +48 -0
  49. package/Server/Enterprise/EnterpriseLicenseSnapshot.ts +192 -0
  50. package/Server/Enterprise/EnterpriseServerModule.ts +233 -0
  51. package/Server/EnvironmentConfig.ts +147 -2
  52. package/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.ts +25 -0
  53. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  54. package/Server/Middleware/MasterAdminAuthorization.ts +13 -2
  55. package/Server/Middleware/UserAuthorization.ts +117 -21
  56. package/Server/Services/ApiKeyPermissionService.ts +101 -4
  57. package/Server/Services/AuditLogService.ts +84 -1079
  58. package/Server/Services/DatabaseService.ts +245 -0
  59. package/Server/Services/DetectionRuleService.ts +5 -4
  60. package/Server/Services/EnterpriseLicenseService.ts +38 -0
  61. package/Server/Services/GlobalConfigService.ts +80 -1
  62. package/Server/Services/MonitorProbeService.ts +116 -20
  63. package/Server/Services/MonitorService.ts +56 -4
  64. package/Server/Services/MonitorStatusTimelineService.ts +284 -0
  65. package/Server/Services/MonitorTemplateService.ts +26 -0
  66. package/Server/Services/OnCallDutyPolicyChildService.ts +261 -0
  67. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +2 -2
  68. package/Server/Services/OnCallDutyPolicyEscalationRuleService.ts +2 -2
  69. package/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.ts +2 -2
  70. package/Server/Services/OnCallDutyPolicyEscalationRuleUserService.ts +2 -2
  71. package/Server/Services/PayAsYouGoBillingService.ts +23 -28
  72. package/Server/Services/ProjectService.ts +302 -0
  73. package/Server/Services/RumSessionPinService.ts +293 -22
  74. package/Server/Services/StatusPagePrivateUserService.ts +7 -3
  75. package/Server/Services/StatusPageService.ts +78 -1
  76. package/Server/Services/TeamMemberService.ts +11 -0
  77. package/Server/Services/TeamPermissionService.ts +120 -26
  78. package/Server/Services/TeamService.ts +10 -0
  79. package/Server/Services/ThreatIntelFeedService.ts +6 -3
  80. package/Server/Services/UserService.ts +10 -17
  81. package/Server/Types/Database/Permissions/BasePermission.ts +9 -7
  82. package/Server/Types/Database/Permissions/CreatePermission.ts +15 -0
  83. package/Server/Types/Database/Permissions/EditionPermission.ts +208 -18
  84. package/Server/Types/Database/Permissions/Index.ts +75 -11
  85. package/Server/Types/Database/Permissions/TablePermission.ts +34 -31
  86. package/Server/Types/Database/Permissions/UpdatePermission.ts +29 -0
  87. package/Server/Types/Markdown.ts +41 -0
  88. package/Server/Utils/AI/AIChatPrivacyFilter.ts +8 -0
  89. package/Server/Utils/AI/AIRunPrivacyFilter.ts +8 -0
  90. package/Server/Utils/CommunityEditionSsoReport.ts +361 -0
  91. package/Server/Utils/EditionEnforcement.ts +233 -0
  92. package/Server/Utils/FrontendEnvironment.ts +41 -2
  93. package/Server/Utils/InstanceHealth/RedisHealth.ts +12 -277
  94. package/Server/Utils/MasterAdminPageAccess.ts +61 -0
  95. package/Server/Utils/Monitor/AffectedResourceList.ts +190 -0
  96. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +10 -1
  97. package/Server/Utils/Monitor/MonitorAlert.ts +3 -1
  98. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +543 -333
  99. package/Server/Utils/Monitor/MonitorIncident.ts +3 -1
  100. package/Server/Utils/Monitor/MonitoringIntervalValidator.ts +116 -0
  101. package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1 -1
  102. package/Server/Utils/Realtime.ts +163 -45
  103. package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +11 -28
  104. package/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.ts +170 -0
  105. package/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.ts +1 -1
  106. package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.ts +6 -2
  107. package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.ts +10 -9
  108. package/Server/Utils/Workspace/Slack/Slack.ts +423 -10
  109. package/Tests/App/Accounts/LoginPasskey.test.tsx +18 -0
  110. package/Tests/App/Accounts/LoginSsoEdition.test.tsx +616 -0
  111. package/Tests/App/AdminDashboard/AdminAuthenticationSsoEdition.test.tsx +217 -0
  112. package/Tests/App/AdminDashboard/AdminEnterprisePluginPage.test.tsx +357 -0
  113. package/Tests/App/AdminDashboard/EnterpriseLicensesShell.test.tsx +214 -0
  114. package/Tests/App/AdminDashboard/GlobalSSOEnterpriseShells.test.tsx +271 -0
  115. package/Tests/App/AdminDashboard/HealthShells.test.tsx +659 -0
  116. package/Tests/App/Dashboard/AffectedResourcesPicker.test.tsx +1059 -0
  117. package/Tests/App/Dashboard/AffectedResourcesPickerEditForm.test.tsx +376 -0
  118. package/Tests/App/Dashboard/AffectedResourcesPickerHiddenTypes.test.tsx +757 -0
  119. package/Tests/App/Dashboard/AffectedResourcesSummaryStep.test.tsx +307 -0
  120. package/Tests/App/Dashboard/ArgumentsFormGroupByUnlistedAttributes.test.tsx +131 -0
  121. package/Tests/App/Dashboard/AuditLogsAndComplianceShells.test.tsx +572 -0
  122. package/Tests/App/Dashboard/DashboardHeaderRequests.test.tsx +1 -1
  123. package/Tests/App/Dashboard/DashboardMonitorLabelVariable.test.tsx +9 -1
  124. package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +24 -0
  125. package/Tests/App/Dashboard/DashboardVariableSelector.test.tsx +162 -8
  126. package/Tests/App/Dashboard/EnterpriseFeatureUpgrade.test.tsx +547 -0
  127. package/Tests/App/Dashboard/EnterprisePluginPage.test.tsx +667 -0
  128. package/Tests/App/Dashboard/EntityFilterDropdownArchivedSlos.test.tsx +105 -6
  129. package/Tests/App/Dashboard/EntityFilterDropdownUnlistedSelection.test.tsx +434 -0
  130. package/Tests/App/Dashboard/EscalationRuleReadiness.test.tsx +276 -1
  131. package/Tests/App/Dashboard/IdentityEnterpriseShells.test.tsx +319 -0
  132. package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +9 -1
  133. package/Tests/App/Dashboard/OnboardingSsoEmptyState.test.tsx +185 -0
  134. package/Tests/App/Dashboard/PayAsYouGoConsentGate.test.tsx +58 -42
  135. package/Tests/App/Dashboard/PayAsYouGoNotices.test.tsx +42 -5
  136. package/Tests/App/Dashboard/ResourceAuditLogsSideMenus.test.tsx +34 -23
  137. package/Tests/App/Dashboard/ScheduleTimeline.test.tsx +1580 -0
  138. package/Tests/App/Dashboard/ScheduleTimelineAPI.test.ts +280 -0
  139. package/Tests/App/Dashboard/ScheduleTimelineModel.test.ts +673 -0
  140. package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +133 -70
  141. package/Tests/App/Dashboard/SecurityEventDetailPanel.test.tsx +399 -0
  142. package/Tests/App/Dashboard/SecurityEventListRow.test.tsx +214 -0
  143. package/Tests/App/Dashboard/SecurityEventsDetectionRulesPage.test.tsx +86 -3
  144. package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +1 -58
  145. package/Tests/App/Dashboard/SecurityEventsGuideContent.test.ts +1313 -0
  146. package/Tests/App/Dashboard/SecurityEventsHowItWorksCard.test.tsx +536 -0
  147. package/Tests/App/Dashboard/SecurityEventsNavTabs.test.tsx +248 -0
  148. package/Tests/App/Dashboard/SecurityEventsNoResults.test.tsx +222 -0
  149. package/Tests/App/Dashboard/SecurityEventsThreatIntelPage.test.tsx +199 -0
  150. package/Tests/App/Dashboard/SecurityEventsViewer.test.tsx +1203 -0
  151. package/Tests/App/Dashboard/SloOverviewHero.test.tsx +171 -36
  152. package/Tests/App/Dashboard/SloViewSideMenu.test.tsx +215 -0
  153. package/Tests/App/Dashboard/SloViewSideMenuCounts.test.tsx +40 -3
  154. package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +11 -91
  155. package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +12 -4
  156. package/Tests/App/PublicDashboard/PublicDashboardWidgetListAuth.test.tsx +623 -0
  157. package/Tests/App/StatusPage/StatusPageSsoEmptyState.test.tsx +319 -0
  158. package/Tests/Helpers/RefreshAwareApiScan.ts +757 -0
  159. package/Tests/Helpers/TenantScopedRequestScan.ts +515 -0
  160. package/Tests/Models/OnCallCalendarFeedModels.test.ts +23 -1
  161. package/Tests/Scripts/GenerateServiceWorker.test.ts +931 -0
  162. package/Tests/Server/API/AIChatRouteAuthorization.test.ts +138 -5
  163. package/Tests/Server/API/AIGenerationProjectAIToggle.test.ts +187 -0
  164. package/Tests/Server/API/AIInvestigationAvailabilityAuthorization.test.ts +51 -3
  165. package/Tests/Server/API/AIInvestigationEvidenceAPI.test.ts +55 -2
  166. package/Tests/Server/API/BaseAPICreateItemDoesNotMutateModel.test.ts +130 -0
  167. package/Tests/Server/API/BaseAnalyticsAPIAggregateCache.test.ts +729 -0
  168. package/Tests/Server/API/BillingPayAsYouGoStatus.test.ts +93 -7
  169. package/Tests/Server/API/BillingPaymentMethodAPI.test.ts +36 -3
  170. package/Tests/Server/API/CommonAPIAuthGuard.test.ts +1003 -24
  171. package/Tests/Server/API/DashboardPublicRateLimit.test.ts +6 -3
  172. package/Tests/Server/API/ExpiredSessionAIRoutes.test.ts +708 -0
  173. package/Tests/Server/API/ExpiredSessionCustomRoutes.test.ts +928 -0
  174. package/Tests/Server/API/ExpiredSessionMonitorTemplate.test.ts +319 -0
  175. package/Tests/Server/API/ExpiredSessionOnCallDutyPolicy.test.ts +336 -0
  176. package/Tests/Server/API/ExpiredSessionRouteGuards.test.ts +820 -0
  177. package/Tests/Server/API/GlobalConfigLicense.test.ts +766 -381
  178. package/Tests/Server/API/NotificationChannelVerificationAPI.test.ts +115 -12
  179. package/Tests/Server/API/OnCallCalendarAPI.test.ts +375 -8
  180. package/Tests/Server/API/OnCallReadinessAPI.test.ts +196 -912
  181. package/Tests/Server/API/OnCallScheduleTimelineAPI.test.ts +1513 -0
  182. package/Tests/Server/API/OnCallSetupReminderAPI.test.ts +119 -7
  183. package/Tests/Server/API/ProjectScopedCustomRouteAuth.test.ts +111 -4
  184. package/Tests/Server/API/PublicRouteInvalidAccessToken.test.ts +615 -0
  185. package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +89 -2
  186. package/Tests/Server/API/SessionReplayAPI.test.ts +121 -0
  187. package/Tests/Server/API/SsoProviderListingsEdition.test.ts +432 -0
  188. package/Tests/Server/API/StatusPageMasterPasswordRateLimit.test.ts +4 -2
  189. package/Tests/Server/API/StatusPagePostmortemVisibility.test.ts +441 -0
  190. package/Tests/Server/API/StatusPageTestEmailReportAuth.test.ts +664 -0
  191. package/Tests/Server/API/TeamMemberLeaveScimLockEdition.test.ts +252 -0
  192. package/Tests/Server/API/TeamMemberRemoveUserFromProjectAPI.test.ts +7 -0
  193. package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +6 -0
  194. package/Tests/Server/API/UserNotificationSettingAPI.test.ts +65 -4
  195. package/Tests/Server/API/UserProjectsAPI.test.ts +63 -3
  196. package/Tests/Server/API/UserTotpAuthAPI.test.ts +48 -2
  197. package/Tests/Server/API/UserWebAuthnAuthenticationOptionsRoute.test.ts +11 -2
  198. package/Tests/Server/API/UserWebAuthnBackupCodeMinting.test.ts +46 -3
  199. package/Tests/Server/API/UserWebAuthnPasskeyAPI.test.ts +18 -2
  200. package/Tests/Server/API/ZZVerifyChatsAuth.test.ts +24 -7
  201. package/Tests/Server/Enterprise/EnterpriseEdition.test.ts +824 -0
  202. package/Tests/Server/Enterprise/EnterpriseFeatureActive.test.ts +643 -0
  203. package/Tests/Server/Enterprise/EnterpriseLicenseSnapshot.test.ts +294 -0
  204. package/Tests/Server/Enterprise/EnterpriseModelFeatureMap.test.ts +93 -0
  205. package/Tests/Server/Enterprise/EnterpriseOnlyModulesLiveInEe.test.ts +582 -0
  206. package/Tests/Server/Enterprise/EnterpriseServerModule.test.ts +247 -0
  207. package/Tests/Server/Enterprise/FakeEnterpriseModule.ts +502 -0
  208. package/Tests/Server/Enterprise/TestBillingFlag.ts +70 -0
  209. package/Tests/Server/EnvironmentConfigEnterpriseEdition.test.ts +314 -0
  210. package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +289 -0
  211. package/Tests/Server/Infrastructure/E2EClickHouseFixtureAccess.test.ts +5 -1
  212. package/Tests/Server/Middleware/ExpiredSessionUserMiddleware.test.ts +563 -0
  213. package/Tests/Server/Middleware/MasterAdminAuthorization.test.ts +299 -19
  214. package/Tests/Server/Middleware/PublicRouteUserMiddleware.test.ts +453 -0
  215. package/Tests/Server/Middleware/UserAuthorization.test.ts +37 -2
  216. package/Tests/Server/Middleware/UserAuthorizationEditionEnforcement.test.ts +516 -0
  217. package/Tests/Server/Services/AIChatPrivacyPin.test.ts +24 -0
  218. package/Tests/Server/Services/ApiKeyPermissionSecurity.test.ts +2 -0
  219. package/Tests/Server/Services/ApiKeyPermissionService.test.ts +3 -3
  220. package/Tests/Server/Services/AuditLogService.test.ts +460 -990
  221. package/Tests/Server/Services/CreateAndReadResponsesKeepIds.test.ts +263 -0
  222. package/Tests/Server/Services/DatabaseServiceCreateSuppliedId.test.ts +147 -0
  223. package/Tests/Server/Services/DatabaseServiceLoginBeforeHooks.test.ts +1078 -0
  224. package/Tests/Server/Services/DatabaseServiceTenantRelationGuard.test.ts +259 -0
  225. package/Tests/Server/Services/DatabaseServiceWriteOperatorValues.test.ts +147 -0
  226. package/Tests/Server/Services/EnterpriseLicenseServiceKeyGeneration.test.ts +151 -0
  227. package/Tests/Server/Services/GlobalConfigServiceLicenseColumns.test.ts +357 -0
  228. package/Tests/Server/Services/MonitorDestinationInfoIPv6.test.ts +101 -0
  229. package/Tests/Server/Services/MonitorPayAsYouGoBilling.test.ts +115 -1
  230. package/Tests/Server/Services/MonitorProbeServiceIntervalScheduling.test.ts +333 -0
  231. package/Tests/Server/Services/MonitorStatusTimelineDailyAggregates.test.ts +303 -0
  232. package/Tests/Server/Services/OnCallChildCreateAuthorizationPostgres.test.ts +711 -0
  233. package/Tests/Server/Services/OnCallDutyPolicyChildService.test.ts +733 -0
  234. package/Tests/Server/Services/PayAsYouGoBillingService.test.ts +190 -140
  235. package/Tests/Server/Services/PayAsYouGoStripeRateLimitBudget.test.ts +4 -9
  236. package/Tests/Server/Services/PermissionBlockDeletion.test.ts +780 -0
  237. package/Tests/Server/Services/PermissionBlockDeletionPostgres.test.ts +628 -0
  238. package/Tests/Server/Services/ProjectServiceAuditLogLicense.test.ts +701 -0
  239. package/Tests/Server/Services/ProjectServiceAuditLogSettingsCache.test.ts +31 -35
  240. package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +77 -1
  241. package/Tests/Server/Services/RumSessionPinCreatePermission.test.ts +715 -0
  242. package/Tests/Server/Services/ScimPushGroupsTeamLocksEdition.test.ts +431 -0
  243. package/Tests/Server/Services/SsoRequirementReadMasking.test.ts +419 -0
  244. package/Tests/Server/Services/SsoRequirementWriteGuard.test.ts +769 -0
  245. package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +94 -0
  246. package/Tests/Server/Services/TeamMemberMultiTenantReadPostgres.test.ts +394 -0
  247. package/Tests/Server/Services/TeamPrivilegeEscalation.test.ts +6 -0
  248. package/Tests/Server/Services/TelemetryPayAsYouGoBilling.test.ts +131 -0
  249. package/Tests/Server/Services/UserAuthenticationService.test.ts +35 -0
  250. package/Tests/Server/Services/UserNotificationRuleAdminGuards.test.ts +13 -2
  251. package/Tests/Server/Services/UserServiceSeatLimit.test.ts +94 -56
  252. package/Tests/Server/Types/Database/Permissions/EditionPermission.test.ts +1823 -0
  253. package/Tests/Server/Types/Database/Permissions/ModelPermissionAnonymousRefusal.test.ts +518 -0
  254. package/Tests/Server/Types/Database/Permissions/MultiTenantPermissions.test.ts +350 -0
  255. package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +282 -25
  256. package/Tests/Server/Types/Database/Permissions/TableLevelBlockPermission.test.ts +459 -0
  257. package/Tests/Server/Types/Markdown.test.ts +181 -0
  258. package/Tests/Server/Utils/AI/AIRunPrivacyFilter.test.ts +101 -9
  259. package/Tests/Server/Utils/AI/ChatAgentHelpers.test.ts +88 -4
  260. package/Tests/Server/Utils/AI/Toolbox/ExceptionTools.test.ts +459 -0
  261. package/Tests/Server/Utils/AI/Toolbox/LogTools.test.ts +794 -0
  262. package/Tests/Server/Utils/AI/Toolbox/RecentChangesTools.test.ts +574 -0
  263. package/Tests/Server/Utils/AI/Toolbox/SecurityEventTools.test.ts +596 -0
  264. package/Tests/Server/Utils/CaptchaRequestAndLogging.test.ts +395 -0
  265. package/Tests/Server/Utils/CommunityEditionSsoReport.test.ts +565 -0
  266. package/Tests/Server/Utils/EditionEnforcement.test.ts +303 -0
  267. package/Tests/Server/Utils/FrontendEnvironment.test.ts +367 -0
  268. package/Tests/Server/Utils/InstanceHealth/RedisHealth.test.ts +38 -418
  269. package/Tests/Server/Utils/MasterAdminPageAccess.test.ts +251 -0
  270. package/Tests/Server/Utils/Monitor/AffectedResourceList.test.ts +518 -0
  271. package/Tests/Server/Utils/Monitor/Criteria/EvaluateOverTime.test.ts +24 -4
  272. package/Tests/Server/Utils/Monitor/MonitorActionTimestamps.test.ts +616 -0
  273. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +934 -96
  274. package/Tests/Server/Utils/Monitor/MonitoringIntervalValidator.test.ts +188 -0
  275. package/Tests/Server/Utils/Realtime.test.ts +502 -0
  276. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorSeverity.test.ts +216 -0
  277. package/Tests/Server/Utils/SecurityEvent/DetectionRuleEvaluator.test.ts +142 -0
  278. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.test.ts +140 -0
  279. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepairClickhouseIntegration.test.ts +542 -0
  280. package/Tests/Server/Utils/Telemetry/ChangeEventRow.test.ts +743 -0
  281. package/Tests/Server/Utils/Telemetry/RuntimeMetrics.test.ts +465 -0
  282. package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.test.ts +202 -0
  283. package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.test.ts +194 -0
  284. package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.test.ts +231 -0
  285. package/Tests/Server/Utils/Workspace/Slack/Messages/Alert.test.ts +194 -0
  286. package/Tests/Server/Utils/Workspace/Slack/Messages/AlertEpisode.test.ts +194 -0
  287. package/Tests/Server/Utils/Workspace/Slack/Messages/Incident.test.ts +194 -0
  288. package/Tests/Server/Utils/Workspace/Slack/Messages/IncidentEpisode.test.ts +194 -0
  289. package/Tests/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.test.ts +247 -0
  290. package/Tests/Server/Utils/Workspace/Slack/SlackMarkdownSectionSplit.test.ts +1209 -0
  291. package/Tests/Types/AI/AIInsightEvidence.test.ts +206 -0
  292. package/Tests/Types/API/HostnameFromAuthority.test.ts +20 -10
  293. package/Tests/Types/API/HostnameIPv6.test.ts +149 -0
  294. package/Tests/Types/BaseDatabase/DatabaseCommonInteractionPropsUtilAnonymous.test.ts +144 -0
  295. package/Tests/Types/Call/CallProvider.test.ts +528 -0
  296. package/Tests/Types/Database/CanonicalModelInstance.test.ts +190 -0
  297. package/Tests/Types/Kubernetes/KubernetesCostIngest.test.ts +236 -0
  298. package/Tests/Types/OnCallDutyPolicy/ScheduleTimeline.test.ts +736 -0
  299. package/Tests/Types/OnCallDutyPolicy/ScheduleTimelineLayout.test.ts +996 -0
  300. package/Tests/Types/SecurityEvent/SigmaRule.test.ts +142 -0
  301. package/Tests/Types/Workflow/Components/JSON.test.ts +182 -0
  302. package/Tests/UI/Components/BasicFormDropdownNormalization.test.tsx +116 -1
  303. package/Tests/UI/Components/Dropdown/DropdownAsyncOptions.test.tsx +81 -0
  304. package/Tests/UI/Components/EditionLabelLapseCopy.ts +104 -0
  305. package/Tests/UI/Components/EditionLabelLicenseManagerWiring.test.tsx +254 -0
  306. package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +165 -171
  307. package/Tests/UI/Components/EditionLabelLicenseStatus.test.tsx +1586 -0
  308. package/Tests/UI/Components/EditionLabelLicenseWritesGuard.test.tsx +157 -0
  309. package/Tests/UI/Components/EventAttachmentList.test.tsx +174 -0
  310. package/Tests/UI/Components/Forms/BasicFormBurnRateTemplateDefaults.test.tsx +395 -0
  311. package/Tests/UI/Components/Forms/BasicFormCollapsibleSections.test.tsx +286 -0
  312. package/Tests/UI/Components/Forms/FormSummary.test.tsx +128 -0
  313. package/Tests/UI/Components/Graphs/DayUptimeGraph.test.tsx +49 -2
  314. package/Tests/UI/Components/MarkdownConverters.test.ts +684 -0
  315. package/Tests/UI/Components/ModelListEmptyState.test.tsx +289 -0
  316. package/Tests/UI/Components/ModelTable/BaseModelTableQueryChange.test.tsx +365 -0
  317. package/Tests/UI/Components/OpenAuthenticatedUrl.test.ts +358 -0
  318. package/Tests/UI/Components/SessionAwareImage.test.tsx +496 -0
  319. package/Tests/UI/Components/TelemetryHistogramZeroBuckets.test.tsx +190 -0
  320. package/Tests/UI/Components/TelemetryViewer/TelemetryViewerEmptyContent.test.tsx +131 -0
  321. package/Tests/UI/Components/TooltipInteractive.test.tsx +97 -0
  322. package/Tests/UI/EsbuildEnterpriseAlias.test.ts +1127 -0
  323. package/Tests/UI/MicrosoftTeams/MicrosoftTeamsChatsCardInstallGuidance.test.tsx +1 -1
  324. package/Tests/UI/Monitor/EvaluationLogListTimestamps.test.tsx +367 -0
  325. package/Tests/UI/Utils/API/BaseAPIRefreshSession.test.ts +1087 -0
  326. package/Tests/UI/Utils/API/DashboardHost.ts +12 -0
  327. package/Tests/UI/Utils/API/FakeAxiosServer.ts +183 -0
  328. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
  329. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
  330. package/Tests/UI/Utils/Cookie.test.ts +440 -0
  331. package/Tests/UI/Utils/ModelAPIRequestClient.test.ts +278 -0
  332. package/Tests/UI/Utils/Navigation.test.ts +33 -0
  333. package/Tests/UI/Utils/PricingPlan.test.ts +295 -0
  334. package/Tests/UI/Utils/Realtime.test.ts +759 -0
  335. package/Tests/UI/Utils/Telemetry/Telemetry.test.ts +500 -0
  336. package/Tests/Utils/APIInstanceDispatch.test.ts +311 -0
  337. package/Tests/Utils/HostAddressUtil.test.ts +138 -0
  338. package/Tests/Utils/Monitor/MonitorDestinationUtil.test.ts +313 -0
  339. package/Tests/Utils/Monitor/MonitoringIntervalUtil.test.ts +304 -0
  340. package/Tests/Utils/SecurityEvent/GoogleSecOpsAlertNormalizerSeverity.test.ts +565 -0
  341. package/Tests/Utils/StatusPage/UptimeDailyAggregateUtil.test.ts +248 -0
  342. package/Types/API/Hostname.ts +63 -16
  343. package/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.ts +40 -0
  344. package/Types/Database/AccessControl/ColumnAccessControl.ts +19 -7
  345. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +19 -7
  346. package/Types/Database/AccessControl/OwnerOnlyColumn.ts +15 -6
  347. package/Types/Database/CanonicalModelInstance.ts +102 -0
  348. package/Types/Database/TableColumn.ts +20 -6
  349. package/Types/EnterpriseLicense/EnterpriseLicensePeriods.ts +29 -0
  350. package/Types/IP/IPv6.ts +6 -1
  351. package/Types/Monitor/MonitorEvaluationSummary.ts +3 -0
  352. package/Types/Monitor/MonitorStep.ts +6 -1
  353. package/Types/Monitor/ProxmoxAlertTemplates.ts +1 -1
  354. package/Types/OnCallDutyPolicy/ScheduleTimeline.ts +507 -0
  355. package/Types/OnCallDutyPolicy/ScheduleTimelineLayout.ts +589 -0
  356. package/Types/Realtime/EventName.ts +11 -0
  357. package/Types/SecurityEvent/DetectionFindingConstants.ts +14 -0
  358. package/Types/SecurityEvent/OcsfSeverity.ts +31 -26
  359. package/Types/SecurityEvent/SigmaRule.ts +51 -0
  360. package/Types/SecurityEvent/ThreatIntelConstants.ts +18 -0
  361. package/Types/StatusPage/UptimeDailyAggregate.ts +110 -0
  362. package/UI/Components/AttachmentList/EventAttachmentList.tsx +30 -2
  363. package/UI/Components/Dashboard/DashboardVariableControl.tsx +12 -2
  364. package/UI/Components/Dropdown/Dropdown.tsx +6 -1
  365. package/UI/Components/EditionLabel/EditionLabel.tsx +808 -1195
  366. package/UI/Components/EditionLabel/LicenseManager.ts +119 -0
  367. package/UI/Components/EventItem/EventItem.tsx +12 -1
  368. package/UI/Components/Forms/BasicForm.tsx +151 -126
  369. package/UI/Components/Forms/CollapsibleFormSection.tsx +63 -0
  370. package/UI/Components/Forms/Fields/FormField.tsx +10 -4
  371. package/UI/Components/Forms/FormSummary.tsx +7 -0
  372. package/UI/Components/Forms/Types/Field.ts +10 -0
  373. package/UI/Components/Graphs/DayUptimeGraph.tsx +123 -15
  374. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  375. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +2 -1
  376. package/UI/Components/Markdown.tsx/SessionAwareImage.tsx +122 -0
  377. package/UI/Components/ModelList/ModelList.tsx +11 -1
  378. package/UI/Components/ModelTable/BaseModelTable.tsx +34 -5
  379. package/UI/Components/ModelTable/TableView.tsx +1 -1
  380. package/UI/Components/MonitorGraphs/Uptime.tsx +69 -0
  381. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +28 -12
  382. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +8 -1
  383. package/UI/Components/Tooltip/Tooltip.tsx +8 -1
  384. package/UI/Utils/API/API.ts +173 -12
  385. package/UI/Utils/API/RequestOptions.ts +11 -0
  386. package/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.ts +31 -7
  387. package/UI/Utils/ModelAPI/ModelAPI.ts +30 -9
  388. package/UI/Utils/Navigation.ts +9 -0
  389. package/UI/Utils/OpenAuthenticatedUrl.ts +154 -0
  390. package/UI/Utils/Realtime.ts +176 -30
  391. package/UI/esbuild-enterprise.js +263 -0
  392. package/Utils/API.ts +14 -5
  393. package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +7 -2
  394. package/Utils/HostAddressUtil.ts +94 -0
  395. package/Utils/Monitor/MonitorDestinationUtil.ts +157 -0
  396. package/Utils/Monitor/MonitoringIntervalUtil.ts +436 -0
  397. package/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.ts +157 -7
  398. package/Utils/SecurityEvent/Sigma/SigmaRuleParser.ts +9 -17
  399. package/Utils/Slo/SloBurnRateTemplate.ts +2 -2
  400. package/Utils/StatusPage/UptimeDailyAggregateUtil.ts +192 -0
  401. package/build/dist/Models/AnalyticsModels/AuditLog.js +23 -15
  402. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  403. package/build/dist/Models/DatabaseModels/GlobalConfig.js +25 -0
  404. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  405. package/build/dist/Models/DatabaseModels/Monitor.js +2 -2
  406. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  407. package/build/dist/Models/DatabaseModels/MonitorTemplate.js +2 -1
  408. package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
  409. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +1 -1
  410. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -1
  411. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +1 -1
  412. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -1
  413. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +1 -1
  414. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -1
  415. package/build/dist/Server/API/AIBillingAPI.js +1 -1
  416. package/build/dist/Server/API/AIBillingAPI.js.map +1 -1
  417. package/build/dist/Server/API/AIInsightAPI.js +1 -4
  418. package/build/dist/Server/API/AIInsightAPI.js.map +1 -1
  419. package/build/dist/Server/API/AIInvestigationAPI.js +1 -4
  420. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  421. package/build/dist/Server/API/AIReadinessAPI.js +1 -3
  422. package/build/dist/Server/API/AIReadinessAPI.js.map +1 -1
  423. package/build/dist/Server/API/AlertAPI.js +1 -1
  424. package/build/dist/Server/API/AlertAPI.js.map +1 -1
  425. package/build/dist/Server/API/AutoRemediationAPI.js +1 -4
  426. package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -1
  427. package/build/dist/Server/API/BaseAPI.js +33 -0
  428. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  429. package/build/dist/Server/API/BaseAnalyticsAPI.js +55 -10
  430. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  431. package/build/dist/Server/API/BillingAPI.js +2 -2
  432. package/build/dist/Server/API/BillingAPI.js.map +1 -1
  433. package/build/dist/Server/API/BillingInvoiceAPI.js +1 -1
  434. package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
  435. package/build/dist/Server/API/BillingPaymentMethodAPI.js +2 -2
  436. package/build/dist/Server/API/BillingPaymentMethodAPI.js.map +1 -1
  437. package/build/dist/Server/API/CodeFixRunAPI.js +1 -3
  438. package/build/dist/Server/API/CodeFixRunAPI.js.map +1 -1
  439. package/build/dist/Server/API/CommonAPI.js +50 -5
  440. package/build/dist/Server/API/CommonAPI.js.map +1 -1
  441. package/build/dist/Server/API/DashboardAPI.js +12 -12
  442. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  443. package/build/dist/Server/API/GlobalConfigAPI.js +158 -342
  444. package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
  445. package/build/dist/Server/API/IncidentAPI.js +2 -2
  446. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  447. package/build/dist/Server/API/IncidentEpisodeAPI.js +1 -1
  448. package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
  449. package/build/dist/Server/API/NotificationAPI.js +1 -1
  450. package/build/dist/Server/API/NotificationAPI.js.map +1 -1
  451. package/build/dist/Server/API/OnCallCalendarAPI.js +1 -4
  452. package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -1
  453. package/build/dist/Server/API/OnCallDutyPolicyAPI.js +6 -0
  454. package/build/dist/Server/API/OnCallDutyPolicyAPI.js.map +1 -1
  455. package/build/dist/Server/API/OnCallReadinessAPI.js +4 -1
  456. package/build/dist/Server/API/OnCallReadinessAPI.js.map +1 -1
  457. package/build/dist/Server/API/OnCallScheduleTimelineAPI.js +494 -0
  458. package/build/dist/Server/API/OnCallScheduleTimelineAPI.js.map +1 -0
  459. package/build/dist/Server/API/ProjectAPI.js +1 -1
  460. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  461. package/build/dist/Server/API/ProjectOIDC.js +24 -16
  462. package/build/dist/Server/API/ProjectOIDC.js.map +1 -1
  463. package/build/dist/Server/API/ProjectSSO.js +24 -16
  464. package/build/dist/Server/API/ProjectSSO.js.map +1 -1
  465. package/build/dist/Server/API/ScheduledMaintenanceAPI.js +1 -1
  466. package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
  467. package/build/dist/Server/API/StatusPageAPI.js +218 -76
  468. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  469. package/build/dist/Server/API/TeamMemberAPI.js +11 -4
  470. package/build/dist/Server/API/TeamMemberAPI.js.map +1 -1
  471. package/build/dist/Server/API/UserCallAPI.js +2 -2
  472. package/build/dist/Server/API/UserCallAPI.js.map +1 -1
  473. package/build/dist/Server/API/UserEmailAPI.js +2 -2
  474. package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
  475. package/build/dist/Server/API/UserIncomingCallNumberAPI.js +2 -2
  476. package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
  477. package/build/dist/Server/API/UserMicrosoftTeamsAPI.js +1 -1
  478. package/build/dist/Server/API/UserMicrosoftTeamsAPI.js.map +1 -1
  479. package/build/dist/Server/API/UserSlackAPI.js +1 -1
  480. package/build/dist/Server/API/UserSlackAPI.js.map +1 -1
  481. package/build/dist/Server/API/UserSmsAPI.js +2 -2
  482. package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
  483. package/build/dist/Server/API/UserTotpAuthAPI.js +1 -1
  484. package/build/dist/Server/API/UserTotpAuthAPI.js.map +1 -1
  485. package/build/dist/Server/API/UserWebAuthnAPI.js +2 -2
  486. package/build/dist/Server/API/UserWebAuthnAPI.js.map +1 -1
  487. package/build/dist/Server/API/UserWebhookAPI.js +1 -1
  488. package/build/dist/Server/API/UserWebhookAPI.js.map +1 -1
  489. package/build/dist/Server/API/UserWhatsAppAPI.js +2 -2
  490. package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
  491. package/build/dist/Server/Enterprise/EnterpriseEdition.js +466 -0
  492. package/build/dist/Server/Enterprise/EnterpriseEdition.js.map +1 -0
  493. package/build/dist/Server/Enterprise/EnterpriseFeature.js +39 -0
  494. package/build/dist/Server/Enterprise/EnterpriseFeature.js.map +1 -0
  495. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js +70 -0
  496. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js.map +1 -0
  497. package/build/dist/Server/Enterprise/EnterpriseServerModule.js +84 -0
  498. package/build/dist/Server/Enterprise/EnterpriseServerModule.js.map +1 -0
  499. package/build/dist/Server/EnvironmentConfig.js +84 -2
  500. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  501. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js +18 -0
  502. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js.map +1 -0
  503. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  504. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  505. package/build/dist/Server/Middleware/MasterAdminAuthorization.js +11 -2
  506. package/build/dist/Server/Middleware/MasterAdminAuthorization.js.map +1 -1
  507. package/build/dist/Server/Middleware/UserAuthorization.js +94 -15
  508. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  509. package/build/dist/Server/Services/ApiKeyPermissionService.js +80 -4
  510. package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
  511. package/build/dist/Server/Services/AuditLogService.js +71 -740
  512. package/build/dist/Server/Services/AuditLogService.js.map +1 -1
  513. package/build/dist/Server/Services/DatabaseService.js +171 -0
  514. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  515. package/build/dist/Server/Services/DetectionRuleService.js +4 -4
  516. package/build/dist/Server/Services/DetectionRuleService.js.map +1 -1
  517. package/build/dist/Server/Services/EnterpriseLicenseService.js +34 -0
  518. package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
  519. package/build/dist/Server/Services/GlobalConfigService.js +63 -0
  520. package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
  521. package/build/dist/Server/Services/MonitorProbeService.js +90 -17
  522. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  523. package/build/dist/Server/Services/MonitorService.js +45 -4
  524. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  525. package/build/dist/Server/Services/MonitorStatusTimelineService.js +242 -0
  526. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  527. package/build/dist/Server/Services/MonitorTemplateService.js +16 -0
  528. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  529. package/build/dist/Server/Services/OnCallDutyPolicyChildService.js +170 -0
  530. package/build/dist/Server/Services/OnCallDutyPolicyChildService.js.map +1 -0
  531. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +2 -2
  532. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  533. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js +2 -2
  534. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js.map +1 -1
  535. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.js +2 -2
  536. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.js.map +1 -1
  537. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js +2 -2
  538. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js.map +1 -1
  539. package/build/dist/Server/Services/PayAsYouGoBillingService.js +20 -27
  540. package/build/dist/Server/Services/PayAsYouGoBillingService.js.map +1 -1
  541. package/build/dist/Server/Services/ProjectService.js +231 -0
  542. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  543. package/build/dist/Server/Services/RumSessionPinService.js +198 -16
  544. package/build/dist/Server/Services/RumSessionPinService.js.map +1 -1
  545. package/build/dist/Server/Services/StatusPagePrivateUserService.js +7 -3
  546. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  547. package/build/dist/Server/Services/StatusPageService.js +71 -0
  548. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  549. package/build/dist/Server/Services/TeamMemberService.js +10 -0
  550. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  551. package/build/dist/Server/Services/TeamPermissionService.js +89 -27
  552. package/build/dist/Server/Services/TeamPermissionService.js.map +1 -1
  553. package/build/dist/Server/Services/TeamService.js +9 -0
  554. package/build/dist/Server/Services/TeamService.js.map +1 -1
  555. package/build/dist/Server/Services/ThreatIntelFeedService.js +5 -4
  556. package/build/dist/Server/Services/ThreatIntelFeedService.js.map +1 -1
  557. package/build/dist/Server/Services/UserService.js +10 -16
  558. package/build/dist/Server/Services/UserService.js.map +1 -1
  559. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +9 -6
  560. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  561. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +10 -0
  562. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
  563. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +154 -14
  564. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -1
  565. package/build/dist/Server/Types/Database/Permissions/Index.js +60 -6
  566. package/build/dist/Server/Types/Database/Permissions/Index.js.map +1 -1
  567. package/build/dist/Server/Types/Database/Permissions/TablePermission.js +24 -16
  568. package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
  569. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js +17 -0
  570. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js.map +1 -1
  571. package/build/dist/Server/Types/Markdown.js +31 -0
  572. package/build/dist/Server/Types/Markdown.js.map +1 -1
  573. package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js +7 -0
  574. package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js.map +1 -1
  575. package/build/dist/Server/Utils/AI/AIRunPrivacyFilter.js +7 -0
  576. package/build/dist/Server/Utils/AI/AIRunPrivacyFilter.js.map +1 -1
  577. package/build/dist/Server/Utils/CommunityEditionSsoReport.js +223 -0
  578. package/build/dist/Server/Utils/CommunityEditionSsoReport.js.map +1 -0
  579. package/build/dist/Server/Utils/EditionEnforcement.js +187 -0
  580. package/build/dist/Server/Utils/EditionEnforcement.js.map +1 -0
  581. package/build/dist/Server/Utils/FrontendEnvironment.js +31 -2
  582. package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -1
  583. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js +6 -193
  584. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js.map +1 -1
  585. package/build/dist/Server/Utils/MasterAdminPageAccess.js +39 -0
  586. package/build/dist/Server/Utils/MasterAdminPageAccess.js.map +1 -0
  587. package/build/dist/Server/Utils/Monitor/AffectedResourceList.js +96 -0
  588. package/build/dist/Server/Utils/Monitor/AffectedResourceList.js.map +1 -0
  589. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +8 -1
  590. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  591. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +3 -1
  592. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  593. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +449 -261
  594. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  595. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +3 -1
  596. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  597. package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js +88 -0
  598. package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js.map +1 -0
  599. package/build/dist/Server/Utils/Realtime.js +126 -37
  600. package/build/dist/Server/Utils/Realtime.js.map +1 -1
  601. package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +7 -25
  602. package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js.map +1 -1
  603. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.js +127 -0
  604. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.js.map +1 -0
  605. package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js +1 -1
  606. package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js.map +1 -1
  607. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js +3 -2
  608. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js.map +1 -1
  609. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js +4 -8
  610. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js.map +1 -1
  611. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +331 -11
  612. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  613. package/build/dist/Types/API/Hostname.js +59 -11
  614. package/build/dist/Types/API/Hostname.js.map +1 -1
  615. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js +31 -1
  616. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js.map +1 -1
  617. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +19 -7
  618. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
  619. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +19 -7
  620. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
  621. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js +13 -6
  622. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js.map +1 -1
  623. package/build/dist/Types/Database/CanonicalModelInstance.js +88 -0
  624. package/build/dist/Types/Database/CanonicalModelInstance.js.map +1 -0
  625. package/build/dist/Types/Database/TableColumn.js +19 -6
  626. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  627. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js +28 -0
  628. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js.map +1 -0
  629. package/build/dist/Types/IP/IPv6.js +6 -1
  630. package/build/dist/Types/IP/IPv6.js.map +1 -1
  631. package/build/dist/Types/Monitor/MonitorStep.js +5 -0
  632. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  633. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +1 -1
  634. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimeline.js +321 -0
  635. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimeline.js.map +1 -0
  636. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimelineLayout.js +372 -0
  637. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimelineLayout.js.map +1 -0
  638. package/build/dist/Types/Realtime/EventName.js +10 -0
  639. package/build/dist/Types/Realtime/EventName.js.map +1 -1
  640. package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js +11 -0
  641. package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js.map +1 -1
  642. package/build/dist/Types/SecurityEvent/OcsfSeverity.js +30 -25
  643. package/build/dist/Types/SecurityEvent/OcsfSeverity.js.map +1 -1
  644. package/build/dist/Types/SecurityEvent/SigmaRule.js +47 -0
  645. package/build/dist/Types/SecurityEvent/SigmaRule.js.map +1 -1
  646. package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js +14 -0
  647. package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js.map +1 -1
  648. package/build/dist/Types/StatusPage/UptimeDailyAggregate.js +32 -0
  649. package/build/dist/Types/StatusPage/UptimeDailyAggregate.js.map +1 -0
  650. package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js +9 -4
  651. package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js.map +1 -1
  652. package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js +10 -2
  653. package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js.map +1 -1
  654. package/build/dist/UI/Components/Dropdown/Dropdown.js +5 -1
  655. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  656. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +425 -585
  657. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  658. package/build/dist/UI/Components/EditionLabel/LicenseManager.js +2 -0
  659. package/build/dist/UI/Components/EditionLabel/LicenseManager.js.map +1 -0
  660. package/build/dist/UI/Components/EventItem/EventItem.js +2 -2
  661. package/build/dist/UI/Components/EventItem/EventItem.js.map +1 -1
  662. package/build/dist/UI/Components/Forms/BasicForm.js +70 -64
  663. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  664. package/build/dist/UI/Components/Forms/CollapsibleFormSection.js +27 -0
  665. package/build/dist/UI/Components/Forms/CollapsibleFormSection.js.map +1 -0
  666. package/build/dist/UI/Components/Forms/Fields/FormField.js +10 -7
  667. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  668. package/build/dist/UI/Components/Forms/FormSummary.js +7 -0
  669. package/build/dist/UI/Components/Forms/FormSummary.js.map +1 -1
  670. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +90 -17
  671. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
  672. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  673. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  674. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +2 -1
  675. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  676. package/build/dist/UI/Components/Markdown.tsx/SessionAwareImage.js +84 -0
  677. package/build/dist/UI/Components/Markdown.tsx/SessionAwareImage.js.map +1 -0
  678. package/build/dist/UI/Components/ModelList/ModelList.js +4 -1
  679. package/build/dist/UI/Components/ModelList/ModelList.js.map +1 -1
  680. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +14 -1
  681. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  682. package/build/dist/UI/Components/ModelTable/TableView.js +1 -1
  683. package/build/dist/UI/Components/ModelTable/TableView.js.map +1 -1
  684. package/build/dist/UI/Components/MonitorGraphs/Uptime.js +42 -1
  685. package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
  686. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +2 -2
  687. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  688. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +8 -1
  689. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  690. package/build/dist/UI/Components/Tooltip/Tooltip.js +2 -1
  691. package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
  692. package/build/dist/UI/Utils/API/API.js +143 -19
  693. package/build/dist/UI/Utils/API/API.js.map +1 -1
  694. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js +21 -7
  695. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js.map +1 -1
  696. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +26 -9
  697. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  698. package/build/dist/UI/Utils/Navigation.js +8 -0
  699. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  700. package/build/dist/UI/Utils/OpenAuthenticatedUrl.js +92 -0
  701. package/build/dist/UI/Utils/OpenAuthenticatedUrl.js.map +1 -0
  702. package/build/dist/UI/Utils/Realtime.js +120 -15
  703. package/build/dist/UI/Utils/Realtime.js.map +1 -1
  704. package/build/dist/Utils/API.js +13 -5
  705. package/build/dist/Utils/API.js.map +1 -1
  706. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +6 -2
  707. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
  708. package/build/dist/Utils/HostAddressUtil.js +80 -0
  709. package/build/dist/Utils/HostAddressUtil.js.map +1 -0
  710. package/build/dist/Utils/Monitor/MonitorDestinationUtil.js +127 -0
  711. package/build/dist/Utils/Monitor/MonitorDestinationUtil.js.map +1 -0
  712. package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js +374 -0
  713. package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js.map +1 -0
  714. package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js +123 -6
  715. package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js.map +1 -1
  716. package/build/dist/Utils/SecurityEvent/Sigma/SigmaRuleParser.js +4 -18
  717. package/build/dist/Utils/SecurityEvent/Sigma/SigmaRuleParser.js.map +1 -1
  718. package/build/dist/Utils/Slo/SloBurnRateTemplate.js +2 -2
  719. package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js +148 -0
  720. package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js.map +1 -0
  721. package/jest.config.json +3 -1
  722. package/package.json +1 -1
  723. package/test-setup.sh +103 -34
  724. package/tsconfig.json +13 -0
  725. package/Server/API/EnterpriseLicenseAPI.ts +0 -925
  726. package/Server/API/TeamComplianceAPI.ts +0 -158
  727. package/Server/Middleware/SCIMAuthorization.ts +0 -141
  728. package/Server/Services/TeamComplianceService.ts +0 -733
  729. package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +0 -186
  730. package/Server/Utils/InstanceHealth/PostgresHealth.ts +0 -286
  731. package/Tests/App/AdminDashboard/EnterpriseLicenseInstanceActivity.test.tsx +0 -451
  732. package/Tests/App/Dashboard/AuditLogsTable.test.tsx +0 -598
  733. package/Tests/App/Dashboard/SecurityEventsSideMenu.test.tsx +0 -247
  734. package/Tests/App/Dashboard/SecurityEventsTableColumns.test.tsx +0 -382
  735. package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +0 -1851
  736. package/Tests/Server/Middleware/SCIMAuthorization.test.ts +0 -525
  737. package/Tests/Server/Services/TeamComplianceServiceBehaviour.test.ts +0 -1845
  738. package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +0 -495
  739. package/Tests/Server/Utils/InstanceHealth/PostgresHealth.test.ts +0 -337
  740. package/Tests/Utils/EnterpriseLicenseSeats.test.ts +0 -576
  741. package/Tests/Utils/EnterpriseLicenseSync.test.ts +0 -568
  742. package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +0 -287
  743. package/Utils/EnterpriseLicense/EnterpriseLicenseSync.ts +0 -244
  744. package/build/dist/Server/API/EnterpriseLicenseAPI.js +0 -646
  745. package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +0 -1
  746. package/build/dist/Server/API/TeamComplianceAPI.js +0 -111
  747. package/build/dist/Server/API/TeamComplianceAPI.js.map +0 -1
  748. package/build/dist/Server/Middleware/SCIMAuthorization.js +0 -124
  749. package/build/dist/Server/Middleware/SCIMAuthorization.js.map +0 -1
  750. package/build/dist/Server/Services/TeamComplianceService.js +0 -537
  751. package/build/dist/Server/Services/TeamComplianceService.js.map +0 -1
  752. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +0 -145
  753. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +0 -1
  754. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js +0 -194
  755. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js.map +0 -1
  756. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +0 -168
  757. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +0 -1
  758. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js +0 -174
  759. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js.map +0 -1
@@ -43,6 +43,242 @@ export class Service extends DatabaseService {
43
43
  constructor() {
44
44
  super(MonitorStatusTimeline);
45
45
  }
46
+ /**
47
+ * Per-monitor, per-day status durations for the status-page uptime bars.
48
+ *
49
+ * WHY THIS EXISTS
50
+ *
51
+ * The bars used to be painted from raw rows fetched with a single
52
+ * `limit: LIMIT_MAX` (10,000) across EVERY monitor on the page, sorted
53
+ * `startsAt DESC`. Measured on a real status page: 254,550 rows matched the
54
+ * 60-day window and 10,000 came back. The oldest surviving row started four
55
+ * days before the request, so 56 of 60 bars were painted from data that had
56
+ * been silently dropped - and the uptime percentage was computed from the
57
+ * same 3.9%.
58
+ *
59
+ * The cap being GLOBAL across monitors is what makes it vicious. A quiet,
60
+ * healthy monitor's covering row has an OLD `startsAt`, so under
61
+ * `startsAt DESC` it sorts last and is cut first: on the page that reported
62
+ * this, three flapping monitors held 9,995 of the 10,000 slots. The
63
+ * healthier a monitor is, the more likely it is to lose its entire history
64
+ * to a noisy neighbour on the same page.
65
+ *
66
+ * Shipping more rows cannot fix it - 254,550 rows is ~105 MB of this
67
+ * codebase's typed JSON, into a response held in a 500-entry in-memory
68
+ * cache and then filtered per-bar on the client's main thread. So this
69
+ * returns DURATIONS. The result is O(monitors x days x statuses) and cannot
70
+ * be inflated by a flapping monitor.
71
+ *
72
+ * THE SQL, AND THE THREE TRAPS IN IT
73
+ *
74
+ * 1. An open row (`endsAt IS NULL`) is capped at the NEXT row's `startsAt`,
75
+ * not at `now()`. `COALESCE(endsAt, now())` would overlap the successor
76
+ * and double-count that span. This mirrors what
77
+ * UptimeUtil.getMonitorEventsForId already does client-side.
78
+ *
79
+ * 2. Periods are split into days ARITHMETICALLY (`generate_series` over the
80
+ * days a period touches) and then hash-aggregated, rather than joined
81
+ * against a bucket grid. Both give the same answer; the join does not
82
+ * scale. Joining emitted one row per timeline row - 255,486 on the
83
+ * reporting page - which then had to be sorted for the GroupAggregate
84
+ * and spilled 26 MB to disk, ~4.7s. Splitting first aggregates 255k rows
85
+ * into ~450 with no sort: ~1.5s.
86
+ *
87
+ * A period that lies inside one day yields exactly one segment, which is
88
+ * the overwhelmingly common case - a flapping monitor's rows last well
89
+ * under a second. Only a long-running period fans out, one segment per
90
+ * day it spans.
91
+ *
92
+ * 3. Seconds are summed as `double precision` and NEVER rounded per group.
93
+ * Rounding each (monitor, day, status) sum to a bigint loses up to half a
94
+ * second per status, so a fully covered day with two statuses reported
95
+ * 86,399 of 86,400 seconds - a day that is complete looking one second
96
+ * short. Coverage is compared with a tolerance by the client rather than
97
+ * for exact equality.
98
+ *
99
+ * A trap that is worth recording even though this SQL no longer contains it:
100
+ * PostgreSQL's LEAST/GREATEST IGNORE NULLs, returning the smallest or
101
+ * largest NON-NULL argument. An earlier draft joined rows to buckets, and on
102
+ * an unmatched LEFT JOIN row `LEAST(NULL, bucketEnd) - GREATEST(NULL,
103
+ * bucketStart)` silently became a FULL DAY of coverage - reporting a monitor
104
+ * as up before it existed. It was caught against real data, not in review.
105
+ * Any future rewrite that reintroduces a row-to-bucket join must handle it.
106
+ *
107
+ * Day buckets are local calendar days converted to UTC instants, so a DST
108
+ * day is genuinely 23 or 25 hours - `daySeconds` is never hardcoded to
109
+ * 86400. The window's first and last buckets are clipped to the window, and
110
+ * the end is clamped to `now()` so a future day is never emitted and can
111
+ * never be reported as 100%.
112
+ */
113
+ async getDailyUptimeAggregate(data) {
114
+ const empty = {
115
+ monitors: [],
116
+ isComplete: true,
117
+ completeFrom: null,
118
+ };
119
+ if (data.monitorIds.length === 0) {
120
+ return empty;
121
+ }
122
+ /*
123
+ * The overlap predicate is preserved verbatim from the row fetch this
124
+ * replaces: a row counts if it started on or before the window ends and
125
+ * either ended on or after the window started or is still open. The
126
+ * inclusive `>=` is deliberate - a row ending exactly at startDate still
127
+ * overlaps - and a strict `>` is NOT interchangeable.
128
+ */
129
+ const sql = `
130
+ WITH params AS (
131
+ SELECT $2::timestamptz AS win_start,
132
+ LEAST($3::timestamptz, now()) AS eff_end,
133
+ $4::text AS tz
134
+ ),
135
+ mons AS (
136
+ SELECT UNNEST($1::uuid[]) AS monitor_id
137
+ ),
138
+ src AS (
139
+ SELECT t."monitorId" AS monitor_id,
140
+ t."monitorStatusId" AS status_id,
141
+ GREATEST(t."startsAt", p.win_start) AS s,
142
+ LEAST(
143
+ COALESCE(
144
+ t."endsAt",
145
+ LEAD(t."startsAt") OVER (
146
+ PARTITION BY t."monitorId" ORDER BY t."startsAt"
147
+ ),
148
+ p.eff_end
149
+ ),
150
+ p.eff_end
151
+ ) AS e
152
+ FROM "MonitorStatusTimeline" t
153
+ CROSS JOIN params p
154
+ WHERE t."monitorId" = ANY($1::uuid[])
155
+ AND t."deletedAt" IS NULL
156
+ AND t."startsAt" <= p.eff_end
157
+ AND (t."endsAt" >= p.win_start OR t."endsAt" IS NULL)
158
+ ),
159
+ split AS (
160
+ SELECT src.monitor_id,
161
+ src.status_id,
162
+ (gs AT TIME ZONE p.tz) AS day_start,
163
+ GREATEST(src.s, (gs AT TIME ZONE p.tz)) AS seg_start,
164
+ LEAST(src.e, ((gs + interval '1 day') AT TIME ZONE p.tz))
165
+ AS seg_end
166
+ FROM src
167
+ CROSS JOIN params p,
168
+ LATERAL generate_series(
169
+ date_trunc('day', src.s AT TIME ZONE p.tz),
170
+ date_trunc('day', (src.e - interval '1 microsecond') AT TIME ZONE p.tz),
171
+ interval '1 day'
172
+ ) AS gs
173
+ WHERE src.e > src.s
174
+ ),
175
+ agg AS (
176
+ SELECT monitor_id,
177
+ day_start,
178
+ status_id,
179
+ SUM(EXTRACT(EPOCH FROM (seg_end - seg_start)))::double precision
180
+ AS seconds
181
+ FROM split
182
+ WHERE seg_end > seg_start
183
+ GROUP BY monitor_id, day_start, status_id
184
+ ),
185
+ buckets AS (
186
+ SELECT (d AT TIME ZONE p.tz) AS day_start,
187
+ GREATEST((d AT TIME ZONE p.tz), p.win_start) AS bucket_start,
188
+ LEAST(((d + interval '1 day') AT TIME ZONE p.tz), p.eff_end)
189
+ AS bucket_end
190
+ FROM params p,
191
+ generate_series(
192
+ date_trunc('day', p.win_start AT TIME ZONE p.tz),
193
+ date_trunc('day', p.eff_end AT TIME ZONE p.tz),
194
+ interval '1 day'
195
+ ) AS d
196
+ )
197
+ SELECT m.monitor_id AS "monitorId",
198
+ b.bucket_start AS "bucketStart",
199
+ b.bucket_end AS "bucketEnd",
200
+ EXTRACT(EPOCH FROM (b.bucket_end - b.bucket_start))::bigint
201
+ AS "daySeconds",
202
+ a.status_id AS "monitorStatusId",
203
+ COALESCE(a.seconds, 0)::double precision AS "seconds"
204
+ FROM mons m
205
+ CROSS JOIN buckets b
206
+ LEFT JOIN agg a ON a.monitor_id = m.monitor_id
207
+ AND a.day_start = b.day_start
208
+ WHERE b.bucket_end > b.bucket_start
209
+ ORDER BY m.monitor_id, b.bucket_start
210
+ `;
211
+ const rows = await this.getRepository().manager.query(sql, [
212
+ data.monitorIds.map((id) => {
213
+ return id.toString();
214
+ }),
215
+ data.startDate,
216
+ data.endDate,
217
+ data.timezone || "UTC",
218
+ ]);
219
+ return Service.toUptimeDailyAggregate(rows);
220
+ }
221
+ /*
222
+ * Exported shape-only step, so the bucketing can be tested without a
223
+ * database. One row per (monitor, day, status); a day with no coverage
224
+ * comes back as a single row with a NULL status and zero seconds, which is
225
+ * what makes a no-data day distinguishable from a day spent up.
226
+ */
227
+ static toUptimeDailyAggregate(rows) {
228
+ const byMonitor = new Map();
229
+ for (const row of rows) {
230
+ let buckets = byMonitor.get(row.monitorId);
231
+ if (!buckets) {
232
+ buckets = new Map();
233
+ byMonitor.set(row.monitorId, buckets);
234
+ }
235
+ const bucketStart = new Date(row.bucketStart);
236
+ const key = bucketStart.getTime();
237
+ let bucket = buckets.get(key);
238
+ if (!bucket) {
239
+ bucket = {
240
+ bucketStart: bucketStart,
241
+ bucketEnd: new Date(row.bucketEnd),
242
+ daySeconds: Number(row.daySeconds),
243
+ coveredSeconds: 0,
244
+ statusDurations: [],
245
+ };
246
+ buckets.set(key, bucket);
247
+ }
248
+ const seconds = Number(row.seconds);
249
+ /*
250
+ * A NULL status is the LEFT JOIN's "nothing overlapped this day" row.
251
+ * It must not become a status duration, and it contributes no coverage.
252
+ */
253
+ if (!row.monitorStatusId || seconds <= 0) {
254
+ continue;
255
+ }
256
+ bucket.coveredSeconds += seconds;
257
+ bucket.statusDurations.push({
258
+ monitorStatusId: new ObjectID(row.monitorStatusId),
259
+ seconds: seconds,
260
+ });
261
+ }
262
+ const monitors = [];
263
+ for (const [monitorId, buckets] of byMonitor) {
264
+ monitors.push({
265
+ monitorId: new ObjectID(monitorId),
266
+ buckets: Array.from(buckets.values()).sort((a, b) => {
267
+ return a.bucketStart.getTime() - b.bucketStart.getTime();
268
+ }),
269
+ });
270
+ }
271
+ /*
272
+ * There is no cap in this path, so the window is always fully covered.
273
+ * The fields exist so that a bound added later has to SHOW rather than be
274
+ * absorbed into a green bar - which is the failure this replaces.
275
+ */
276
+ return {
277
+ monitors: monitors,
278
+ isComplete: true,
279
+ completeFrom: null,
280
+ };
281
+ }
46
282
  async create(createBy) {
47
283
  var _a, _b;
48
284
  /*
@@ -761,6 +997,12 @@ export class Service extends DatabaseService {
761
997
  return onDelete;
762
998
  }
763
999
  }
1000
+ __decorate([
1001
+ CaptureSpan(),
1002
+ __metadata("design:type", Function),
1003
+ __metadata("design:paramtypes", [Object]),
1004
+ __metadata("design:returntype", Promise)
1005
+ ], Service.prototype, "getDailyUptimeAggregate", null);
764
1006
  __decorate([
765
1007
  CaptureSpan(),
766
1008
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorStatusTimelineService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorStatusTimelineService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorStatusTimelineService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorStatusTimelineService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,SAA6B,MAAM,6BAA6B,CAAC;AAIxE,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,MAAyB,MAAM,iBAAiB,CAAC;AACxD,OAAO,+BAA+B,MAAM,mDAAmD,CAAC;AAChG,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,qBAAqB,MAAM,mDAAmD,CAAC;AACtF,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,eAAe,MAAM,uCAAuC,CAAC;AAOpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6CAA6C,GACxD,mDAAmD,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,sEAAsE,CAAC;AAEzE,MAAM,OAAO,OAAQ,SAAQ,eAAsC;IACjE;QACE,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEG;IAEU,AAAN,KAAK,CAAC,uBAAuB,CAAC,IAKpC;QACC,MAAM,KAAK,GAAyB;YAClC,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED;;;;;;WAMG;QACH,MAAM,GAAG,GAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiFnB,CAAC;QAEF,MAAM,IAAI,GAOL,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAY,EAAE,EAAE;gBACnC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,QAAQ,IAAI,KAAK;SACvB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,sBAAsB,CAClC,IAOE;QAEF,MAAM,SAAS,GAA8C,IAAI,GAAG,EAAE,CAAC;QAEvE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,GAA6C,SAAS,CAAC,GAAG,CACnE,GAAG,CAAC,SAAS,CACd,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;gBAC7C,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,WAAW,GAAS,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,GAAG,GAAW,WAAW,CAAC,OAAO,EAAE,CAAC;YAE1C,IAAI,MAAM,GAAgC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG;oBACP,WAAW,EAAE,WAAW;oBACxB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;oBAClC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;oBAClC,cAAc,EAAE,CAAC;oBACjB,eAAe,EAAE,EAAE;iBACpB,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,OAAO,GAAW,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE5C;;;eAGG;YACH,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YAED,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC;YACjC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC1B,eAAe,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;gBAClD,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAuC,EAAE,CAAC;QAExD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,IAAI,QAAQ,CAAC,SAAS,CAAC;gBAClC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACxC,CAAC,CAAkB,EAAE,CAAkB,EAAE,EAAE;oBACzC,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC3D,CAAC,CACF;aACF,CAAC,CAAC;QACL,CAAC;QAED;;;;WAIG;QACH,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAGqB,AAAN,KAAK,CAAC,MAAM,CAC1B,QAAyC;;QAEzC;;;;;;;;;;;;;;;WAeG;QACH,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,iFAAiF;YACjF,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,aAAa,GAAkB;YACnC,SAAS,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE;YAC9C,SAAS,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE;SAC9B,CAAC;QAEnB,IAAI,KAAK,GAA0B,IAAI,CAAC;QAExC,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC;gBAC3B,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACvC,SAAS,EAAE,8BAA8B;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX;;;;;;;;;;eAUG;YACH,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC/B,MAAM,IAAI,eAAe,CAAC,0CAA0C,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,WAAkC,CAAC;QAEvC,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;QAED;;;;;;;;;;;WAWG;QACH,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAElD;;;;;;;WAOG;QACH,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE7D,OAAO,WAAW,CAAC;IACrB,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyC;;QAEzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,aAAa,GAAkB;YACnC,SAAS,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE;YAC9C,SAAS,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE;SAC9B,CAAC;QAEnB;;;;WAIG;QACH,OAAO,MAAM,IAAI,CAAC,aAAa,CAC7B,QAAQ,EACR,QAAQ,CAAC,IAAI,CAAC,SAAS,EACvB,aAAa,CACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CACzB,QAAyC,EACzC,SAAmB,EACnB,aAA4B;;QAE5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAC1D,CAAC;QAED,IACE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe;YAC5B,QAAQ,CAAC,IAAI,CAAC,aAAa;YAC3B,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EACxB,CAAC;YACD,IAAI,MAAM,GAAyB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;YAEjE,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,CAAC;YAED,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;gBAClE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,6BAA6B,MAAM,WAAW,CAAC,qBAAqB,CAC5F;oBACE,MAAM,EAAE,MAAO;oBACf,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAS;iBAC/D,CACF,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GACnB,QAAQ,CAAC,IAAI,CAAC,eAAe,KAAI,MAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,0CAAE,EAAE,CAAA,CAAC;QAEnE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QACxD,CAAC;QAED;;;;;;;;;;;;;;;WAeG;QACH,MAAM,+BAA+B,CAAC,iCAAiC,CAAC;YACtE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS;YAC7D,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE;gBACV;oBACE,SAAS,EAAE,gBAAgB;oBAC3B,EAAE,EAAE,eAAe;oBACnB,OAAO,EAAE,oBAAoB;iBAC9B;aACF;SACF,CAAC,CAAC;QAEH,MAAM,eAAe,GAAiC,MAAM,IAAI,CAAC,SAAS,CAAC;YACzE,KAAK,EAAE;gBACL,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC9D;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,SAAS,CAAC,UAAU;aAC/B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAE7C,4DAA4D;QAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,2DAA2D;YAC3D,QAAQ,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QACvC,CAAC;QAED;;;WAGG;QAEH,IAAI,eAAe,IAAI,eAAe,CAAC,eAAe,IAAI,eAAe,EAAE,CAAC;YAC1E,IACE,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE;gBAC1C,eAAe,CAAC,QAAQ,EAAE,EAC1B,CAAC;gBACD;;;;;mBAKG;gBACH,MAAM,CAAC,IAAI,CACT,qDAAqD,eAAe,CAAC,QAAQ,EAAE,gBAAgB,SAAS,CAAC,QAAQ,EAAE,sCAAsC,MAAA,eAAe,CAAC,QAAQ,0CAAE,QAAQ,EAAE,0BAA0B,EACvN,aAAa,CACd,CAAC;gBAEF,MAAM,IAAI,gBAAgB,CACxB,6CAA6C,CAC9C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAiC,MAAM,IAAI,CAAC,SAAS,CAAC;YACxE,KAAK,EAAE;gBACL,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1D;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,SAAS,CAAC,SAAS;aAC9B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,sDAAsD;QACtD,IAAI,cAAc,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC;QACjD,CAAC;QAED;;;WAGG;QAEH,IAAI,cAAc,IAAI,cAAc,CAAC,eAAe,IAAI,eAAe,EAAE,CAAC;YACxE,IACE,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,eAAe,CAAC,QAAQ,EAAE,EACxE,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,+CAA+C,CAChD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAE5C,OAAO;YACL,QAAQ;YACR,YAAY,EAAE;gBACZ,8BAA8B,EAAE,eAAe,IAAI,IAAI;gBACvD,6BAA6B,EAAE,cAAc,IAAI,IAAI;aACtD;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CACxB,KAAwC,EACxC,aAA4B;QAE5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACK,KAAK,CAAC,4BAA4B,CAAC,IAI1C;QACC,MAAM,YAAY,GAAW,MAAM,IAAI,CAAC,WAAW,CAAC;YAClD,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE;gBAC9C,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClD,MAAM,EAAE,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC;aAC1D;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB;;;;;eAKG;YACH,MAAM,CAAC,IAAI,CACT,kEAAkE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,uDAAuD,EAC/L,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAyC,EACzC,WAAkC;;QAElC,MAAM,aAAa,GAAkB;YACnC,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,0CAAE,QAAQ,EAAE;YAC5C,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,0CAAE,QAAQ,EAAE;SAC5B,CAAC;QAEnB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QACxD,CAAC;QAED;;;;WAIG;QAEH,mCAAmC;QAEnC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CACV,QAAQ,CAAC,YAAY,CAAC,8BAA8B,EACpD,aAAa,CACd,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,CAAC,KAAK,CACV,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EACnD,aAAa,CACd,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAEzC;;;WAGG;QACH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,8BAA8B,EAAE,CAAC;YAC1D,+DAA+D;YAC/D,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,CAAC;YAChE;;;eAGG;YACH,MAAM,IAAI,CAAC,4BAA4B,CAAC;gBACtC,yBAAyB,EACvB,QAAQ,CAAC,YAAY,CAAC,8BAA8B,CAAC,EAAG;gBAC1D,MAAM,EAAE,WAAW,CAAC,QAAS;gBAC7B,aAAa,EAAE,aAAa;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN;;;eAGG;YACH,MAAM,IAAI,CAAC,4BAA4B,CAAC;gBACtC,yBAAyB,EACvB,QAAQ,CAAC,YAAY,CAAC,8BAA8B,CAAC,EAAG;gBAC1D,MAAM,EAAE,WAAW,CAAC,QAAS;gBAC7B,aAAa,EAAE,aAAa;aAC7B,CAAC,CAAC;YAEH;;;;;eAKG;YACH,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,aAAa,CAAC;oBACvB,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,6BAA6B,CAAC,EAAG;oBAC3D,IAAI,EAAE;wBACJ,QAAQ,EAAE,WAAW,CAAC,MAAM;qBAC7B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACxB,8DAA8D;YAE9D,MAAM,cAAc,CAAC,WAAW,CAAC;gBAC/B,KAAK,EAAE;oBACL,GAAG,EAAE,MAAA,WAAW,CAAC,SAAS,0CAAE,QAAQ,EAAE;iBACvC;gBACD,IAAI,EAAE;oBACJ,sBAAsB,EAAE,WAAW,CAAC,eAAe;iBACpD;gBACD,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;aAC/B,CAAC,CAAC;YAEH;;;;;eAKG;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACK,KAAK,CAAC,eAAe,CAC3B,WAAkC,EAClC,QAAyC;QAEzC,IACE,WAAW,CAAC,MAAM;YAClB,CAAC,WAAW,CAAC,SAAS;YACtB,CAAC,WAAW,CAAC,eAAe,EAC5B,CAAC;YACD,qEAAqE;YACrE,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GACb,WAAW,CAAC,SAAS;YACrB,QAAQ,CAAC,IAAI,CAAC,SAAS;YACvB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAE1B,MAAM,IAAI,CAAC,iCAAiC,CAAC;YAC3C,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,aAAa,EAAE;gBACb,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;gBAChC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE;aAC3B;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,iCAAiC,CAAC,IAK/C;QACC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,qEAAqE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,kIAAkI,EAChO,IAAI,CAAC,aAAa,CACnB,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,sBAAsB,CAAC;gBAC9C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC5B,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,4EAA4E,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE,EAC/G,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,0BAA0B,CACtC,WAAkC,EAClC,QAAyC;QAEzC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GACjB,MAAM,oBAAoB,CAAC,SAAS,CAAC;YACnC,KAAK,EAAE;gBACL,GAAG,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAG;aAC7C;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,cAAc,EAAE,IAAI;gBACpB,kBAAkB,EAAE,IAAI;gBACxB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;aACX;SACF,CAAC,CAAC;QAEL,MAAM,SAAS,GAAW,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,KAAI,EAAE,CAAC;QACpD,IAAI,UAAU,GAAW,IAAI,CAAC;QAE9B,6CAA6C;QAE7C,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kBAAkB,EAAE,CAAC;YACtC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,cAAc,EAAE,CAAC;YACzC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,MAAM,WAAW,GAAkB,MAAM,cAAc,CAAC,cAAc,CAAC;YACrE,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAa,WAAW,CAAC,SAAU,CAAC;QACnD,MAAM,SAAS,GAAa,WAAW,CAAC,SAAU,CAAC;QAEnD,MAAM,kBAAkB,CAAC,qBAAqB,CAAC;YAC7C,SAAS,EAAE,WAAW,CAAC,SAAU;YACjC,SAAS,EAAE,WAAW,CAAC,SAAU;YACjC,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB;YAC/D,YAAY,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK;YAClC,kBAAkB,EAChB,UAAU;gBACV,uBAAuB,WAAW,KAAK,CAAC,MAAM,cAAc,CAAC,yBAAyB,CAAC,SAAU,EAAE,SAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB;gBAC3I,SAAS;gBACT,IAAI;YACN,yBAAyB,EAAE;MAC3B,WAAW,CAAC,SAAS,EAAE;YACvB,MAAM,EAAE,WAAW,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM;YAC5D,qBAAqB,EAAE;gBACrB,yBAAyB,EAAE,IAAI;gBAC/B,YAAY,EACV,WAAW,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS;aACpE;SACF,CAAC,CAAC;IACL,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyC;QAEzC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,gCAAgC,GACpC,MAAM,IAAI,CAAC,WAAW,CAAC;gBACrB,EAAE,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAa,CAAC;gBAC9C,MAAM,EAAE;oBACN,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;iBACb;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEL,MAAM,SAAS,GACb,gCAAgC,aAAhC,gCAAgC,uBAAhC,gCAAgC,CAAE,SAAS,CAAC;YAE9C,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,qBAAqB,GAAmB,MAAM,IAAI,CAAC,OAAO,CAAC;oBAC/D,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS;qBACrB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,gCAAgC,EAAE,CAAC;oBACtC,MAAM,IAAI,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;oBAClC,MAAM,IAAI,gBAAgB,CACxB,2FAA2F,CAC5F,CAAC;gBACJ,CAAC;gBAED;;;;;mBAKG;gBAEH,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE;wBACL,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAa,CAAC;wBACxD,SAAS,EAAE,SAAS;wBACpB,QAAQ,EAAE,WAAW,CAAC,eAAe,CACnC,gCAAgC,CAAC,QAAS,CAC3C;qBACF;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,SAAS,CAAC,UAAU;qBAC/B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;oBACD,MAAM,EAAE;wBACN,eAAe,EAAE,IAAI;wBACrB,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE;wBACL,SAAS,EAAE,SAAS;wBACpB,QAAQ,EAAE,WAAW,CAAC,WAAW,CAC/B,gCAAgC,CAAC,QAAS,CAC3C;qBACF;oBACD,IAAI,EAAE;wBACJ,QAAQ,EAAE,SAAS,CAAC,SAAS;qBAC9B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;oBACD,MAAM,EAAE;wBACN,eAAe,EAAE,IAAI;wBACrB,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,+DAA+D;oBAC/D,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;wBACxC,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;qBAChB,CAAC,CAAC;gBACtB,CAAC;qBAAM,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC3B;;;uBAGG;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC;wBACvB,EAAE,EAAE,eAAe,CAAC,EAAG;wBACvB,IAAI,EAAE;4BACJ,MAAM,EAAE,gCAAgC,CAAC,MAAO;yBACjD;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;wBACvC,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;qBAChB,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN;;;uBAGG;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC;wBACvB,EAAE,EAAE,eAAe,CAAC,EAAG;wBACvB,IAAI,EAAE;4BACJ,MAAM,EAAE,cAAc,CAAC,QAAS;yBACjC;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEH,6DAA6D;oBAC7D,MAAM,IAAI,CAAC,aAAa,CAAC;wBACvB,EAAE,EAAE,cAAc,CAAC,EAAG;wBACtB,IAAI,EAAE;4BACJ,QAAQ,EAAE,gCAAgC,CAAC,QAAS;yBACrD;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;wBAC5C,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;qBAChB,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAC/C,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAyC,EACzC,oBAAgC;;QAEhC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,qBAAqB;YACrB,MAAM,SAAS,GAAa,QAAQ,CAAC,YAAwB,CAAC;YAE9D,mCAAmC;YACnC,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE;oBACL,SAAS,EAAE,SAAS;iBACrB;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,SAAS,CAAC,UAAU;iBAC/B;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,eAAe,EAAE,IAAI;oBACrB,qCAAqC;oBACrC,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;YAEL,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,eAAe,EAAE,CAAC;gBACnE,MAAM,cAAc,CAAC,WAAW,CAAC;oBAC/B,KAAK,EAAE;wBACL,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;qBAC1B;oBACD,IAAI,EAAE;wBACJ,sBAAsB,EAAE,qBAAqB,CAAC,eAAe;qBAC9D;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH;;;;;mBAKG;gBACH,MAAM,IAAI,CAAC,iCAAiC,CAAC;oBAC3C,SAAS,EAAE,qBAAqB,CAAC,SAAS;oBAC1C,SAAS,EAAE,SAAS;oBACpB,eAAe,EAAE,qBAAqB,CAAC,eAAe;oBACtD,aAAa,EAAE;wBACb,SAAS,EAAE,MAAA,qBAAqB,CAAC,SAAS,0CAAE,QAAQ,EAAE;wBACtD,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;qBACf;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA7jCc;IADZ,WAAW,EAAE;;;;sDA4Hb;AAyFqB;IADrB,WAAW,EAAE;;;;qCAsFb;AAGwB;IADxB,WAAW,EAAE;;;;6CAuBb;AAsQwB;IADxB,WAAW,EAAE;;6CAGC,qBAAqB;;8CA8GnC;AAkLwB;IADxB,WAAW,EAAE;;;;6CAoJb;AAGwB;IADxB,WAAW,EAAE;;;;8CA6Db;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -13,6 +13,7 @@ import NetworkAlertPolicyEngineService from "./NetworkAlertPolicyEngineService";
13
13
  import NetworkAlertPolicyService from "./NetworkAlertPolicyService";
14
14
  import NetworkDeviceAutoImportRuleService from "./NetworkDeviceAutoImportRuleService";
15
15
  import MonitorStepsProjectValidator from "../Utils/Monitor/MonitorStepsProjectValidator";
16
+ import MonitoringIntervalValidator from "../Utils/Monitor/MonitoringIntervalValidator";
16
17
  import BadDataException from "../../Types/Exception/BadDataException";
17
18
  import Includes from "../../Types/BaseDatabase/Includes";
18
19
  import LIMIT_MAX from "../../Types/Database/LimitMax";
@@ -79,6 +80,13 @@ export class Service extends DatabaseService {
79
80
  * can still enter the system.
80
81
  */
81
82
  async onBeforeCreate(createBy) {
83
+ /*
84
+ * A template's interval is copied onto every monitor it creates or syncs,
85
+ * so an unvalidated value here becomes many broken monitors later.
86
+ */
87
+ if (createBy.data.monitoringInterval !== undefined) {
88
+ createBy.data["monitoringInterval"] = MonitoringIntervalValidator.validateAndNormalize(createBy.data.monitoringInterval);
89
+ }
82
90
  this.validateSyncFields(createBy.data.monitorSteps, createBy.data.monitorType);
83
91
  await MonitorStepsProjectValidator.validateMonitorStepsBelongToProject({
84
92
  monitorSteps: createBy.data.monitorSteps,
@@ -87,6 +95,14 @@ export class Service extends DatabaseService {
87
95
  return { createBy, carryForward: null };
88
96
  }
89
97
  async onBeforeUpdate(updateBy) {
98
+ /*
99
+ * Ahead of the early return below: an update that touches only the
100
+ * interval must still be validated, and key presence is the test for the
101
+ * same reason it is in MonitorService.onBeforeUpdate.
102
+ */
103
+ if (Object.keys(updateBy.data || {}).includes("monitoringInterval")) {
104
+ updateBy.data["monitoringInterval"] = MonitoringIntervalValidator.validateAndNormalize(updateBy.data.monitoringInterval);
105
+ }
90
106
  if (!updateBy.data.monitorSteps && !updateBy.data.monitorType) {
91
107
  return { updateBy, carryForward: null };
92
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorTemplateService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorTemplateService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AAOtF,OAAO,4BAA4B,MAAM,+CAA+C,CAAC;AAEzF,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AACzD,OAAO,SAAS,MAAM,+BAA+B,CAAC;AAEtD,OAAO,YAAY,MAAM,kCAAkC,CAAC;AAC5D,OAAO,4BAA4B,MAAM,8CAA8C,CAAC;AACxF,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAG1D,OAAO,KAAK,MAAM,6CAA6C,CAAC;AAChE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,8BAA8B,MAAM,oDAAoD,CAAC;AAChG,OAAO,gCAAgC,MAAM,sDAAsD,CAAC;AACpG,OAAO,uBAAuB,MAAM,6CAA6C,CAAC;AAClF,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAoBlE,MAAM,eAAe,GAAyC;IAC5D,cAAc;IACd,oBAAoB;IACpB,uBAAuB;IACvB,QAAQ;IACR,cAAc;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,uBAAuB,GAAyC;IACpE,cAAc;IACd,oBAAoB;IACpB,uBAAuB;IACvB,QAAQ;CACT,CAAC;AAEF,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEO,kBAAkB,CACxB,KAA4C,EAC5C,WAAoC;;QAEpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,CAAA,MAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,0CAChD,yBAAyB,KAAI,EAAE,EAAE,CAAC;YACpC,MAAM,MAAM,GACV,4BAA4B,CAAC,KAAK,CAChC,MAAA,IAAI,CAAC,IAAI,0CAAE,eAAe,EAC1B,WAAW,CACZ,CAAC;YACJ,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,IAAI,gBAAgB,CACxB,4DAA4D,CAC7D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IAEsB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,kBAAkB,CACrB,QAAQ,CAAC,IAAI,CAAC,YAAY,EAC1B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAC1B,CAAC;QACF,MAAM,4BAA4B,CAAC,mCAAmC,CAAC;YACrE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY;YACxC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS;SAC9D,CAAC,CAAC;QAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QAED;;;;WAIG;QACH,MAAM,SAAS,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;YAChD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,IAAI;aAClB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;aAClB;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,kBAAkB,CACrB,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS;gBACtC,CAAC,CAAC,QAAQ,CAAC,YAAY;gBACvB,CAAC,CAAE,QAAQ,CAAC,IAAI,CAAC,YAA0C,EAC5D,QAAQ,CAAC,IAAI,CAAC,WAAuC;gBACpD,QAAQ,CAAC,WAAW,CACvB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChC,SAAS;YACX,CAAC;YACD,MAAM,4BAA4B,CAAC,mCAAmC,CAAC;gBACrE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAyC;gBACrE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS;gBACxD,yBAAyB,EAAE,QAAQ,CAAC,YAAY;aACjD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IAEsB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,MAAM,iBAAiB,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC;YACxD;;;;eAIG;YACH,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;YACpE,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAChB,QAAQ,CAAC,YAAY,IAAI,uBAAuB,CAAC;YAEnD,MAAM,QAAQ,GACZ,MAAM,yBAAyB,CAAC,MAAM,CAAC;gBACrC,KAAK,EAAE;oBACL,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,iBAAiB,EAAE,QAAQ,CAAC,EAAE;iBAC/B;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;iBACX;gBACD,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEL,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,gBAAgB,CACxB,GAAG,YAAY,eAAe,QAAQ,CAAC,MAAM,kBAC3C,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UACrC,KAAK,IAAI,CAAC,aAAa,CACrB,QAAQ,CAAC,GAAG,CAAC,CAAC,MAA0B,EAAU,EAAE;;oBAClD,OAAO,MAAM,CAAC,IAAI,KAAI,MAAA,MAAM,CAAC,EAAE,0CAAE,QAAQ,EAAE,CAAA,IAAI,SAAS,CAAC;gBAC3D,CAAC,CAAC,CACH,YACC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MACjC,mCACE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MACjC,kCAAkC,CACnC,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GACT,MAAM,kCAAkC,CAAC,MAAM,CAAC;gBAC9C,KAAK,EAAE;oBACL,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,iBAAiB,EAAE,QAAQ,CAAC,EAAE;iBAC/B;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;iBACX;gBACD,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEL,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,gBAAgB,CACxB,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,+BACxC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAChC,KAAK,IAAI,CAAC,aAAa,CACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAiC,EAAU,EAAE;;oBACtD,OAAO,IAAI,CAAC,IAAI,KAAI,MAAA,IAAI,CAAC,EAAE,0CAAE,QAAQ,EAAE,CAAA,IAAI,SAAS,CAAC;gBACvD,CAAC,CAAC,CACH,oBACC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aACrC,8EAA8E,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACK,wBAAwB,CAC9B,KAAmB,EACnB,KAAqC;QAErC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uCACK,KAAK,KACR,SAAS,EAAE,KAAK,CAAC,QAAQ,IACzB;IACJ,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,KAAoB;QACxC,MAAM,SAAS,GAAW,CAAC,CAAC;QAE5B,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC,CAAC,CAAW,CAAC;YAC5B,CAAC;YAED,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QACnD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CACxB,EAAE,CAAC;QACL,CAAC;QAED,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAC5C,KAAK,CAAC,MAAM,GAAG,SACjB,OAAO,CAAC;IACV,CAAC;IAED;;;OAGG;IAEU,AAAN,KAAK,CAAC,mBAAmB,CAAC,IAGhC;QACC,MAAM,KAAK,GAAmB,MAAM,cAAc,CAAC,OAAO,CAAC;YACzD,KAAK,EAAE;gBACL,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,MAAiC;QAEjC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,uBAAuB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,OAAO,GAAgB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,gBAAgB,CACxB,UAAU,KAAK,2CAA2C,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,MAAsC,CAAC;IAChD,CAAC;IAED;;;;;;;;;OASG;IACK,eAAe,CACrB,QAAe,EACf,MAAoC;QAEpC,MAAM,UAAU,GAAqB,EAAE,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAa,QAA+C,CACrE,KAAK,CACN,CAAC;YACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YACA,UAAiD,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACpE,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACK,4BAA4B,CAClC,QAAe,EACf,MAAoC;QAEpC,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC/B,8BAA8B,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAClE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,IAG/B;QACC,OAAO,8BAA8B,CAAC,aAAa,CAAC;YAClD,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;YAChD,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IACnE,uBAAuB,CAC7B,QAAe,EACf,OAAgB;QAEhB,IAAI,YAAY,GAA6B,QAAQ,CAAC,YAAY,CAAC;QAEnE,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC1B,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,CAAC,CAAC;YACxE,CAAC;YACD,YAAY,GAAG,uBAAuB,CAAC,uBAAuB,CAAC;gBAC7D,oBAAoB,EAAE,YAAY;gBAClC,mBAAmB,EAAE,OAAO,CAAC,YAAY;gBACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,aAAa,EAAE,CAAC;YACvD,YAAY,GAAG,OAAO,CAAC,8BAA8B;gBACnD,CAAC,CAAC,gCAAgC,CAAC,kBAAkB,CAAC;oBAClD,YAAY;oBACZ,eAAe,EAAE,OAAO,CAAC,8BAA8B;iBACxD,CAAC;gBACJ,CAAC,CAAC,gCAAgC,CAAC,uBAAuB,CAAC;oBACvD,oBAAoB,EAAE,YAAY;oBAClC,mBAAmB,EAAE,OAAO,CAAC,YAAY;iBAC1C,CAAC,CAAC;QACT,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,uDAAuD,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;OAOG;IAEU,AAAN,KAAK,CAAC,kBAAkB,CAAC,IAI/B;QACC,MAAM,MAAM,GAAiC,IAAI,CAAC,sBAAsB,CACtE,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,MAAM,QAAQ,GAAiB,MAAM,IAAI,CAAC,WAAW,CAAC;YACpD,EAAE,EAAE,IAAI,CAAC,iBAAiB;YAC1B,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,IAAI;gBAClB,kBAAkB,EAAE,IAAI;gBACxB,qBAAqB,EAAE,IAAI;gBAC3B,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;iBACV;aACF;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,mBAAmB,GAAW,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACjE,iBAAiB,EAAE,QAAQ,CAAC,EAAG;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC,CAAC;QAEH,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,mBAAmB,EAAE,CAAC;gBACtB,cAAc,EAAE,CAAC;aAClB,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAqB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE5E;;;;WAIG;QACH,MAAM,gBAAgB,GAAY,IAAI,CAAC,4BAA4B,CACjE,QAAQ,EACR,MAAM,CACP,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9D,OAAO;gBACL,mBAAmB;gBACnB,cAAc,EAAE,CAAC;aAClB,CAAC;QACJ,CAAC;QAED;;;;;;;WAOG;QACH,MAAM,iBAAiB,GACrB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC/B,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,aAAa;gBACjD,uBAAuB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAEtE;;;;WAIG;QACH,IAAI,iBAAiB,IAAI,gBAAgB,EAAE,CAAC;YAC1C,IAAI,cAAc,GAAW,CAAC,CAAC;YAC/B,MAAM,kBAAkB,GAAmB;gBACzC,iBAAiB,EAAE,QAAQ,CAAC,EAAG;gBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC;YAEF;;;;;;;;;;;eAWG;YACH,MAAM,sBAAsB,GAC1B,MAAM,eAAe,CAAC,2BAA2B,CAC/C,OAAO,EACP,kBAAkB,EAClB,gCACK,UAAU,GACV,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3C,EACR,IAAI,CAAC,KAAK,CACX,CAAC;YACJ,MAAM,cAAc,GAAmB,EAAE,CAAC;YAE1C,KAAK,IAAI,IAAI,GAAW,CAAC,GAAI,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAmB,MAAM,cAAc,CAAC,MAAM,CAAC;oBAC3D,KAAK,EAAE,sBAAsB;oBAC7B,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,YAAY,EAAE,IAAI;wBAClB,YAAY,EAAE,IAAI;wBAClB,8BAA8B,EAAE,IAAI;qBACrC;oBACD,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE;oBAClE,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;iBACxB,CAAC,CAAC;gBAEH,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAEjC,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;oBAChC,MAAM;gBACR,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,MAAM,OAAO,GAGR,cAAc,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE;gBAC3C,OAAO;oBACL,OAAO;oBACP,IAAI,gDACC,UAAU,GACV,CAAC,iBAAiB;wBACnB,CAAC,CAAC;4BACE,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC;yBAC9D;wBACH,CAAC,CAAC,EAAE,CAAC,GACJ,CAAC,gBAAgB;wBAClB,CAAC,CAAC;4BACE,YAAY,EAAE,IAAI,CAAC,uBAAuB,CAAC;gCACzC,QAAQ;gCACR,OAAO;6BACR,CAAC;yBACH;wBACH,CAAC,CAAC,EAAE,CAAC,CACR;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,cAAc,IAAI,MAAM,cAAc,CAAC,aAAa,CAAC;oBACnD,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAG;oBACtB,IAAI,EAAE,MAAM,CAAC,IAAW;oBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,uBAAuB,CAAC;gBACjC,iBAAiB,EAAE,QAAQ,CAAC,EAAG;gBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,mBAAmB;gBACnB,cAAc;aACf,CAAC,CAAC;YAEH,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC;QACjD,CAAC;QAED;;;;;;;;;;;;;WAaG;QACH,MAAM,gBAAgB,GAAoB,EAAE,CAAC;QAE7C,KAAK,IAAI,IAAI,GAAW,CAAC,GAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAmB,MAAM,cAAc,CAAC,MAAM,CAAC;gBAC3D,KAAK,EAAE;oBACL,iBAAiB,EAAE,QAAQ,CAAC,EAAG;oBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B;gBACD,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;gBACrB,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE;gBAClE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAC;YAEH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAG,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAChC,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,cAAc,GAAW,CAAC,CAAC;QAE/B,KACE,IAAI,UAAU,GAAW,CAAC,EAC1B,UAAU,GAAG,gBAAgB,CAAC,MAAM,EACpC,UAAU,IAAI,SAAS,EACvB,CAAC;YACD,MAAM,KAAK,GAAoB,gBAAgB,CAAC,KAAK,CACnD,UAAU,EACV,UAAU,GAAG,SAAS,CACvB,CAAC;YAEF;;;;;eAKG;YACH,cAAc,IAAI,MAAM,cAAc,CAAC,QAAQ,CAAC;gBAC9C,KAAK,EAAE;oBACL,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;oBACxB,iBAAiB,EAAE,QAAQ,CAAC,EAAG;oBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B;gBACD,IAAI,EAAE,UAAiB;gBACvB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,uBAAuB,CAAC;YACjC,iBAAiB,EAAE,QAAQ,CAAC,EAAG;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,mBAAmB;YACnB,cAAc;SACf,CAAC,CAAC;QAEH,OAAO;YACL,mBAAmB;YACnB,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,uBAAuB,CAAC,IAKrC;QACC,IACE,IAAI,CAAC,cAAc,IAAI,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAC9C,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,+BAA+B,CAAC,uBAAuB,CAAC;YAC5D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IAEU,AAAN,KAAK,CAAC,aAAa,CAAC,IAK1B;QACC,MAAM,MAAM,GAAiC,IAAI,CAAC,sBAAsB,CACtE,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,MAAM,QAAQ,GAAiB,MAAM,IAAI,CAAC,WAAW,CAAC;YACpD,EAAE,EAAE,IAAI,CAAC,iBAAiB;YAC1B,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,IAAI;gBAClB,kBAAkB,EAAE,IAAI;gBACxB,qBAAqB,EAAE,IAAI;gBAC3B,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;iBACV;aACF;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI;gBAClB,8BAA8B,EAAE,IAAI;aACrC;YACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,IACE,CAAC,OAAO,CAAC,iBAAiB;YAC1B,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,EAAG,CAAC,QAAQ,EAAE,EAChE,CAAC;YACD,MAAM,IAAI,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;QACvE,CAAC;QAED,IACE,CAAC,OAAO,CAAC,SAAS;YAClB,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC9D,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAqB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE5E,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC1C,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5E,CAAC;QAED;;;WAGG;QACH,IAAI,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBACrD,QAAQ;gBACR,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,CAAC,aAAa,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE,UAAiB;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IAEU,AAAN,KAAK,CAAC,WAAW,CAAC,IAIxB;QACC,MAAM,QAAQ,GAAiB,MAAM,IAAI,CAAC,WAAW,CAAC;YACpD,EAAE,EAAE,IAAI,CAAC,iBAAiB;YAC1B,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,uCAAuC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QACD,IACE,CAAC,OAAO,CAAC,SAAS;YAClB,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC9D,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,OAAO,CAAC,WAAW,mCAAmC,QAAQ,CAAC,WAAW,GAAG,CAC/F,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,CAAC,aAAa,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE;gBACJ,iBAAiB,EAAE,QAAQ,CAAC,EAAG;aACzB;YACR,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IAEU,AAAN,KAAK,CAAC,aAAa,CAAC,IAI1B;QACC,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,iBAAiB,EAAE,IAAI;aACxB;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QACD,IACE,CAAC,OAAO,CAAC,iBAAiB;YAC1B,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAC1E,CAAC;YACD,MAAM,IAAI,gBAAgB,CAAC,wCAAwC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,cAAc,CAAC,aAAa,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,SAAS;YAClB,IAAI,EAAE;gBACJ,iBAAiB,EAAE,IAAI;aACjB;YACR,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AA73B0B;IADxB,WAAW,EAAE;;;;6CAcb;AAGwB;IADxB,WAAW,EAAE;;;;6CA+Cb;AAyBwB;IADxB,WAAW,EAAE;;;;6CAiGb;AAkDY;IADZ,WAAW,EAAE;;;;kDAgBb;AA2IY;IADZ,WAAW,EAAE;;;;iDAqQb;AA4CY;IADZ,WAAW,EAAE;;;;4CA+Fb;AASY;IADZ,WAAW,EAAE;;;;0CA4Db;AAQY;IADZ,WAAW,EAAE;;;;4CAgCb;AAEH,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"MonitorTemplateService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorTemplateService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ import OnCallDutyPolicy from "../../Models/DatabaseModels/OnCallDutyPolicy";
2
+ import OnCallDutyPolicyEscalationRule from "../../Models/DatabaseModels/OnCallDutyPolicyEscalationRule";
3
+ import DatabaseCommonInteractionPropsUtil, { PermissionType, } from "../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
4
+ import PermissionScope from "../../Types/Database/AccessControl/PermissionScope";
5
+ import BadDataException from "../../Types/Exception/BadDataException";
6
+ import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
7
+ import ObjectID from "../../Types/ObjectID";
8
+ import Permission, { PermissionHelper, } from "../../Types/Permission";
9
+ import DatabaseRequestType from "../Types/BaseDatabase/DatabaseRequestType";
10
+ import CreatePermission from "../Types/Database/Permissions/CreatePermission";
11
+ import TablePermission from "../Types/Database/Permissions/TablePermission";
12
+ import RelationValueUtil from "../Utils/Database/RelationValueUtil";
13
+ import DatabaseService from "./DatabaseService";
14
+ /** Authorize escalation configuration before any create hook can change it. */
15
+ export default class OnCallDutyPolicyChildService extends DatabaseService {
16
+ async create(createBy) {
17
+ const { data, props } = createBy;
18
+ if (props.isRoot || props.isMasterAdmin) {
19
+ return super.create(createBy);
20
+ }
21
+ /*
22
+ * Check the original columns before normalizing relations. In particular,
23
+ * a read-only caller must not reach the rule-ordering create hook.
24
+ */
25
+ CreatePermission.checkCreatePermissions(this.modelType, data, props);
26
+ if (!props.tenantId || props.isMultiTenantRequest) {
27
+ throw new NotAuthorizedException("A project is required to create on-call configuration.");
28
+ }
29
+ /*
30
+ * DatabaseService uses save(), which can update when an ID is supplied.
31
+ * A create grant must never replace an existing (possibly hidden) child.
32
+ */
33
+ if (data._id !== undefined && data._id !== null) {
34
+ throw new BadDataException("An ID cannot be supplied when creating on-call configuration.");
35
+ }
36
+ const projectId = props.tenantId;
37
+ const suppliedProjectId = this.normalizeReference(data, "project");
38
+ if (suppliedProjectId &&
39
+ suppliedProjectId.toString() !== projectId.toString().toLowerCase()) {
40
+ throw new NotAuthorizedException("The on-call configuration must belong to the current project.");
41
+ }
42
+ data.setColumnValue("projectId", projectId);
43
+ const policyId = this.normalizeReference(data, "onCallDutyPolicy");
44
+ if (!policyId) {
45
+ throw new BadDataException("An on-call policy is required.");
46
+ }
47
+ const policyQuery = {
48
+ _id: policyId.toString(),
49
+ projectId,
50
+ };
51
+ const policyService = new DatabaseService(OnCallDutyPolicy);
52
+ const policy = await policyService.findOneBy({
53
+ query: policyQuery,
54
+ select: { _id: true },
55
+ props,
56
+ });
57
+ if (!policy) {
58
+ throw new NotAuthorizedException("You do not have permission to create configuration for this on-call policy.");
59
+ }
60
+ /*
61
+ * Read access alone is insufficient: a broad viewer grant must not widen
62
+ * a Labels/Owned create grant or bypass a label-scoped create block. Apply
63
+ * the create grants to the already verified parent using the normal read
64
+ * scope machinery, which handles labels, ownership, and deny precedence.
65
+ */
66
+ const creatablePolicy = await policyService.findOneBy({
67
+ query: policyQuery,
68
+ select: { _id: true },
69
+ props: this.getCreateScopeProps(props),
70
+ });
71
+ if (!creatablePolicy) {
72
+ throw new NotAuthorizedException("You do not have permission to create configuration for this on-call policy.");
73
+ }
74
+ if (data.hasColumn("onCallDutyPolicyEscalationRuleId")) {
75
+ const ruleId = this.normalizeReference(data, "onCallDutyPolicyEscalationRule");
76
+ if (!ruleId) {
77
+ throw new BadDataException("An on-call escalation rule is required.");
78
+ }
79
+ /*
80
+ * Escalation selects recipients by rule ID. Checking only policyId would
81
+ * let a caller pair an allowed policy with another policy's rule. This
82
+ * is an integrity lookup after authorizing the policy, not a new grant.
83
+ */
84
+ const rule = await new DatabaseService(OnCallDutyPolicyEscalationRule).findOneBy({
85
+ query: {
86
+ _id: ruleId.toString(),
87
+ projectId,
88
+ onCallDutyPolicyId: policyId,
89
+ },
90
+ select: { _id: true },
91
+ props: { isRoot: true },
92
+ });
93
+ if (!rule) {
94
+ throw new NotAuthorizedException("The escalation rule is not available in this on-call policy.");
95
+ }
96
+ }
97
+ return super.create(createBy);
98
+ }
99
+ getCreateScopeProps(props) {
100
+ const createPermissions = TablePermission.getTablePermission(this.modelType, DatabaseRequestType.Create);
101
+ const permissions = [
102
+ ...DatabaseCommonInteractionPropsUtil.getUserPermissions(props, PermissionType.Allow),
103
+ ...DatabaseCommonInteractionPropsUtil.getUserPermissions(props, PermissionType.Block),
104
+ ]
105
+ .filter((row) => {
106
+ return createPermissions.includes(row.permission);
107
+ })
108
+ .map((row) => {
109
+ return Object.assign(Object.assign({}, row), { permission: Permission.OnCallMember, scope: PermissionHelper.isScopeApplicable(row.permission)
110
+ ? row.scope
111
+ : PermissionScope.All });
112
+ });
113
+ const projectId = props.tenantId;
114
+ return Object.assign(Object.assign({}, props), { userGlobalAccessPermission: {
115
+ _type: "UserGlobalAccessPermission",
116
+ globalPermissions: [],
117
+ projectIds: [projectId],
118
+ }, userTenantAccessPermission: {
119
+ [projectId.toString()]: {
120
+ _type: "UserTenantAccessPermission",
121
+ projectId,
122
+ permissions,
123
+ },
124
+ } });
125
+ }
126
+ normalizeReference(data, relation) {
127
+ const column = `${relation}Id`;
128
+ const values = data;
129
+ const scalarValue = values[column];
130
+ const relationValue = values[relation];
131
+ const scalarId = this.referenceId(scalarValue);
132
+ const relationId = this.referenceId(relationValue);
133
+ if (scalarId && relationId && scalarId !== relationId) {
134
+ throw new BadDataException(`${column} and ${relation} must refer to the same record.`);
135
+ }
136
+ const id = scalarId || relationId;
137
+ // A null relation must not override a tenant ID supplied by the request.
138
+ data.setColumnValue(relation, undefined);
139
+ if (!id) {
140
+ return null;
141
+ }
142
+ const objectId = new ObjectID(id);
143
+ data.setColumnValue(column, objectId);
144
+ // Leave one authoritative value for TypeORM and for downstream hooks.
145
+ return objectId;
146
+ }
147
+ referenceId(value) {
148
+ if (value === undefined || value === null) {
149
+ return null;
150
+ }
151
+ const id = RelationValueUtil.getRelationId(value);
152
+ if (!id) {
153
+ throw new BadDataException("A valid related record ID is required.");
154
+ }
155
+ ObjectID.validateUUID(id);
156
+ if (typeof value === "object" && !(value instanceof ObjectID)) {
157
+ const reference = value;
158
+ if (reference["_id"] !== undefined &&
159
+ reference["_id"] !== null &&
160
+ reference["id"] !== undefined &&
161
+ reference["id"] !== null &&
162
+ String(reference["_id"]).toLowerCase() !==
163
+ String(reference["id"]).toLowerCase()) {
164
+ throw new BadDataException("Conflicting related record IDs are not allowed.");
165
+ }
166
+ }
167
+ return id.toLowerCase();
168
+ }
169
+ }
170
+ //# sourceMappingURL=OnCallDutyPolicyChildService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnCallDutyPolicyChildService.js","sourceRoot":"","sources":["../../../../Server/Services/OnCallDutyPolicyChildService.ts"],"names":[],"mappings":"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"}