@oneuptime/common 13.0.8 → 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 (333) 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/Scripts/generate-service-worker.js +65 -4
  6. package/Server/API/BaseAPI.ts +26 -5
  7. package/Server/API/GlobalConfigAPI.ts +228 -462
  8. package/Server/API/ProjectOIDC.ts +25 -16
  9. package/Server/API/ProjectSSO.ts +24 -16
  10. package/Server/API/StatusPageAPI.ts +100 -42
  11. package/Server/API/TeamMemberAPI.ts +10 -1
  12. package/Server/Enterprise/EnterpriseEdition.ts +649 -0
  13. package/Server/Enterprise/EnterpriseFeature.ts +48 -0
  14. package/Server/Enterprise/EnterpriseLicenseSnapshot.ts +192 -0
  15. package/Server/Enterprise/EnterpriseServerModule.ts +233 -0
  16. package/Server/EnvironmentConfig.ts +147 -2
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.ts +25 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  19. package/Server/Middleware/UserAuthorization.ts +38 -16
  20. package/Server/Services/AuditLogService.ts +84 -1079
  21. package/Server/Services/EnterpriseLicenseService.ts +38 -0
  22. package/Server/Services/GlobalConfigService.ts +80 -1
  23. package/Server/Services/MonitorProbeService.ts +116 -20
  24. package/Server/Services/MonitorService.ts +56 -4
  25. package/Server/Services/MonitorStatusTimelineService.ts +284 -0
  26. package/Server/Services/MonitorTemplateService.ts +26 -0
  27. package/Server/Services/ProjectService.ts +284 -0
  28. package/Server/Services/RumSessionPinService.ts +25 -6
  29. package/Server/Services/StatusPagePrivateUserService.ts +7 -3
  30. package/Server/Services/StatusPageService.ts +78 -1
  31. package/Server/Services/TeamMemberService.ts +11 -0
  32. package/Server/Services/TeamService.ts +10 -0
  33. package/Server/Services/UserService.ts +10 -17
  34. package/Server/Types/Database/Permissions/CreatePermission.ts +15 -0
  35. package/Server/Types/Database/Permissions/EditionPermission.ts +208 -18
  36. package/Server/Types/Database/Permissions/TablePermission.ts +10 -3
  37. package/Server/Types/Database/Permissions/UpdatePermission.ts +29 -0
  38. package/Server/Types/Markdown.ts +41 -0
  39. package/Server/Utils/CommunityEditionSsoReport.ts +361 -0
  40. package/Server/Utils/EditionEnforcement.ts +233 -0
  41. package/Server/Utils/FrontendEnvironment.ts +41 -2
  42. package/Server/Utils/InstanceHealth/RedisHealth.ts +12 -277
  43. package/Server/Utils/Monitor/AffectedResourceList.ts +190 -0
  44. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +10 -1
  45. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +543 -333
  46. package/Server/Utils/Monitor/MonitoringIntervalValidator.ts +116 -0
  47. package/Server/Utils/Workspace/Slack/Slack.ts +423 -10
  48. package/Tests/App/Accounts/LoginPasskey.test.tsx +18 -0
  49. package/Tests/App/Accounts/LoginSsoEdition.test.tsx +616 -0
  50. package/Tests/App/AdminDashboard/AdminAuthenticationSsoEdition.test.tsx +217 -0
  51. package/Tests/App/AdminDashboard/AdminEnterprisePluginPage.test.tsx +357 -0
  52. package/Tests/App/AdminDashboard/EnterpriseLicensesShell.test.tsx +214 -0
  53. package/Tests/App/AdminDashboard/GlobalSSOEnterpriseShells.test.tsx +271 -0
  54. package/Tests/App/AdminDashboard/HealthShells.test.tsx +659 -0
  55. package/Tests/App/Dashboard/AuditLogsAndComplianceShells.test.tsx +572 -0
  56. package/Tests/App/Dashboard/EnterpriseFeatureUpgrade.test.tsx +547 -0
  57. package/Tests/App/Dashboard/EnterprisePluginPage.test.tsx +667 -0
  58. package/Tests/App/Dashboard/IdentityEnterpriseShells.test.tsx +319 -0
  59. package/Tests/App/Dashboard/OnboardingSsoEmptyState.test.tsx +185 -0
  60. package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +45 -9
  61. package/Tests/App/Dashboard/SecurityEventDetailPanel.test.tsx +399 -0
  62. package/Tests/App/Dashboard/SecurityEventListRow.test.tsx +214 -0
  63. package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +1 -83
  64. package/Tests/App/Dashboard/SecurityEventsNavTabs.test.tsx +248 -0
  65. package/Tests/App/Dashboard/SecurityEventsViewer.test.tsx +1203 -0
  66. package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +11 -91
  67. package/Tests/App/StatusPage/StatusPageSsoEmptyState.test.tsx +319 -0
  68. package/Tests/Helpers/RefreshAwareApiScan.ts +757 -0
  69. package/Tests/Helpers/TenantScopedRequestScan.ts +515 -0
  70. package/Tests/Scripts/GenerateServiceWorker.test.ts +931 -0
  71. package/Tests/Server/API/BaseAPICreateItemDoesNotMutateModel.test.ts +130 -0
  72. package/Tests/Server/API/GlobalConfigLicense.test.ts +742 -497
  73. package/Tests/Server/API/OnCallReadinessAPI.test.ts +35 -909
  74. package/Tests/Server/API/SsoProviderListingsEdition.test.ts +432 -0
  75. package/Tests/Server/API/TeamMemberLeaveScimLockEdition.test.ts +252 -0
  76. package/Tests/Server/Enterprise/EnterpriseEdition.test.ts +824 -0
  77. package/Tests/Server/Enterprise/EnterpriseFeatureActive.test.ts +643 -0
  78. package/Tests/Server/Enterprise/EnterpriseLicenseSnapshot.test.ts +294 -0
  79. package/Tests/Server/Enterprise/EnterpriseModelFeatureMap.test.ts +93 -0
  80. package/Tests/Server/Enterprise/EnterpriseOnlyModulesLiveInEe.test.ts +582 -0
  81. package/Tests/Server/Enterprise/EnterpriseServerModule.test.ts +247 -0
  82. package/Tests/Server/Enterprise/FakeEnterpriseModule.ts +502 -0
  83. package/Tests/Server/Enterprise/TestBillingFlag.ts +70 -0
  84. package/Tests/Server/EnvironmentConfigEnterpriseEdition.test.ts +314 -0
  85. package/Tests/Server/Infrastructure/ContainerBootConfiguration.test.ts +289 -0
  86. package/Tests/Server/Infrastructure/E2EClickHouseFixtureAccess.test.ts +5 -1
  87. package/Tests/Server/Middleware/UserAuthorization.test.ts +37 -2
  88. package/Tests/Server/Middleware/UserAuthorizationEditionEnforcement.test.ts +516 -0
  89. package/Tests/Server/Services/AuditLogService.test.ts +460 -990
  90. package/Tests/Server/Services/CreateAndReadResponsesKeepIds.test.ts +263 -0
  91. package/Tests/Server/Services/EnterpriseLicenseServiceKeyGeneration.test.ts +151 -0
  92. package/Tests/Server/Services/GlobalConfigServiceLicenseColumns.test.ts +357 -0
  93. package/Tests/Server/Services/MonitorDestinationInfoIPv6.test.ts +101 -0
  94. package/Tests/Server/Services/MonitorProbeServiceIntervalScheduling.test.ts +333 -0
  95. package/Tests/Server/Services/MonitorStatusTimelineDailyAggregates.test.ts +303 -0
  96. package/Tests/Server/Services/ProjectServiceAuditLogLicense.test.ts +701 -0
  97. package/Tests/Server/Services/ProjectServiceAuditLogSettingsCache.test.ts +31 -35
  98. package/Tests/Server/Services/ScimPushGroupsTeamLocksEdition.test.ts +431 -0
  99. package/Tests/Server/Services/SsoRequirementReadMasking.test.ts +419 -0
  100. package/Tests/Server/Services/SsoRequirementWriteGuard.test.ts +769 -0
  101. package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +94 -0
  102. package/Tests/Server/Services/UserAuthenticationService.test.ts +35 -0
  103. package/Tests/Server/Services/UserServiceSeatLimit.test.ts +94 -56
  104. package/Tests/Server/Types/Database/Permissions/EditionPermission.test.ts +1823 -0
  105. package/Tests/Server/Types/Markdown.test.ts +181 -0
  106. package/Tests/Server/Utils/CommunityEditionSsoReport.test.ts +565 -0
  107. package/Tests/Server/Utils/EditionEnforcement.test.ts +303 -0
  108. package/Tests/Server/Utils/FrontendEnvironment.test.ts +367 -0
  109. package/Tests/Server/Utils/InstanceHealth/RedisHealth.test.ts +38 -418
  110. package/Tests/Server/Utils/Monitor/AffectedResourceList.test.ts +518 -0
  111. package/Tests/Server/Utils/Monitor/Criteria/EvaluateOverTime.test.ts +24 -4
  112. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +934 -96
  113. package/Tests/Server/Utils/Monitor/MonitoringIntervalValidator.test.ts +188 -0
  114. package/Tests/Server/Utils/Workspace/Slack/SlackMarkdownSectionSplit.test.ts +1209 -0
  115. package/Tests/Types/API/HostnameFromAuthority.test.ts +20 -10
  116. package/Tests/Types/API/HostnameIPv6.test.ts +149 -0
  117. package/Tests/Types/Database/CanonicalModelInstance.test.ts +190 -0
  118. package/Tests/UI/Components/EditionLabelLapseCopy.ts +104 -0
  119. package/Tests/UI/Components/EditionLabelLicenseManagerWiring.test.tsx +254 -0
  120. package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +84 -178
  121. package/Tests/UI/Components/EditionLabelLicenseStatus.test.tsx +1586 -0
  122. package/Tests/UI/Components/EditionLabelLicenseWritesGuard.test.tsx +157 -0
  123. package/Tests/UI/Components/Graphs/DayUptimeGraph.test.tsx +49 -2
  124. package/Tests/UI/Components/MarkdownConverters.test.ts +684 -0
  125. package/Tests/UI/Components/ModelListEmptyState.test.tsx +289 -0
  126. package/Tests/UI/Components/TelemetryViewer/TelemetryViewerEmptyContent.test.tsx +131 -0
  127. package/Tests/UI/EsbuildEnterpriseAlias.test.ts +1127 -0
  128. package/Tests/Utils/HostAddressUtil.test.ts +138 -0
  129. package/Tests/Utils/Monitor/MonitorDestinationUtil.test.ts +313 -0
  130. package/Tests/Utils/Monitor/MonitoringIntervalUtil.test.ts +304 -0
  131. package/Tests/Utils/StatusPage/UptimeDailyAggregateUtil.test.ts +248 -0
  132. package/Types/API/Hostname.ts +63 -16
  133. package/Types/Database/AccessControl/ColumnAccessControl.ts +19 -7
  134. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +19 -7
  135. package/Types/Database/AccessControl/OwnerOnlyColumn.ts +15 -6
  136. package/Types/Database/CanonicalModelInstance.ts +102 -0
  137. package/Types/Database/TableColumn.ts +20 -6
  138. package/Types/EnterpriseLicense/EnterpriseLicensePeriods.ts +29 -0
  139. package/Types/IP/IPv6.ts +6 -1
  140. package/Types/Monitor/MonitorStep.ts +6 -1
  141. package/Types/Monitor/ProxmoxAlertTemplates.ts +1 -1
  142. package/Types/StatusPage/UptimeDailyAggregate.ts +110 -0
  143. package/UI/Components/EditionLabel/EditionLabel.tsx +796 -1195
  144. package/UI/Components/EditionLabel/LicenseManager.ts +119 -0
  145. package/UI/Components/Graphs/DayUptimeGraph.tsx +123 -15
  146. package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
  147. package/UI/Components/ModelList/ModelList.tsx +11 -1
  148. package/UI/Components/MonitorGraphs/Uptime.tsx +69 -0
  149. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +28 -12
  150. package/UI/esbuild-enterprise.js +263 -0
  151. package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +7 -2
  152. package/Utils/HostAddressUtil.ts +94 -0
  153. package/Utils/Monitor/MonitorDestinationUtil.ts +157 -0
  154. package/Utils/Monitor/MonitoringIntervalUtil.ts +436 -0
  155. package/Utils/StatusPage/UptimeDailyAggregateUtil.ts +192 -0
  156. package/build/dist/Models/AnalyticsModels/AuditLog.js +23 -15
  157. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  158. package/build/dist/Models/DatabaseModels/GlobalConfig.js +25 -0
  159. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  160. package/build/dist/Models/DatabaseModels/Monitor.js +2 -2
  161. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  162. package/build/dist/Models/DatabaseModels/MonitorTemplate.js +2 -1
  163. package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
  164. package/build/dist/Server/API/BaseAPI.js +26 -5
  165. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  166. package/build/dist/Server/API/GlobalConfigAPI.js +148 -344
  167. package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
  168. package/build/dist/Server/API/ProjectOIDC.js +24 -16
  169. package/build/dist/Server/API/ProjectOIDC.js.map +1 -1
  170. package/build/dist/Server/API/ProjectSSO.js +24 -16
  171. package/build/dist/Server/API/ProjectSSO.js.map +1 -1
  172. package/build/dist/Server/API/StatusPageAPI.js +93 -43
  173. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  174. package/build/dist/Server/API/TeamMemberAPI.js +8 -1
  175. package/build/dist/Server/API/TeamMemberAPI.js.map +1 -1
  176. package/build/dist/Server/Enterprise/EnterpriseEdition.js +466 -0
  177. package/build/dist/Server/Enterprise/EnterpriseEdition.js.map +1 -0
  178. package/build/dist/Server/Enterprise/EnterpriseFeature.js +39 -0
  179. package/build/dist/Server/Enterprise/EnterpriseFeature.js.map +1 -0
  180. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js +70 -0
  181. package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js.map +1 -0
  182. package/build/dist/Server/Enterprise/EnterpriseServerModule.js +84 -0
  183. package/build/dist/Server/Enterprise/EnterpriseServerModule.js.map +1 -0
  184. package/build/dist/Server/EnvironmentConfig.js +84 -2
  185. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  186. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js +18 -0
  187. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1793900000000-AddEnterpriseEditionFirstSeenAt.js.map +1 -0
  188. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  189. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  190. package/build/dist/Server/Middleware/UserAuthorization.js +30 -11
  191. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  192. package/build/dist/Server/Services/AuditLogService.js +71 -740
  193. package/build/dist/Server/Services/AuditLogService.js.map +1 -1
  194. package/build/dist/Server/Services/EnterpriseLicenseService.js +34 -0
  195. package/build/dist/Server/Services/EnterpriseLicenseService.js.map +1 -1
  196. package/build/dist/Server/Services/GlobalConfigService.js +63 -0
  197. package/build/dist/Server/Services/GlobalConfigService.js.map +1 -1
  198. package/build/dist/Server/Services/MonitorProbeService.js +90 -17
  199. package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
  200. package/build/dist/Server/Services/MonitorService.js +45 -4
  201. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  202. package/build/dist/Server/Services/MonitorStatusTimelineService.js +242 -0
  203. package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
  204. package/build/dist/Server/Services/MonitorTemplateService.js +16 -0
  205. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  206. package/build/dist/Server/Services/ProjectService.js +214 -0
  207. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  208. package/build/dist/Server/Services/RumSessionPinService.js +24 -6
  209. package/build/dist/Server/Services/RumSessionPinService.js.map +1 -1
  210. package/build/dist/Server/Services/StatusPagePrivateUserService.js +7 -3
  211. package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
  212. package/build/dist/Server/Services/StatusPageService.js +71 -0
  213. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  214. package/build/dist/Server/Services/TeamMemberService.js +10 -0
  215. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  216. package/build/dist/Server/Services/TeamService.js +9 -0
  217. package/build/dist/Server/Services/TeamService.js.map +1 -1
  218. package/build/dist/Server/Services/UserService.js +10 -16
  219. package/build/dist/Server/Services/UserService.js.map +1 -1
  220. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +10 -0
  221. package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
  222. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +154 -14
  223. package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -1
  224. package/build/dist/Server/Types/Database/Permissions/TablePermission.js +10 -3
  225. package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
  226. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js +17 -0
  227. package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js.map +1 -1
  228. package/build/dist/Server/Types/Markdown.js +31 -0
  229. package/build/dist/Server/Types/Markdown.js.map +1 -1
  230. package/build/dist/Server/Utils/CommunityEditionSsoReport.js +223 -0
  231. package/build/dist/Server/Utils/CommunityEditionSsoReport.js.map +1 -0
  232. package/build/dist/Server/Utils/EditionEnforcement.js +187 -0
  233. package/build/dist/Server/Utils/EditionEnforcement.js.map +1 -0
  234. package/build/dist/Server/Utils/FrontendEnvironment.js +31 -2
  235. package/build/dist/Server/Utils/FrontendEnvironment.js.map +1 -1
  236. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js +6 -193
  237. package/build/dist/Server/Utils/InstanceHealth/RedisHealth.js.map +1 -1
  238. package/build/dist/Server/Utils/Monitor/AffectedResourceList.js +96 -0
  239. package/build/dist/Server/Utils/Monitor/AffectedResourceList.js.map +1 -0
  240. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +8 -1
  241. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  242. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +449 -261
  243. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  244. package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js +88 -0
  245. package/build/dist/Server/Utils/Monitor/MonitoringIntervalValidator.js.map +1 -0
  246. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +331 -11
  247. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  248. package/build/dist/Types/API/Hostname.js +59 -11
  249. package/build/dist/Types/API/Hostname.js.map +1 -1
  250. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +19 -7
  251. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
  252. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +19 -7
  253. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
  254. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js +13 -6
  255. package/build/dist/Types/Database/AccessControl/OwnerOnlyColumn.js.map +1 -1
  256. package/build/dist/Types/Database/CanonicalModelInstance.js +88 -0
  257. package/build/dist/Types/Database/CanonicalModelInstance.js.map +1 -0
  258. package/build/dist/Types/Database/TableColumn.js +19 -6
  259. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  260. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js +28 -0
  261. package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js.map +1 -0
  262. package/build/dist/Types/IP/IPv6.js +6 -1
  263. package/build/dist/Types/IP/IPv6.js.map +1 -1
  264. package/build/dist/Types/Monitor/MonitorStep.js +5 -0
  265. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  266. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +1 -1
  267. package/build/dist/Types/StatusPage/UptimeDailyAggregate.js +32 -0
  268. package/build/dist/Types/StatusPage/UptimeDailyAggregate.js.map +1 -0
  269. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +414 -585
  270. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  271. package/build/dist/UI/Components/EditionLabel/LicenseManager.js +2 -0
  272. package/build/dist/UI/Components/EditionLabel/LicenseManager.js.map +1 -0
  273. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +90 -17
  274. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
  275. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
  276. package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
  277. package/build/dist/UI/Components/ModelList/ModelList.js +4 -1
  278. package/build/dist/UI/Components/ModelList/ModelList.js.map +1 -1
  279. package/build/dist/UI/Components/MonitorGraphs/Uptime.js +42 -1
  280. package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
  281. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +2 -2
  282. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  283. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +6 -2
  284. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
  285. package/build/dist/Utils/HostAddressUtil.js +80 -0
  286. package/build/dist/Utils/HostAddressUtil.js.map +1 -0
  287. package/build/dist/Utils/Monitor/MonitorDestinationUtil.js +127 -0
  288. package/build/dist/Utils/Monitor/MonitorDestinationUtil.js.map +1 -0
  289. package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js +374 -0
  290. package/build/dist/Utils/Monitor/MonitoringIntervalUtil.js.map +1 -0
  291. package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js +148 -0
  292. package/build/dist/Utils/StatusPage/UptimeDailyAggregateUtil.js.map +1 -0
  293. package/jest.config.json +3 -1
  294. package/package.json +1 -1
  295. package/test-setup.sh +103 -34
  296. package/tsconfig.json +13 -0
  297. package/Server/API/EnterpriseLicenseAPI.ts +0 -925
  298. package/Server/API/TeamComplianceAPI.ts +0 -158
  299. package/Server/Middleware/SCIMAuthorization.ts +0 -141
  300. package/Server/Services/TeamComplianceService.ts +0 -733
  301. package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +0 -186
  302. package/Server/Utils/InstanceHealth/PostgresHealth.ts +0 -286
  303. package/Tests/App/AdminDashboard/EnterpriseLicenseInstanceActivity.test.tsx +0 -451
  304. package/Tests/App/Dashboard/AuditLogsTable.test.tsx +0 -598
  305. package/Tests/App/Dashboard/SecurityEventsExplorer.test.tsx +0 -761
  306. package/Tests/App/Dashboard/SecurityEventsSideMenu.test.tsx +0 -247
  307. package/Tests/App/Dashboard/SecurityEventsTableColumns.test.tsx +0 -382
  308. package/Tests/App/Dashboard/SecurityEventsVolumeChart.test.tsx +0 -321
  309. package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +0 -1851
  310. package/Tests/Server/Middleware/SCIMAuthorization.test.ts +0 -525
  311. package/Tests/Server/Services/TeamComplianceServiceBehaviour.test.ts +0 -1845
  312. package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +0 -495
  313. package/Tests/Server/Utils/InstanceHealth/PostgresHealth.test.ts +0 -337
  314. package/Tests/Utils/EnterpriseLicenseSeats.test.ts +0 -576
  315. package/Tests/Utils/EnterpriseLicenseSync.test.ts +0 -568
  316. package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +0 -287
  317. package/Utils/EnterpriseLicense/EnterpriseLicenseSync.ts +0 -244
  318. package/build/dist/Server/API/EnterpriseLicenseAPI.js +0 -646
  319. package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +0 -1
  320. package/build/dist/Server/API/TeamComplianceAPI.js +0 -111
  321. package/build/dist/Server/API/TeamComplianceAPI.js.map +0 -1
  322. package/build/dist/Server/Middleware/SCIMAuthorization.js +0 -124
  323. package/build/dist/Server/Middleware/SCIMAuthorization.js.map +0 -1
  324. package/build/dist/Server/Services/TeamComplianceService.js +0 -537
  325. package/build/dist/Server/Services/TeamComplianceService.js.map +0 -1
  326. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +0 -145
  327. package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +0 -1
  328. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js +0 -194
  329. package/build/dist/Server/Utils/InstanceHealth/PostgresHealth.js.map +0 -1
  330. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +0 -168
  331. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +0 -1
  332. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js +0 -174
  333. package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSync.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogService.js","sourceRoot":"","sources":["../../../../Server/Services/AuditLogService.ts"],"names":[],"mappings":"AACA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD,OAAO,iBAAiB,MAAM,qCAAqC,CAAC;AACpE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAG7D,OAAO,IAAI,MAAM,kCAAkC,CAAC;AACpD,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,mCAAmC,EAAE,MAAM,wDAAwD,CAAC;AAE7G,OAAO,eAAe,MAAM,sCAAsC,CAAC;AAEnE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,MAAM,6BAA6B,GAAW,EAAE,GAAG,IAAI,CAAC;AACxD,MAAM,iBAAiB,GAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD;;;GAGG;AACH,MAAM,yBAAyB,GAAW,GAAG,CAAC;AAE9C,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAS;IAC1D,KAAK;IACL,IAAI;IACJ,WAAW;IACX,WAAW;IACX,WAAW;IACX,SAAS;IACT,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAA0B;IACnD,MAAM;IACN,OAAO;IACP,aAAa;CACd,CAAC;AAiCF,MAAM,OAAO,eAAgB,SAAQ,wBAAkC;IAQrE,YAAmB,kBAAmD;QACpE,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QARvD,yBAAoB,GAAuC,IAAI,GAAG,EAAE,CAAC;QACrE,cAAS,GAA4B,IAAI,GAAG,EAAE,CAAC;QAC/C,yBAAoB,GAGxB,IAAI,GAAG,EAAE,CAAC;IAId,CAAC;IAEM,yBAAyB,CAAC,SAAmB;QAClD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,YAAY,CAA2B,IAInD;;QACC,IAAI,CAAC;YACH,MAAM,SAAS,GAAyB,IAAI,CAAC,gBAAgB,CAC3D,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,KAAK,CACX,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAc,IAAI,CAAC,oBAAoB,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC;gBAChB,SAAS;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,UAAU,EAAE,MAAA,IAAI,CAAC,WAAW,CAAC,EAAE,mCAAI,IAAI;gBACvC,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,OAAO;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,QAAS,CAAC,eAAe;aAC3C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAA2B,IAMnD;QACC,IAAI,CAAC;YACH;;;;;eAKG;YACH,MAAM,OAAO,GAAc,IAAI,CAAC,eAAe,CAAC;gBAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAyB,IAAI,CAAC,gBAAgB,CAC3D,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC;gBAChB,SAAS;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,OAAO;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,QAAS,CAAC,eAAe;aAC3C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAA2B,IAKnD;QACC,IAAI,CAAC;YACH,MAAM,SAAS,GAAyB,IAAI,CAAC,gBAAgB,CAC3D,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,KAAK,CACX,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAc,IAAI,CAAC,oBAAoB,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO;gBACP,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC;gBAChB,SAAS;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,OAAO;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,eAAe,EAAE,QAAS,CAAC,eAAe;aAC3C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAA2B,MAU9C;QACC,MAAM,YAAY,GAAW,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAkB,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACjE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAwB,IAAI,CAAC,eAAe,CAAC;YAC7D,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY;YACZ,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAC1C,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACtC,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1C,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;QACvC,CAAC;QACD,IAAI,YAAY,CAAC,gBAAgB,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;YACjE,QAAQ,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;YAC1D,QAAQ,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;QACxD,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEhC,MAAM,KAAK,GAKP,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrC,CAAC;QAED,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE3E,MAAM,IAAI,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,eAAuB;QAClD,MAAM,IAAI,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,OAAO,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAEO,UAAU,CAChB,QAAsC,EACtC,KAAqC;QAErC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,4BAA4B,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU,CAAC;QACnD,CAAC;QAED;;;WAGG;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,KAAqC;QACzD;;;;WAIG;QACH,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,SAAmB;;QAEnB,MAAM,GAAG,GAAW,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,MAAM,GACV,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,SAAS;YACb,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,eAAe,EAAE,IAAI;gBACrB,wBAAwB,EAAE,IAAI;gBAC9B,4BAA4B,EAAE,IAAI;gBAClC,QAAQ,EAAE,IAAI;aACf;YACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAA0B;YACtC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;YACjD,eAAe,EAAE,MAAA,OAAO,CAAC,wBAAwB,mCAAI,CAAC;YACtD,4BAA4B,EAAE,OAAO,CACnC,OAAO,CAAC,4BAA4B,CACrC;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,GAAG,GAAG,6BAA6B;SAC/C,CAAC;QAEF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAqC;;QAM9D,MAAM,QAAQ,GAAkB,KAAK,CAAC,QAAQ;YAC5C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,CAAC,CAAC,KAAK,CAAC,MAAM;gBACZ,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC;QAEX,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpC,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEvC,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,IAAI;YAC9B,SAAS,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,IAAI;YAChC,QAAQ;SACT,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,MAAgB;;QAEhB,MAAM,GAAG,GAAW,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,MAAM,GAA2B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/D,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,GAAgB,MAAM,WAAW,CAAC,WAAW,CAAC;YACtD,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,EAAE,mCAAI,IAAI,CAAC;QAC3D,MAAM,KAAK,GAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,QAAQ,EAAE,mCAAI,IAAI,CAAC;QAE7D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE;YACtB,IAAI;YACJ,KAAK;YACL,SAAS,EAAE,GAAG,GAAG,iBAAiB;SACnC,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,gBAAgB,CACtB,KAAa,EACb,IAAY,EACZ,KAAqC;QAErC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAkB,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAyB,IAAI,CAAC,QAAQ,CAAW,YAAY,CAAC,CAAC;QAC1E,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACK,eAAe,CAA2B,IAKjD;;QACC,MAAM,YAAY,GAChB,MAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,0CAAE,YAAY,CAAC;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;gBACL,gBAAgB,EAAE,IAAI,CAAC,YAAY;gBACnC,cAAc,EAAE,IAAI,CAAC,UAAU;aAChC,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAkB,iBAAiB,CAAC,aAAa,CAClE,IAAI,CAAC,IAA2C,CAAC,YAAY,CAAC,MAAM,CAAC,CACvE,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB;;;;eAIG;YACH,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,gBAAgB,EAAE,YAAY,CAAC,YAAY;YAC3C,cAAc,EAAE,IAAI,QAAQ,CAAC,cAAc,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CACvB,KAAa;;QAEb,MAAM,QAAQ,GAAgB,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;QAE9D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,CAAA,MAAA,KAAK,CAAC,gBAAgB,0CAAE,aAAa,KAAI,EAAE,EAAE,CAAC;YAChE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,iBAAiB,CACvB,KAAa;QAEb,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAU,CAAC;QAChD,MAAM,gBAAgB,GACpB,mCAAmC,CAAC,KAAK,CAExC,CAAC;QAEJ,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAChD,MAAM,EAAE,GAAqC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACnE,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,oBAAoB,CAA2B,IAItD;QACC,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAgB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,OAAO,GAAkB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC;QACpE,MAAM,UAAU,GAA4B,IAAI,CAAC,IAGhD,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAY,UAAU,CAAC,MAAM,CAAC,CAAC;YAE1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,MAAM;gBACb,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;aAClD,CAAC,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAA2B,IAIjD;QACC,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAgB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,YAAY,GAChB,IAAI,CAAC,MAA4C,CAAC;QAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACpD,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAY,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAY,YAAY,CAAC,KAAK,CAAC,CAAC;YAE9C,IACE,IAAI,CAAC,cAAc,CAAC;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK;gBACL,QAAQ;gBACR,QAAQ;aACT,CAAC,EACF,CAAC;gBACD,SAAS;YACX,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;gBAC1D,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;aAC7C,CAAC,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,cAAc,CAA2B,IAKhD;QACC,MAAM,CAAC,GAAY,IAAI,CAAC,QAAQ,CAAC;QACjC,MAAM,CAAC,GAAY,IAAI,CAAC,QAAQ,CAAC;QAEjC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED;;;;;WAKG;QACH,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,eAAe,GACnB,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE9C,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,mBAAmB,CACzB,KAAa,EACb,KAAa;QAEb,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GACZ,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAEtC,IACE,CAAC,QAAQ;YACT,CAAC,QAAQ,CAAC,SAAS;YACnB,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;gBACvC,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,WAAW,CAAC,EAChD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,cAAc,CACpB,KAAa,EACb,KAAa,EACb,KAAc;QAEd,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED;;;;WAIG;QACH,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAW,EAAE;oBAC7C,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEO,0BAA0B,CAAC,KAAc;QAC/C,MAAM,EAAE,GAAkB,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEjE,kEAAkE;QAClE,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,SAAS,GAAe,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAE1C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,GAAkB,IAAI,CAAC,eAAe,CAC7C,KAAiC,CAAC,MAAM,CAAC,CAC3C,CAAC;YAEF,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CAAC,KAAc;QACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;QACD,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,gBAAgB,CAA2B,IAIxD;QACC,MAAM,cAAc,GAClB,IAAI,GAAG,EAAE,CAAC;QAEZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,GAAe,MAAoB,CAAC;YAC/C,MAAM,QAAQ,GAA+B,IAAI,CAAC,mBAAmB,CACnE,IAAI,CAAC,KAAK,EACV,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CACvB,CAAC;YAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAsB;gBACpC,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAChD,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACjD,CAAC;YAEF,MAAM,UAAU,GAAwB,IAAI,GAAG,EAAkB,CAAC;YAElE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAY,SAAS,CAAC,MAAM,CAAC,CAAC;gBAExC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBAED,MAAM,EAAE,GAAW,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,SAAS,GAAuB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEzD,IAAI,SAAS,EAAE,CAAC;oBACd,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,GAAqC,cAAc,CAAC,GAAG,CAChE,QAAQ,CAAC,SAAS,CACnB,CAAC;gBAEF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG;wBACR,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,GAAG,EAAE,IAAI,GAAG,EAAU;wBACtB,UAAU,EAAE,EAAE;qBACf,CAAC;oBACF,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,GAAW,yBAAyB,CAAC;QAEzD,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM;YACR,CAAC;YAED,MAAM,GAAG,GAAkB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CACtD,CAAC,EACD,gBAAgB,CACjB,CAAC;YACF,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC;YAE/B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAwB,MAAM,IAAI,CAAC,iBAAiB,CAAC;oBAC9D,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,GAAG;oBACH,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC,CAAC;gBAEH,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC3C,MAAM,IAAI,GAAuB,KAAK,CAAC,GAAG,CACxC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CACvC,CAAC;oBAEF,IAAI,IAAI,EAAE,CAAC;wBACT,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,sFAAsF,CACvF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,MAAM,UAAU,GAAmB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE1E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAkB,EAA2B,EAAE;YACvE,OAAO,CACL,SAAS,KAAK,IAAI;gBAClB,OAAO,SAAS,KAAK,QAAQ;gBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBACzB,OAAQ,SAAwB,CAAC,KAAK,CAAC,KAAK,QAAQ,CACrD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,iBAAiB,CAAC,IAI/B;QACC,MAAM,KAAK,GAAwB,IAAI,GAAG,EAAkB,CAAC;QAC7D,MAAM,GAAG,GAAkB,KAAK,CAAC,IAAI,CACnC,IAAI,GAAG,CACL,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAU,EAAU,EAAE;YAClC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC,CAAC,CACH,CACF,CAAC;QAEF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAc,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAErD,IAAI,YAAY,YAAY,IAAI,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,GAAkB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,IAAI,IAAI,CAAC;gBAE9D,IAAI,IAAI,EAAE,CAAC;oBACT,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAkB,YAAY,CAAC,eAAe,EAAE,CAAC;QAEnE,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAqB,MAAM,IAAI,CAAC,sBAAsB,CAC9D,IAAI,CAAC,SAAS,CACf,CAAC,MAAM,CAAC;YACP,KAAK,EAAE;gBACL,GAAG,EAAE,WAAW,CAAC,GAAG,CAClB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAU,EAAY,EAAE;oBAC/B,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC1B,CAAC,CAAC,CACH;gBACD,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS;aACX;YACrB,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAuB;YACtD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAkB,IAAI,CAAC,eAAe,CAC7C,GAA0C,CAAC,MAAM,CAAC,CACpD,CAAC;YAEF,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACpB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,SAA2B;QAE3B,IAAI,OAAO,GACT,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,eAAe,CAAY,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAA2B,KAAa;QAC7D,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QACD,OAAQ,KAAsD,CAAC,WAAW;aACvE,IAAI,CAAC;IACV,CAAC;IAEO,eAAe,CACrB,IAAY;QAEZ,MAAM,UAAU,GAA4B,IAG3C,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAkB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAEpE,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAA2B,IAI3D;;QACC,MAAM,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GACZ,MAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,0CAAE,oBAAoB,CAAC;QAEpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAA+B,IAAI,CAAC,mBAAmB,CACnE,IAAI,CAAC,KAAK,EACV,QAAQ,CACT,CAAC;QAEF,IACE,CAAC,QAAQ;YACT,CAAC,QAAQ,CAAC,SAAS;YACnB,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM;YACxC,CAAC,QAAQ,CAAC,uBAAuB,EACjC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAkB,iBAAiB,CAAC,aAAa,CAC7D,IAAI,CAAC,IAA2C,CAC/C,QAAQ,CAAC,uBAAuB,CACjC,CACF,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAwB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC9D,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,GAAG,EAAE,CAAC,SAAS,CAAC;gBAChB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YAEH,OAAO,MAAA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,mCAAI,IAAI,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,gFAAgF,CACjF,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,KAAc;QACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;QAED,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,eAAe,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"AuditLogService.js","sourceRoot":"","sources":["../../../../Server/Services/AuditLogService.ts"],"names":[],"mappings":"AACA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAClE,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAGhE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAG7D,OAAO,sBAAsB,MAAM,8CAA8C,CAAC;AAIlF,sDAAsD;AACtD,MAAM,CAAC,MAAM,gCAAgC,GAC3C,6EAA6E,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,eAAgB,SAAQ,wBAAkC;IACrE,YAAmB,kBAAmD;QACpE,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;OASG;IACa,KAAK,CAAC,UAAU,CAC9B,QAAgC;QAEhC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,sBAAsB,CAAC,gCAAgC,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,yBAAyB,CAAC,SAAmB;QAClD,MAAM,QAAQ,GAA4B,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,kEAAkE,CACnE,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAA2B,IAInD;QACC,MAAM,QAAQ,GAA4B,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAA2B,IAMnD;QACC,MAAM,QAAQ,GAA4B,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAA2B,IAKnD;QACC,MAAM,QAAQ,GAA4B,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,8EAA8E;IACtE,WAAW;QACjB,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;IACjD,CAAC;CACF;AAED,eAAe,IAAI,eAAe,EAAE,CAAC"}
@@ -15,6 +15,18 @@ import OneUptimeDate from "../../Types/Date";
15
15
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
16
16
  import Semaphore from "../Infrastructure/Semaphore";
17
17
  import logger from "../Utils/Logger";
18
+ import crypto from "crypto";
19
+ /*
20
+ * Random bytes in a license key generated by the server: 256 bits, written as
21
+ * 64 hex characters (the column holds 100). Keys issued before server-side
22
+ * generation are browser-made UUIDs and keep working unchanged.
23
+ */
24
+ export const ENTERPRISE_LICENSE_KEY_RANDOM_BYTES = 32;
25
+ export const generateEnterpriseLicenseKey = () => {
26
+ return crypto
27
+ .randomBytes(ENTERPRISE_LICENSE_KEY_RANDOM_BYTES)
28
+ .toString("hex");
29
+ };
18
30
  export const ENTERPRISE_LICENSE_USAGE_AGGREGATION_LOCK_NAMESPACE = "EnterpriseLicenseService.usageAggregation";
19
31
  export const ENTERPRISE_LICENSE_USAGE_AGGREGATION_LOCK_OPTIONS = Object.freeze({
20
32
  namespace: ENTERPRISE_LICENSE_USAGE_AGGREGATION_LOCK_NAMESPACE,
@@ -56,6 +68,22 @@ export class Service extends DatabaseService {
56
68
  }
57
69
  }
58
70
  }
71
+ /*
72
+ * A license created with no key (the Admin Dashboard's "leave blank to
73
+ * auto-generate") gets one from the server's CSPRNG here, instead of from
74
+ * the browser. A key typed by the admin is kept, trimmed: installations
75
+ * trim the key they send, so stored whitespace would make it unmatchable.
76
+ */
77
+ async onBeforeCreate(createBy) {
78
+ const providedKey = typeof createBy.data.licenseKey === "string"
79
+ ? createBy.data.licenseKey.trim()
80
+ : "";
81
+ createBy.data.licenseKey = providedKey || generateEnterpriseLicenseKey();
82
+ return {
83
+ createBy,
84
+ carryForward: undefined,
85
+ };
86
+ }
59
87
  async onCreateSuccess(_onCreate, createdItem) {
60
88
  /*
61
89
  * The outbound enterprise_license_issued conversion.
@@ -113,6 +141,12 @@ export class Service extends DatabaseService {
113
141
  return createdItem;
114
142
  }
115
143
  }
144
+ __decorate([
145
+ CaptureSpan(),
146
+ __metadata("design:type", Function),
147
+ __metadata("design:paramtypes", [Object]),
148
+ __metadata("design:returntype", Promise)
149
+ ], Service.prototype, "onBeforeCreate", null);
116
150
  __decorate([
117
151
  CaptureSpan(),
118
152
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"EnterpriseLicenseService.js","sourceRoot":"","sources":["../../../../Server/Services/EnterpriseLicenseService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnterpriseLicenseService.js","sourceRoot":"","sources":["../../../../Server/Services/EnterpriseLicenseService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG1E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,SAA6B,MAAM,6BAA6B,CAAC;AACxE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAW,EAAE,CAAC;AAE9D,MAAM,CAAC,MAAM,4BAA4B,GAAiB,GAAW,EAAE;IACrE,OAAO,MAAM;SACV,WAAW,CAAC,mCAAmC,CAAC;SAChD,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mDAAmD,GAC9D,2CAA2C,CAAC;AAE9C,MAAM,CAAC,MAAM,iDAAiD,GAIzD,MAAM,CAAC,MAAM,CAAC;IACjB,SAAS,EAAE,mDAAmD;IAC9D,WAAW,EAAE,KAAM;IACnB,cAAc,EAAE,KAAM;CACvB,CAAC,CAAC;AAEH,MAAM,OAAO,OAAQ,SAAQ,eAAkC;IAC7D;QACE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,2BAA2B,CAAU,IAGjD;QACC;;;;WAIG;QACH,MAAM,KAAK,GAAmB,MAAM,SAAS,CAAC,IAAI,iBAChD,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAC3B,iDAAiD,EACpD,CAAC;QAEH,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf;;;;;mBAKG;gBACH,MAAM,CAAC,KAAK,CACV,mEAAmE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,mCAAmC,KAAK,EAAE,CACvI,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IAEsB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAqC;QAErC,MAAM,WAAW,GACf,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ;YAC1C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YACjC,CAAC,CAAC,EAAE,CAAC;QAET,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,WAAW,IAAI,4BAA4B,EAAE,CAAC;QAEzE,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,SAAS;SACxB,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,SAAsC,EACtC,WAA8B;QAE9B;;;;;;;;;;;;;WAaG;QACH,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE;;YACvC,OAAO,kBAAkB,CAAC,UAAU,CAAC;gBACnC,SAAS,EAAE,kBAAkB,CAAC,uBAAuB;gBACrD,OAAO,EAAE,GAAG,kBAAkB,CAAC,uBAAuB,IAAI,MAAA,WAAW,CAAC,EAAE,0CAAE,QAAQ,EAAE,EAAE;gBACtF,UAAU,EAAE,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE;gBAC/C,KAAK,EAAE,MAAA,WAAW,CAAC,KAAK,0CAAE,QAAQ,EAAE;gBACpC;;;;;mBAKG;gBACH,IAAI,EAAE;oBACJ,mBAAmB,EAAE,CAAA,MAAA,WAAW,CAAC,EAAE,0CAAE,QAAQ,EAAE,KAAI,EAAE;oBACrD,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;oBAC1C,wBAAwB,EACtB,WAAW,CAAC,mBAAmB,KAAK,SAAS;wBAC7C,WAAW,CAAC,mBAAmB,KAAK,IAAI;wBACtC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,WAAW,CAAC,mBAAmB;oBACrC,QAAQ,EAAE,KAAK;oBACf,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC;oBAC7D,SAAS,EACP,WAAW,CAAC,SAAS,KAAK,SAAS;wBACnC,WAAW,CAAC,SAAS,KAAK,IAAI;wBAC5B,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,WAAW,CAAC,SAAS;oBAC3B;;;;;;;;uBAQG;oBACH,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC;iBAClE;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AA9E0B;IADxB,WAAW,EAAE;;;;6CAeb;AAGwB;IADxB,WAAW,EAAE;;6CAGC,iBAAiB;;8CA0D/B;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -13,8 +13,37 @@ import InMemoryTTLCache from "../Infrastructure/InMemoryTTLCache";
13
13
  import ObjectID from "../../Types/ObjectID";
14
14
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
15
15
  import BadDataException from "../../Types/Exception/BadDataException";
16
+ import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
16
17
  import TelegramVerificationToken from "../Utils/TelegramVerificationToken";
17
18
  import GlobalCache from "../Infrastructure/GlobalCache";
19
+ /*
20
+ * The columns that hold this installation's license state and identity. They
21
+ * are written only by OneUptime itself - the license client (activation,
22
+ * refresh, the daily usage report), the first-boot stamp of the Enterprise
23
+ * Edition and the data migrations - and every one of those writes runs with
24
+ * isRoot. A master admin reaches GlobalConfig through the generic CRUD API
25
+ * too, and master admins bypass the (empty) column ACLs, so without this list
26
+ * one PUT could forge a license expiry, raise the seat limit, restart the
27
+ * unlicensed trial or swap the instance id an instance-bound license
28
+ * is checked against.
29
+ *
30
+ * enterpriseLicenseNotificationEmail and enterpriseLicenseExpiryReminderDays
31
+ * are deliberately NOT here: they are settings the oneuptime.com admin edits
32
+ * from the Admin Dashboard.
33
+ */
34
+ export const ROOT_ONLY_LICENSE_COLUMNS = [
35
+ "instanceId",
36
+ "enterpriseCompanyName",
37
+ "enterpriseLicenseKey",
38
+ "enterpriseLicenseExpiresAt",
39
+ "enterpriseLicenseToken",
40
+ "enterpriseLicenseIsEvaluation",
41
+ "enterpriseLicenseUserLimit",
42
+ "enterpriseLicenseCurrentUserCount",
43
+ "enterpriseLicenseUserCountUpdatedAt",
44
+ "enterpriseLicenseInstances",
45
+ "enterpriseEditionFirstSeenAt",
46
+ ];
18
47
  const TELEGRAM_WEBHOOK_SECRET_CACHE_NAMESPACE = "global-config-security";
19
48
  const TELEGRAM_WEBHOOK_SECRET_GENERATION_KEY = "telegram-webhook-secret-generation";
20
49
  const TELEGRAM_WEBHOOK_SECRET_INITIAL_GENERATION = "initial";
@@ -145,7 +174,35 @@ export class Service extends DatabaseService {
145
174
  async rotateTelegramWebhookSecretTokenGeneration() {
146
175
  await GlobalCache.setString(TELEGRAM_WEBHOOK_SECRET_CACHE_NAMESPACE, TELEGRAM_WEBHOOK_SECRET_GENERATION_KEY, ObjectID.generate().toString());
147
176
  }
177
+ /*
178
+ * Refuses any write to ROOT_ONLY_LICENSE_COLUMNS that does not come from
179
+ * OneUptime itself. An explicit null counts as a write: clearing the license
180
+ * token is as much a forgery as setting one.
181
+ */
182
+ assertLicenseColumnsWrittenByRootOnly(data, props) {
183
+ if (props.isRoot) {
184
+ return;
185
+ }
186
+ const writtenColumns = ROOT_ONLY_LICENSE_COLUMNS.filter((column) => {
187
+ return (data[column] !== undefined);
188
+ }).map((column) => {
189
+ return column;
190
+ });
191
+ if (writtenColumns.length === 0) {
192
+ return;
193
+ }
194
+ throw new NotAuthorizedException(`${writtenColumns.join(", ")} can only be changed by OneUptime itself. ` +
195
+ "Use the license dialog in the Admin Dashboard to activate or refresh the Enterprise license.");
196
+ }
197
+ async onBeforeCreate(createBy) {
198
+ this.assertLicenseColumnsWrittenByRootOnly(createBy.data, createBy.props);
199
+ return {
200
+ createBy,
201
+ carryForward: null,
202
+ };
203
+ }
148
204
  async onBeforeUpdate(updateBy) {
205
+ this.assertLicenseColumnsWrittenByRootOnly(updateBy.data, updateBy.props);
149
206
  if (updateBy.data.telegramWebhookSecretToken !== undefined) {
150
207
  const secret = updateBy.data.telegramWebhookSecretToken;
151
208
  if (secret !== null &&
@@ -265,6 +322,12 @@ __decorate([
265
322
  __metadata("design:paramtypes", []),
266
323
  __metadata("design:returntype", Promise)
267
324
  ], Service.prototype, "getTelegramWebhookSecretToken", null);
325
+ __decorate([
326
+ CaptureSpan(),
327
+ __metadata("design:type", Function),
328
+ __metadata("design:paramtypes", [Object]),
329
+ __metadata("design:returntype", Promise)
330
+ ], Service.prototype, "onBeforeCreate", null);
268
331
  __decorate([
269
332
  CaptureSpan(),
270
333
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalConfigService.js","sourceRoot":"","sources":["../../../../Server/Services/GlobalConfigService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,0CAA0C,CAAC;AAC7D,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAC3E,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD,MAAM,uCAAuC,GAC3C,wBAAwB,CAAC;AAC3B,MAAM,sCAAsC,GAC1C,oCAAoC,CAAC;AACvC,MAAM,0CAA0C,GAAW,SAAS,CAAC;AACrE,MAAM,qCAAqC,GAAW,oBAAoB,CAAC;AAC3E,MAAM,yCAAyC,GAAW,CAAC,CAAC;AAY5D,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IAkBjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;QAlBf;;;;WAIG;QACK,4BAAuB,GAC7B,IAAI,gBAAgB,CAAC,KAAM,CAAC,CAAC;QAC/B;;;;;WAKG;QACK,mCAA8B,GAEtB,SAAS,CAAC;IAI1B,CAAC;IAED;;;OAGG;IAEU,AAAN,KAAK,CAAC,qBAAqB;QAChC,MAAM,GAAG,GAAW,QAAQ,CAAC;QAC7B,MAAM,MAAM,GAAwB,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;YACpC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAY,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAC,CAAC;QAC3D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAM,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAGY,AAAN,KAAK,CAAC,6BAA6B;QACxC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC;YACvD,MAAM,QAAQ,GACZ,IAAI,CAAC,qCAAqC,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,MAAM,GAAkB,MAAM,WAAW,CAAC,SAAS,CACvD,uCAAuC,EACvC,QAAQ,CACT,CAAC;YAEF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,KAAK,qCAAqC;oBACrD,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC;YACb,CAAC;YAED,MAAM,YAAY,GAChB,IAAI,CAAC,8BAA8B,CAAC;YAEtC;;;;eAIG;YACH,MAAM,IAAI,GACR,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,MAAK,UAAU;gBACrC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC;oBACE,UAAU;oBACV,OAAO,EAAE,IAAI,CAAC,8BAA8B,CAC1C,UAAU,EACV,QAAQ,CACT;iBACF,CAAC;YAER,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAyC,MAAM,IAAI,CAAC,OAAO,CAAC;gBAExE;;;;;mBAKG;gBACH,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBAC/B,OAAO,MAAM,CAAC,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT;;;mBAGG;gBACH,IAAI,IAAI,CAAC,8BAA8B,KAAK,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uCAAuC;QACnD,OAAO,CACL,CAAC,MAAM,WAAW,CAAC,SAAS,CAC1B,uCAAuC,EACvC,sCAAsC,CACvC,CAAC,IAAI,0CAA0C,CACjD,CAAC;IACJ,CAAC;IAEO,qCAAqC,CAAC,UAAkB;QAC9D,OAAO,2BAA2B,UAAU,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,UAAkB,EAClB,QAAgB;;QAEhB,MAAM,MAAM,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE;aAC3C;YACD,MAAM,EAAE;gBACN,0BAA0B,EAAE,IAAI;aACjC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QACH,MAAM,KAAK,GACT,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,0BAA0B,0CAAE,IAAI,EAAE,KAAI,SAAS,CAAC;QAE1D;;;;;WAKG;QACH,IAAI,UAAU,KAAK,CAAC,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,mBAAmB,EAAE,KAAK;aAC3B,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,CAAC,SAAS,CACzB,uCAAuC,EACvC,QAAQ,EACR,KAAK,IAAI,qCAAqC,EAC9C,EAAE,gBAAgB,EAAE,yCAAyC,EAAE,CAChE,CAAC;QAEF,OAAO;YACL,KAAK;YACL,mBAAmB,EACjB,UAAU,KAAK,CAAC,MAAM,IAAI,CAAC,uCAAuC,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,0CAA0C;QACtD,MAAM,WAAW,CAAC,SAAS,CACzB,uCAAuC,EACvC,sCAAsC,EACtC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAC/B,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAyB;QAEzB,IAAI,QAAQ,CAAC,IAAI,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAY,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAEjE,IACE,MAAM,KAAK,IAAI;gBACf,MAAM,KAAK,EAAE;gBACb,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EACxD,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,qHAAqH,CACtH,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,CAAC;YAED;;;;;;eAMG;YACH,MAAM,IAAI,CAAC,0CAA0C,EAAE,CAAC;QAC1D,CAAC;QAED,MAAM,mBAAmB,GAAuB;YAC9C,uCAAuC;YACvC,gDAAgD;YAChD,8BAA8B;YAC9B,uCAAuC;YACvC,oCAAoC;SACrC,CAAC;QAEF,MAAM,uBAAuB,GAAY,mBAAmB,CAAC,IAAI,CAC/D,CAAC,GAAgB,EAAW,EAAE;YAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QAC1C,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,OAAO;gBACL,QAAQ;gBACR,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,MAAM,aAAa,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YACvD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE;gBACN,8CAA8C,EAAE,IAAI;gBACpD,qCAAqC,EAAE,IAAI;gBAC3C,kCAAkC,EAAE,IAAI;aACzC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAkD,CACtE,KAAc,EACd,SAAiB,EACT,EAAE;YACV,IAAI,eAAe,GAAY,KAAK,CAAC;YAErC,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAW,eAAe,CAAC,IAAI,EAAE,CAAC;gBACpD,eAAe;oBACb,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5D,CAAC;YAED,IACE,OAAO,eAAe,KAAK,QAAQ;gBACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACjC,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;gBAClC,eAAe,GAAG,CAAC;gBACnB,eAAe,GAAG,GAAG,EACrB,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,GAAG,SAAS,wCAAwC,CACrD,CAAC;YACJ,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC;QAEF,IACE,QAAQ,CAAC,IAAI,CAAC,8CAA8C,KAAK,SAAS,EAC1E,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,8CAA8C;gBAC1D,gBAAgB,CACd,QAAQ,CAAC,IAAI;qBACV,8CAAyD,EAC5D,4CAA4C,CAC7C,CAAC;QACN,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,qCAAqC,KAAK,SAAS,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,qCAAqC,GAAG,gBAAgB,CACpE,QAAQ,CAAC,IAAI,CAAC,qCAAgD,EAC9D,mCAAmC,CACpC,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,kCAAkC,KAAK,SAAS,EAAE,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,kCAAkC,GAAG,gBAAgB,CACjE,QAAQ,CAAC,IAAI,CAAC,kCAA6C,EAC3D,gCAAgC,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,mBAAmB,GAKX,CACZ,YAAqB,EACrB,YAAgC,EAChC,YAAoB,EACpB,SAAiB,EACT,EAAE;YACV,MAAM,KAAK,GACT,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,YAAY,CAAC;YAEnC,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,mBAAmB,CACjB,QAAQ,CAAC,IAAI,CAAC,8CAA8C,EAC5D,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,8CAA8C,EAC7D,EAAE,EACF,4CAA4C,CAC7C,CAAC;QAEF,MAAM,uBAAuB,GAAW,mBAAmB,CACzD,QAAQ,CAAC,IAAI,CAAC,qCAAqC,EACnD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,qCAAqC,EACpD,EAAE,EACF,mCAAmC,CACpC,CAAC;QAEF,MAAM,oBAAoB,GAAW,mBAAmB,CACtD,QAAQ,CAAC,IAAI,CAAC,kCAAkC,EAChD,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,kCAAkC,EACjD,EAAE,EACF,gCAAgC,CACjC,CAAC;QAEF,IAAI,oBAAoB,IAAI,uBAAuB,EAAE,CAAC;YACpD,MAAM,IAAI,gBAAgB,CACxB,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ;YACR,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAyB,EACzB,eAAgC;QAEhC,IACG,QAAQ,CAAC,QAAQ,CAAC,IAAyC;aACzD,kBAAkB,KAAK,SAAS,EACnC,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;QAED,IACG,QAAQ,CAAC,QAAQ,CAAC,IAAiD;aACjE,0BAA0B,KAAK,SAAS,EAC3C,CAAC;YACD,MAAM,IAAI,CAAC,0CAA0C,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAvVc;IADZ,WAAW,EAAE;;;;oDAiBb;AAGY;IADZ,WAAW,EAAE;;;;4DA+Db;AAqEwB;IADxB,WAAW,EAAE;;;;6CA2Kb;AAGwB;IADxB,WAAW,EAAE;;6CAGK,KAAK;;8CAiBvB;AAGH,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"GlobalConfigService.js","sourceRoot":"","sources":["../../../../Server/Services/GlobalConfigService.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,55 @@ import MonitorService from "./MonitorService";
9
9
  import ProbeService from "./ProbeService";
10
10
  import { MonitorTypeHelper } from "../../Types/Monitor/MonitorType";
11
11
  import CronTab from "../Utils/CronTab";
12
- import logger from "../Utils/Logger";
12
+ import logger, { EXTERNAL_FAULT } from "../Utils/Logger";
13
13
  import { SubscriptionStatusUtil } from "../../Types/Billing/SubscriptionStatus";
14
+ import MonitoringIntervalValidator from "../Utils/Monitor/MonitoringIntervalValidator";
14
15
  export class Service extends DatabaseService {
15
16
  constructor() {
16
17
  super(MonitorProbe);
17
18
  }
19
+ /**
20
+ * The next time a monitor with this interval is due, or `fallback`.
21
+ *
22
+ * Exported on the class (and covered directly by tests) because both
23
+ * scheduling paths — the batch claim query and the single-monitor refresh
24
+ * after an edit — have to agree about what a stored interval means. They
25
+ * did not before: the claim query swallowed a parse failure silently and
26
+ * fell back to one minute, so a monitor asking for five minutes was probed
27
+ * four times more often than requested, indefinitely and invisibly.
28
+ *
29
+ * Order is load-bearing. cron-parser gets the RAW value first, so the
30
+ * thousands of rows that were always valid take a byte-identical path and
31
+ * anything the parser understands but our grammar does not ("@hourly") is
32
+ * still honoured. Only when that fails do we try to read the value as a
33
+ * human cadence ("5m", "Every 5 minutes"), which is what makes those rows
34
+ * schedule correctly on deploy — before the data migration has run, and
35
+ * for any row that later arrives through a hook-free write or a restore.
36
+ */
37
+ static resolveNextPingAt(data) {
38
+ if (!data.monitoringInterval) {
39
+ return data.fallback;
40
+ }
41
+ try {
42
+ return CronTab.getNextExecutionTime(data.monitoringInterval);
43
+ }
44
+ catch (_a) {
45
+ // Not a cron expression. Try to read it as a human cadence instead.
46
+ }
47
+ const normalizedCron = MonitoringIntervalValidator.normalizeForRead(data.monitoringInterval);
48
+ if (normalizedCron) {
49
+ try {
50
+ return CronTab.getNextExecutionTime(normalizedCron);
51
+ }
52
+ catch (_b) {
53
+ // Normalizer produced something cron-parser rejects. Report it.
54
+ }
55
+ }
56
+ if (data.onUnreadable) {
57
+ data.onUnreadable();
58
+ }
59
+ return data.fallback;
60
+ }
18
61
  async pruneStaleLastMonitoringLogEntries(data) {
19
62
  const validIdSet = new Set(data.validMonitorStepIds);
20
63
  const monitorProbes = await this.findBy({
@@ -62,7 +105,7 @@ export class Service extends DatabaseService {
62
105
  }
63
106
  }
64
107
  async updateNextPingAtForMonitor(data) {
65
- var _a, _b;
108
+ var _a;
66
109
  const monitorProbes = await this.findBy({
67
110
  query: {
68
111
  monitorId: data.monitorId,
@@ -84,15 +127,20 @@ export class Service extends DatabaseService {
84
127
  if (!monitorProbe.probeId) {
85
128
  continue;
86
129
  }
87
- let nextPing = OneUptimeDate.addRemoveMinutes(OneUptimeDate.getCurrentDate(), 1);
88
- try {
89
- nextPing = CronTab.getNextExecutionTime((_a = monitorProbe === null || monitorProbe === void 0 ? void 0 : monitorProbe.monitor) === null || _a === void 0 ? void 0 : _a.monitoringInterval);
90
- }
91
- catch (err) {
92
- logger.error(err, {
93
- monitorId: (_b = data.monitorId) === null || _b === void 0 ? void 0 : _b.toString(),
94
- });
95
- }
130
+ /*
131
+ * The falsy guard matters: a Manual monitor (and every other row with
132
+ * no interval) reaches here with undefined, and the old unguarded call
133
+ * handed that straight to cron-parser, which threw and logged an error
134
+ * for a perfectly ordinary row on every single interval edit.
135
+ */
136
+ const nextPing = Service.resolveNextPingAt({
137
+ monitoringInterval: (_a = monitorProbe === null || monitorProbe === void 0 ? void 0 : monitorProbe.monitor) === null || _a === void 0 ? void 0 : _a.monitoringInterval,
138
+ fallback: OneUptimeDate.addRemoveMinutes(OneUptimeDate.getCurrentDate(), 1),
139
+ onUnreadable: () => {
140
+ var _a, _b;
141
+ logger.error(`updateNextPingAtForMonitor: monitoringInterval "${(_a = monitorProbe === null || monitorProbe === void 0 ? void 0 : monitorProbe.monitor) === null || _a === void 0 ? void 0 : _a.monitoringInterval}" cannot be read as a schedule; falling back to a 1-minute cadence.`, Object.assign(Object.assign({}, EXTERNAL_FAULT), { monitorId: (_b = data.monitorId) === null || _b === void 0 ? void 0 : _b.toString() }));
142
+ },
143
+ });
96
144
  if (nextPing && monitorProbe.id) {
97
145
  await this.updateOneById({
98
146
  id: monitorProbe.id,
@@ -179,21 +227,46 @@ export class Service extends DatabaseService {
179
227
  const ids = [];
180
228
  const nextPingDates = [];
181
229
  const caseFragments = [];
230
+ /*
231
+ * Rows whose interval neither cron-parser nor the normalizer could
232
+ * read. Collected and logged ONCE per batch below rather than per
233
+ * row: this loop runs for every claimed monitor, every minute, on
234
+ * every probe-ingest instance, so a per-row log line would flood.
235
+ */
236
+ const unreadableIntervals = [];
182
237
  for (let i = 0; i < selectedRows.length; i++) {
183
238
  const row = selectedRows[i];
184
239
  ids.push(row._id);
185
240
  let nextPing = defaultNextPing;
186
241
  if (row.monitoringInterval) {
187
- try {
188
- nextPing = CronTab.getNextExecutionTime(row.monitoringInterval);
189
- }
190
- catch (_a) {
191
- // fall back to default 1 minute
192
- }
242
+ nextPing = Service.resolveNextPingAt({
243
+ monitoringInterval: row.monitoringInterval,
244
+ fallback: defaultNextPing,
245
+ onUnreadable: () => {
246
+ unreadableIntervals.push({
247
+ monitorProbeId: row._id,
248
+ monitoringInterval: row.monitoringInterval,
249
+ });
250
+ },
251
+ });
193
252
  }
194
253
  nextPingDates.push(nextPing);
195
254
  caseFragments.push(`WHEN '${row._id}'::uuid THEN $${i + 3}::timestamptz`);
196
255
  }
256
+ /*
257
+ * One aggregated line per batch, at error level with EXTERNAL_FAULT.
258
+ *
259
+ * Not debug: LOG_LEVEL=ERROR is what ships, so a debug or warn line
260
+ * here is deleted from stdout on exactly the installs where an
261
+ * operator would go looking. This condition used to be swallowed by
262
+ * a bare `catch {}`, which is why a monitor storing "5m" was probed
263
+ * every minute instead of every five for as long as the row existed,
264
+ * with nothing anywhere to grep for. EXTERNAL_FAULT marks it as
265
+ * tenant data rather than our own failure, so it does not page us.
266
+ */
267
+ if (unreadableIntervals.length > 0) {
268
+ logger.error(`claimMonitorProbesForProbing: ${unreadableIntervals.length} monitor(s) have a monitoringInterval that cannot be read as a schedule and are falling back to a 1-minute cadence. Fix the stored value - "*/5 * * * *" means every 5 minutes. Offenders: ${JSON.stringify(unreadableIntervals.slice(0, 20))}`, EXTERNAL_FAULT);
269
+ }
197
270
  const updateQuery = `
198
271
  UPDATE "MonitorProbe"
199
272
  SET "lastPingAt" = $1,
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorProbeService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorProbeService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorProbeService.js","sourceRoot":"","sources":["../../../../Server/Services/MonitorProbeService.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ import SortOrder from "../../Types/BaseDatabase/SortOrder";
36
36
  import { PlanType } from "../../Types/Billing/SubscriptionPlan";
37
37
  import LIMIT_MAX, { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
38
38
  import BadDataException from "../../Types/Exception/BadDataException";
39
+ import MonitoringIntervalValidator from "../Utils/Monitor/MonitoringIntervalValidator";
39
40
  import MonitorType, { MonitorTypeHelper, } from "../../Types/Monitor/MonitorType";
40
41
  import MonitorSteps from "../../Types/Monitor/MonitorSteps";
41
42
  import MonitorStep from "../../Types/Monitor/MonitorStep";
@@ -66,6 +67,7 @@ import { createWhatsAppMessageFromTemplate } from "../Utils/WhatsAppTemplateUtil
66
67
  import MonitorTemplateService from "./MonitorTemplateService";
67
68
  import RelationIdUtil from "../Utils/Database/RelationIdUtil";
68
69
  import OwnerRuleAssignment from "../Utils/Rules/OwnerRuleAssignment";
70
+ import HostAddressUtil from "../../Utils/HostAddressUtil";
69
71
  import NetworkDeviceMonitorTemplateUtil from "../../Utils/Monitor/NetworkDeviceMonitorTemplateUtil";
70
72
  const MONITOR_TEMPLATE_RELATION_KEYS = [
71
73
  "monitorTemplateId",
@@ -129,7 +131,17 @@ export class Service extends DatabaseService {
129
131
  ((_d = firstStep === null || firstStep === void 0 ? void 0 : firstStep.data) === null || _d === void 0 ? void 0 : _d.monitorDestinationPort)) {
130
132
  const port = firstStep.data.monitorDestinationPort.toString();
131
133
  if (monitorDestination && port) {
132
- monitorDestination = `${monitorDestination}:${port}`;
134
+ /*
135
+ * Bracketed when the host is an IPv6 literal. Plain
136
+ * concatenation there does not merely look odd: "2001:db8::1" +
137
+ * ":179" is "2001:db8::1:179", which is itself a valid IPv6
138
+ * address — a DIFFERENT host from the one being monitored, named
139
+ * in an alert somebody is about to act on.
140
+ */
141
+ monitorDestination = HostAddressUtil.formatHostAndPort({
142
+ host: monitorDestination,
143
+ port: port,
144
+ });
133
145
  }
134
146
  }
135
147
  // For SNMP monitors, use the hostname from snmpMonitor config
@@ -138,7 +150,10 @@ export class Service extends DatabaseService {
138
150
  monitorDestination = firstStep.data.snmpMonitor.hostname || "";
139
151
  const port = firstStep.data.snmpMonitor.port || 161;
140
152
  if (monitorDestination && port) {
141
- monitorDestination = `${monitorDestination}:${port}`;
153
+ monitorDestination = HostAddressUtil.formatHostAndPort({
154
+ host: monitorDestination,
155
+ port: port,
156
+ });
142
157
  }
143
158
  }
144
159
  // For DNS monitors, use the queryName from dnsMonitor config
@@ -159,7 +174,10 @@ export class Service extends DatabaseService {
159
174
  ((_h = firstStep === null || firstStep === void 0 ? void 0 : firstStep.data) === null || _h === void 0 ? void 0 : _h.sqlMonitor)) {
160
175
  const sql = firstStep.data.sqlMonitor;
161
176
  if (sql.host) {
162
- monitorDestination = `${sql.host}:${sql.port}/${sql.databaseName}`;
177
+ monitorDestination = `${HostAddressUtil.formatHostAndPort({
178
+ host: sql.host,
179
+ port: sql.port,
180
+ })}/${sql.databaseName}`;
163
181
  }
164
182
  }
165
183
  // For Database Health monitors, show host:port/database (never the credentials).
@@ -167,7 +185,10 @@ export class Service extends DatabaseService {
167
185
  ((_j = firstStep === null || firstStep === void 0 ? void 0 : firstStep.data) === null || _j === void 0 ? void 0 : _j.databaseMonitor)) {
168
186
  const database = firstStep.data.databaseMonitor;
169
187
  if (database.host) {
170
- monitorDestination = `${database.host}:${database.port}/${database.databaseName}`;
188
+ monitorDestination = `${HostAddressUtil.formatHostAndPort({
189
+ host: database.host,
190
+ port: database.port,
191
+ })}/${database.databaseName}`;
171
192
  }
172
193
  }
173
194
  }
@@ -451,6 +472,15 @@ export class Service extends DatabaseService {
451
472
  const currentMonitorStatusId = resolveReferenceId(updateBy.data.currentMonitorStatusId) ||
452
473
  resolveReferenceId(updateBy.data.currentMonitorStatus);
453
474
  const updateDataKeys = Object.keys(updateBy.data || {});
475
+ /*
476
+ * Key presence, never truthiness or the stored value: renaming one of
477
+ * the monitors that already holds a broken interval sends only {name},
478
+ * and gating on the stored value would make those monitors un-editable
479
+ * — punishing the customer for our validation gap.
480
+ */
481
+ if (updateDataKeys.includes("monitoringInterval")) {
482
+ updateBy.data["monitoringInterval"] = MonitoringIntervalValidator.validateAndNormalize(updateBy.data.monitoringInterval);
483
+ }
454
484
  const isMonitorStepsWritten = updateDataKeys.includes("monitorSteps");
455
485
  const isMonitorTemplateWritten = RelationIdUtil.isWritten(updateDataKeys, MONITOR_TEMPLATE_RELATION_KEYS);
456
486
  if (isMonitorStepsWritten || isMonitorTemplateWritten) {
@@ -1011,6 +1041,17 @@ export class Service extends DatabaseService {
1011
1041
  if (!createBy.props.tenantId) {
1012
1042
  throw new BadDataException("ProjectId required to create monitor.");
1013
1043
  }
1044
+ /*
1045
+ * Canonicalize the monitoring interval before anything is persisted.
1046
+ *
1047
+ * Gated on key presence, not truthiness: createBy.data is a model
1048
+ * INSTANCE whose columns are all declared `= undefined`, and null is a
1049
+ * meaningful value here ("no schedule"), so a truthiness test would skip
1050
+ * exactly the writes that need checking.
1051
+ */
1052
+ if (createBy.data.monitoringInterval !== undefined) {
1053
+ createBy.data["monitoringInterval"] = MonitoringIntervalValidator.validateAndNormalize(createBy.data.monitoringInterval);
1054
+ }
1014
1055
  /*
1015
1056
  * Validate the request's shape before consulting billing. A conflicting
1016
1057
  * Monitor Template reference, or one hidden by the caller's read scope, is