@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":"TelemetryViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/TelemetryViewer/TelemetryViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelemetryViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/TelemetryViewer/TelemetryViewer.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ENTERPRISE_LICENSE_GRACE_PERIOD_IN_DAYS } from "../../Types/EnterpriseLicense/EnterpriseLicensePeriods";
1
2
  import EnterpriseLicenseUserCountSource from "../../Types/EnterpriseLicense/EnterpriseLicenseUserCountSource";
2
3
  class EnterpriseLicenseUsageUtil {
3
4
  /*
@@ -218,9 +219,12 @@ EnterpriseLicenseUsageUtil.defaultExpiryReminderDays = 45;
218
219
  /*
219
220
  * Expired licenses keep getting a daily "expired" email for this many
220
221
  * days after expiry, then go quiet — an abandoned license should not be
221
- * emailed forever.
222
+ * emailed forever. It has to outlast the grace period by a clear margin:
223
+ * the email that says single sign-on, SCIM provisioning and audit logging
224
+ * have now stopped is only worth sending after they have, which is when
225
+ * the grace period ends.
222
226
  */
223
- EnterpriseLicenseUsageUtil.expiredNotificationCutoffDays = 30;
227
+ EnterpriseLicenseUsageUtil.expiredNotificationCutoffDays = ENTERPRISE_LICENSE_GRACE_PERIOD_IN_DAYS + 14;
224
228
  /*
225
229
  * An instance is inactive once it has gone this many complete days without
226
230
  * communicating with oneuptime.com. Inactive instances stay visible, but
@@ -1 +1 @@
1
- {"version":3,"file":"EnterpriseLicenseUsage.js","sourceRoot":"","sources":["../../../../Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnterpriseLicenseUsage.js","sourceRoot":"","sources":["../../../../Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import IP from "../Types/IP/IP";
2
+ /*
3
+ * The two things every caller that holds a host string needs to get right
4
+ * when that host might be an IPv6 literal, in one place.
5
+ *
6
+ * Both are pure text problems that only exist for IPv6, which is exactly why
7
+ * they kept being got wrong one call site at a time:
8
+ *
9
+ * 1. BRACKETS ARE URL SYNTAX, NOT PART OF THE ADDRESS. "[2001:db8::1]" is
10
+ * how RFC 3986 writes an IPv6 host inside a URL authority, and that is
11
+ * the form URL.fromString and Hostname.fromAuthority hand back. Node
12
+ * does NOT strip them: net.connect({host: "[::1]"}) and
13
+ * https.get({host: "[::1]"}) both go to the resolver and come back
14
+ * ENOTFOUND, and `ping [::1]` fails the same way. An IPv4 host never
15
+ * carries brackets, so every one of those call sites worked until
16
+ * somebody pointed it at IPv6.
17
+ *
18
+ * 2. "host:port" IS AMBIGUOUS FOR IPv6, AND NOT IN A WAY THAT LOOKS WRONG.
19
+ * "192.0.2.1:179" cannot be mistaken for an address. Appending ":179" to
20
+ * "2001:518:2800:9::2" produces "2001:518:2800:9::2:179", which node's
21
+ * net.isIP() reports as a PERFECTLY VALID IPv6 address - a different
22
+ * host from the one that was meant. So the unbracketed spelling does not
23
+ * merely read oddly, it silently renames the target.
24
+ */
25
+ export default class HostAddressUtil {
26
+ /*
27
+ * True when the value is an IPv6 literal, written bare ("2001:db8::1") or
28
+ * bracketed ("[2001:db8::1]"). Anything else - a DNS name, an IPv4 literal,
29
+ * an authority with a port - is false.
30
+ */
31
+ static isIPv6(host) {
32
+ const bare = HostAddressUtil.stripBrackets(host);
33
+ if (!bare) {
34
+ return false;
35
+ }
36
+ return IP.isIP(bare) && new IP(bare).isIPv6();
37
+ }
38
+ /*
39
+ * The address to hand to a socket, a resolver or the ping binary: the same
40
+ * host with any IPv6 URL brackets removed.
41
+ *
42
+ * Brackets are only removed when what is inside them really is an IPv6
43
+ * address. "[not-an-address]" is returned untouched so it fails validation
44
+ * downstream as the nonsense it is, rather than being quietly laundered
45
+ * into a bare hostname.
46
+ */
47
+ static stripBrackets(host) {
48
+ const trimmed = (host || "").trim();
49
+ if (!trimmed.startsWith("[") || !trimmed.endsWith("]")) {
50
+ return trimmed;
51
+ }
52
+ const inner = trimmed.substring(1, trimmed.length - 1);
53
+ if (!inner || !IP.isIP(inner) || !new IP(inner).isIPv6()) {
54
+ return trimmed;
55
+ }
56
+ return inner;
57
+ }
58
+ /*
59
+ * The authority form: an IPv6 host is bracketed so the ":" before the port
60
+ * cannot be read as another group of the address. Already-bracketed input
61
+ * is not bracketed twice.
62
+ *
63
+ * A missing/empty port returns the host on its own, bare. That is
64
+ * deliberate: a port-less destination is stored and pinged as the address
65
+ * itself, and wrapping it in brackets there would change what is written to
66
+ * the database and shown to the user for no benefit - the ambiguity this
67
+ * guards against only exists once a ":port" is appended.
68
+ */
69
+ static formatHostAndPort(data) {
70
+ const bare = HostAddressUtil.stripBrackets(data.host);
71
+ const port = data.port === undefined || data.port === null ? "" : String(data.port);
72
+ if (!port) {
73
+ return bare;
74
+ }
75
+ return HostAddressUtil.isIPv6(bare)
76
+ ? `[${bare}]:${port}`
77
+ : `${bare}:${port}`;
78
+ }
79
+ }
80
+ //# sourceMappingURL=HostAddressUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HostAddressUtil.js","sourceRoot":"","sources":["../../../Utils/HostAddressUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,IAAY;QAC/B,MAAM,IAAI,GAAW,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,aAAa,CAAC,IAAY;QACtC,MAAM,OAAO,GAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,KAAK,GAAW,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAG/B;QACC,MAAM,IAAI,GAAW,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE;YACrB,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -0,0 +1,127 @@
1
+ import Hostname from "../../Types/API/Hostname";
2
+ import URL from "../../Types/API/URL";
3
+ import Exception from "../../Types/Exception/Exception";
4
+ import IP from "../../Types/IP/IP";
5
+ import MonitorType from "../../Types/Monitor/MonitorType";
6
+ import HostAddressUtil from "../HostAddressUtil";
7
+ /*
8
+ * Turns what somebody typed (or, far more often, PASTED) into the monitor
9
+ * destination for a monitor type, or into the reason it cannot be one.
10
+ *
11
+ * Lives here rather than inline in the dashboard form so the parsing is
12
+ * testable on its own — the form's job is state, not address syntax.
13
+ *
14
+ * Two IPv6 shapes have to be handled that IPv4 never needed, and getting
15
+ * either wrong is SILENT rather than loud:
16
+ *
17
+ * - SURROUNDING WHITESPACE. An address copied out of a looking glass, a
18
+ * router config or a terminal usually arrives with a trailing space or a
19
+ * newline. IP.isIP deliberately does not trim, so " 2001:db8::1" was not
20
+ * an IP; it fell through to Hostname.fromString, which split it on the
21
+ * first colon into host "2001" / port 518 — a legal Port, so nothing
22
+ * threw, no error appeared, and the monitor saved was pointed at a host
23
+ * called "2001". The IPv4 equivalent, "1.1.1.1 ", has no colon and
24
+ * Hostname trims, so it always worked. That asymmetry is the whole bug:
25
+ * the same paste that works for v4 corrupts v6.
26
+ *
27
+ * - BRACKETS. "[2001:db8::1]" is how an IPv6 host is written inside a URL,
28
+ * so it is what people have in front of them. For a Ping/IP/Port
29
+ * destination there is no URL, so the brackets are noise and are dropped
30
+ * — rather than rejected with "Hostname [2001 is not in valid format".
31
+ */
32
+ export default class MonitorDestinationUtil {
33
+ static parse(data) {
34
+ const value = (data.value || "").trim();
35
+ if (!value) {
36
+ return { destination: undefined, error: "Destination is required" };
37
+ }
38
+ try {
39
+ switch (data.monitorType) {
40
+ case MonitorType.IP:
41
+ return {
42
+ destination: IP.fromString(HostAddressUtil.stripBrackets(value)),
43
+ error: null,
44
+ };
45
+ case MonitorType.Ping:
46
+ case MonitorType.Port: {
47
+ const host = HostAddressUtil.stripBrackets(value);
48
+ if (IP.isIP(host)) {
49
+ return { destination: IP.fromString(host), error: null };
50
+ }
51
+ /*
52
+ * A trailing colon is a port that was not typed, and
53
+ * Hostname.fromAuthority DROPS it — deliberately, because a stored
54
+ * "host:" should still read back as a host. Here that would be the
55
+ * same class of bug this whole file exists to stop: "2001:" would
56
+ * be stored as "2001", which is not what anybody typed. Say so
57
+ * instead.
58
+ */
59
+ if (host.endsWith(":")) {
60
+ return {
61
+ destination: undefined,
62
+ error: `${value} is not a valid hostname or IP address.`,
63
+ };
64
+ }
65
+ /*
66
+ * Not an address, so it is a name — possibly with a ":port", which
67
+ * is what someone pasting "rs1.example.net:179" means.
68
+ *
69
+ * fromAuthority rather than `new Hostname`: the constructor accepts
70
+ * a whole authority and stores it as the HOST, so the destination
71
+ * would be a host literally named "rs1.example.net:179" and the
72
+ * socket would go looking for it in DNS. fromAuthority splits the
73
+ * port off properly, and — unlike the fromString this used to
74
+ * call — leaves a bare IPv6 literal alone.
75
+ */
76
+ return { destination: Hostname.fromAuthority(host), error: null };
77
+ }
78
+ case MonitorType.Website:
79
+ case MonitorType.API:
80
+ case MonitorType.SSLCertificate:
81
+ return {
82
+ destination: URL.fromString(MonitorDestinationUtil.toUrlWithBracketedIpv6Host(value)),
83
+ error: null,
84
+ };
85
+ default:
86
+ return { destination: undefined, error: null };
87
+ }
88
+ }
89
+ catch (err) {
90
+ return {
91
+ destination: undefined,
92
+ error: err instanceof Exception
93
+ ? err.getMessage()
94
+ : (err === null || err === void 0 ? void 0 : err.message) || "Invalid Destination",
95
+ };
96
+ }
97
+ }
98
+ /*
99
+ * A URL whose host is a BARE IPv6 literal is not a URL: "https://2001:db8::1/"
100
+ * has to be written "https://[2001:db8::1]/", because otherwise the first
101
+ * colon reads as the port separator. Node's own URL parser, axios and every
102
+ * browser reject the bare form, so a Website or API monitor saved with one
103
+ * failed permanently with an opaque target error.
104
+ *
105
+ * Brackets the host when it needs them, and leaves every other URL — every
106
+ * IPv4 and DNS one — byte for byte alone.
107
+ */
108
+ static toUrlWithBracketedIpv6Host(value) {
109
+ const trimmed = value.trim();
110
+ const schemeMatch = trimmed.match(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)(.*)$/);
111
+ const scheme = schemeMatch ? schemeMatch[1] : "";
112
+ const rest = schemeMatch ? schemeMatch[2] : trimmed;
113
+ // The authority ends at the first "/", "?" or "#".
114
+ const authorityEnd = rest.search(/[/?#]/);
115
+ const authority = authorityEnd === -1 ? rest : rest.substring(0, authorityEnd);
116
+ const remainder = authorityEnd === -1 ? "" : rest.substring(authorityEnd);
117
+ // Userinfo is not a host; everything after the last "@" is.
118
+ const atIndex = authority.lastIndexOf("@");
119
+ const userInfo = atIndex === -1 ? "" : authority.substring(0, atIndex + 1);
120
+ const host = authority.substring(atIndex + 1);
121
+ if (!HostAddressUtil.isIPv6(host) || host.startsWith("[")) {
122
+ return trimmed;
123
+ }
124
+ return `${scheme}${userInfo}[${host}]${remainder}`;
125
+ }
126
+ }
127
+ //# sourceMappingURL=MonitorDestinationUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorDestinationUtil.js","sourceRoot":"","sources":["../../../../Utils/Monitor/MonitorDestinationUtil.ts"],"names":[],"mappings":"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"}