@oneuptime/common 12.0.28 → 12.0.30

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 (367) hide show
  1. package/Models/DatabaseModels/DashboardDomain.ts +43 -0
  2. package/Models/DatabaseModels/Index.ts +11 -0
  3. package/Models/DatabaseModels/MonitorTemplate.ts +15 -3
  4. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +43 -0
  5. package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +662 -0
  6. package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +584 -0
  7. package/Models/DatabaseModels/StatusPageDomain.ts +43 -0
  8. package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +546 -0
  9. package/Models/DatabaseModels/UserOnCallShiftReminder.ts +231 -0
  10. package/Models/DatabaseModels/UserOnCallShiftReminderLog.ts +331 -0
  11. package/Server/API/DashboardDomainAPI.ts +74 -0
  12. package/Server/API/MicrosoftTeamsAPI.ts +81 -180
  13. package/Server/API/OnCallCalendarAPI.ts +2194 -0
  14. package/Server/API/StatusPageDomainAPI.ts +74 -0
  15. package/Server/EnvironmentConfig.ts +138 -0
  16. package/Server/Infrastructure/OnCallCalendarFeedCache.ts +1050 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.ts +43 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.ts +40 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.ts +253 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  21. package/Server/Middleware/OnCallCalendarFeedRateLimit.ts +487 -0
  22. package/Server/Middleware/ProjectAuthorization.ts +6 -1
  23. package/Server/Services/DashboardDomainService.ts +131 -0
  24. package/Server/Services/Index.ts +12 -0
  25. package/Server/Services/LogPipelineProcessorService.ts +88 -0
  26. package/Server/Services/MonitorTemplateService.ts +70 -11
  27. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +32 -0
  28. package/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts +260 -0
  29. package/Server/Services/OnCallDutyPolicyScheduleLayerService.ts +70 -3
  30. package/Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts +138 -3
  31. package/Server/Services/OnCallDutyPolicyScheduleService.ts +1465 -134
  32. package/Server/Services/OnCallDutyPolicyUserOverrideService.ts +167 -31
  33. package/Server/Services/ProjectOnCallCalendarFeedService.ts +192 -0
  34. package/Server/Services/StatusPageDomainService.ts +163 -3
  35. package/Server/Services/StatusPagePrivateUserSessionService.ts +197 -56
  36. package/Server/Services/TeamMemberService.ts +489 -1
  37. package/Server/Services/TeamService.ts +50 -0
  38. package/Server/Services/UserNotificationSettingService.ts +44 -1
  39. package/Server/Services/UserOnCallCalendarFeedService.ts +159 -0
  40. package/Server/Services/UserOnCallShiftReminderLogService.ts +151 -0
  41. package/Server/Services/UserOnCallShiftReminderService.ts +112 -0
  42. package/Server/Types/Domain.ts +17 -0
  43. package/Server/Utils/APIKey/AccessPermission.ts +24 -0
  44. package/Server/Utils/Greenlock/Greenlock.ts +156 -58
  45. package/Server/Utils/LogPipelineProcessorValidation.ts +112 -0
  46. package/Server/Utils/OnCall/CalendarFeedToken.ts +241 -0
  47. package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1488 -0
  48. package/Server/Utils/OnCall/OnCallCalendarFeedUrls.ts +230 -0
  49. package/Server/Utils/OnCall/OnCallShiftChangeListeners.ts +227 -0
  50. package/Server/Utils/OnCall/OnCallShiftMaterializer.ts +1127 -0
  51. package/Server/Utils/OnCall/OnCallShiftReminderListener.ts +174 -0
  52. package/Server/Utils/OnCall/OnCallShiftReminderRunner.ts +2584 -0
  53. package/Server/Utils/Response.ts +134 -0
  54. package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.ts +1094 -45
  55. package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +153 -17
  56. package/Server/Utils/StartServer.ts +10 -0
  57. package/Server/Utils/Telemetry/AppMetrics.ts +51 -0
  58. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.ts +23 -11
  59. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.ts +0 -170
  60. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.ts +158 -0
  61. package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +23 -11
  62. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +35 -13
  63. package/Tests/App/Dashboard/MonitorTemplateColumnAndFacet.test.tsx +505 -0
  64. package/Tests/App/Dashboard/OnCallCalendarFeedLinks.test.tsx +229 -0
  65. package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +489 -0
  66. package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +149 -0
  67. package/Tests/App/Dashboard/OnCallCalendarFeedUtil.test.ts +855 -0
  68. package/Tests/App/Dashboard/OnCallPersonalCalendarFeed.test.tsx +1209 -0
  69. package/Tests/App/Dashboard/OnCallSharedCalendarFeedCard.test.tsx +1019 -0
  70. package/Tests/App/Dashboard/OnCallShiftRemindersAndUpcomingShifts.test.tsx +655 -0
  71. package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +73 -0
  72. package/Tests/App/StatusPage/StatusPageLoginCodeBootstrap.test.ts +106 -0
  73. package/Tests/App/StatusPage/StatusPageLoginCodeUtil.test.ts +84 -0
  74. package/Tests/App/StatusPage/StatusPageRedirectSafety.test.ts +119 -0
  75. package/Tests/Models/MonitorTemplateMonitorNameColumn.test.ts +258 -0
  76. package/Tests/Models/OnCallCalendarFeedModels.test.ts +642 -0
  77. package/Tests/Models/OnCallDutyPolicyScheduleCalendarFeed.test.ts +288 -0
  78. package/Tests/Models/OnCallDutyPolicyScheduleShiftConfigVersion.test.ts +88 -0
  79. package/Tests/Models/UserOnCallShiftReminderModels.test.ts +368 -0
  80. package/Tests/Server/API/CustomDomainReissueSslAPI.test.ts +469 -0
  81. package/Tests/Server/API/Helpers.ts +8 -0
  82. package/Tests/Server/API/MicrosoftTeamsBotMessagesEndpoint.test.ts +729 -0
  83. package/Tests/Server/API/MicrosoftTeamsBotTestEndpoint.test.ts +26 -0
  84. package/Tests/Server/API/MicrosoftTeamsLegacyWebhookRemoval.test.ts +402 -0
  85. package/Tests/Server/API/OnCallCalendarAPI.test.ts +4461 -0
  86. package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +357 -0
  87. package/Tests/Server/Infrastructure/OnCallCalendarFeedCache.test.ts +1589 -0
  88. package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +369 -0
  89. package/Tests/Server/Middleware/OnCallCalendarFeedRateLimit.test.ts +1365 -0
  90. package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +4 -0
  91. package/Tests/Server/Services/AddCertificateReissueRequestedAtToDomainsMigration.test.ts +287 -0
  92. package/Tests/Server/Services/CustomDomainCertificateReissue.test.ts +477 -0
  93. package/Tests/Server/Services/FeedRetentionConsistency.test.ts +70 -0
  94. package/Tests/Server/Services/LogPipelineProcessorSaveValidation.test.ts +249 -0
  95. package/Tests/Server/Services/MonitorTemplateServiceBulkSync.test.ts +549 -0
  96. package/Tests/Server/Services/MonitorTemplateServiceNetworkDeviceSync.test.ts +16 -3
  97. package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +57 -0
  98. package/Tests/Server/Services/OnCallCalendarFeedServices.test.ts +1103 -0
  99. package/Tests/Server/Services/OnCallDutyPolicyScheduleResolver.test.ts +1037 -0
  100. package/Tests/Server/Services/OnCallShiftConfigPropagation.test.ts +1270 -0
  101. package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +151 -15
  102. package/Tests/Server/Services/StatusPagePrivateUserSessionService.test.ts +587 -0
  103. package/Tests/Server/Services/TeamDeleteMemberCleanup.test.ts +156 -0
  104. package/Tests/Server/Services/TeamMemberOnCallCleanup.test.ts +755 -0
  105. package/Tests/Server/Services/UserNotificationSettingShiftReminderDefaults.test.ts +267 -0
  106. package/Tests/Server/Services/UserOnCallShiftReminderServices.test.ts +583 -0
  107. package/Tests/Server/Types/Database/Permissions/ApiKeyFileAccess.test.ts +286 -0
  108. package/Tests/Server/Types/Database/Permissions/MonitorTemplateColumnAccess.test.ts +328 -0
  109. package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +254 -0
  110. package/Tests/Server/Types/Database/QueryHelperFindWithSameTextAndIsNull.test.ts +83 -0
  111. package/Tests/Server/Utils/AI/SRE/ConfidenceSignal.test.ts +377 -0
  112. package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +16 -1
  113. package/Tests/Server/Utils/Greenlock/CertificateRenewalSchedule.test.ts +250 -0
  114. package/Tests/Server/Utils/LogPipelineProcessorValidation.test.ts +198 -0
  115. package/Tests/Server/Utils/OnCall/CalendarFeedToken.test.ts +467 -0
  116. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedRenderer.test.ts +2142 -0
  117. package/Tests/Server/Utils/OnCall/OnCallCalendarFeedUrls.test.ts +278 -0
  118. package/Tests/Server/Utils/OnCall/OnCallResolverTestHarness.ts +440 -0
  119. package/Tests/Server/Utils/OnCall/OnCallShiftChangeListeners.test.ts +314 -0
  120. package/Tests/Server/Utils/OnCall/OnCallShiftMaterializer.test.ts +1502 -0
  121. package/Tests/Server/Utils/OnCall/OnCallShiftReminderListener.test.ts +491 -0
  122. package/Tests/Server/Utils/OnCall/OnCallShiftReminderRunner.test.ts +3088 -0
  123. package/Tests/Server/Utils/OnCall/OnCallShiftReminderTestHarness.ts +910 -0
  124. package/Tests/Server/Utils/ResponseSendCalendarResponse.test.ts +561 -0
  125. package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +48 -9
  126. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsAuth.test.ts +726 -0
  127. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsClient.test.ts +74 -11
  128. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsErrorHandling.test.ts +1107 -0
  129. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +20 -3
  130. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +51 -11
  131. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerHardening.test.ts +1246 -0
  132. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsRequestContract.test.ts +961 -0
  133. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsResponseParsing.test.ts +653 -0
  134. package/Tests/Server/Utils/StartServerEncryptionSecretWarning.test.ts +64 -0
  135. package/Tests/Server/Utils/Telemetry/AppMetrics.test.ts +29 -0
  136. package/Tests/Server/Utils/Workspace/MicrosoftTeamsActionAuthorization.test.ts +880 -0
  137. package/Tests/Types/API/HTTPResponse.test.ts +175 -0
  138. package/Tests/Types/API/Route.test.ts +36 -4
  139. package/Tests/Types/Calendar/ICalendar.test.ts +488 -0
  140. package/Tests/Types/Database/DatabaseProperty.test.ts +171 -0
  141. package/Tests/Types/DateLocalShortDateTimeString.test.ts +518 -0
  142. package/Tests/Types/DateLocalTimeString.test.ts +259 -0
  143. package/Tests/Types/DateUserPrefers12HourFormat.test.ts +316 -0
  144. package/Tests/Types/NotificationSetting/NotificationSettingEventType.test.ts +53 -0
  145. package/Tests/Types/OnCallDutyPolicy/CalendarFeedTestFixtures.ts +310 -0
  146. package/Tests/Types/OnCallDutyPolicy/CalendarFeedWindow.test.ts +205 -0
  147. package/Tests/Types/OnCallDutyPolicy/LayerUtilLayerMetaAndIterationCap.test.ts +458 -0
  148. package/Tests/Types/OnCallDutyPolicy/MaterializedShift.test.ts +197 -0
  149. package/Tests/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.test.ts +1986 -0
  150. package/Tests/Types/OnCallDutyPolicy/ScheduleShiftUtilGroupKey.test.ts +678 -0
  151. package/Tests/Types/OnCallDutyPolicy/ShiftSeamUtil.test.ts +417 -0
  152. package/Tests/UI/Components/LogsHistogram.test.tsx +41 -2
  153. package/Tests/UI/Components/LogsViewerEmptyStateTimeRange.test.tsx +212 -0
  154. package/Tests/UI/Components/TelemetryChartClockFormat.test.tsx +359 -0
  155. package/Tests/UI/Components/TimeRangePickerClockFormat.test.tsx +422 -0
  156. package/Tests/UI/Components/TimeRangePickerDropdown.test.tsx +146 -8
  157. package/Tests/UI/MicrosoftTeams/MicrosoftTeamsMessagingEndpointGuidance.test.tsx +520 -0
  158. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
  159. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
  160. package/Tests/UI/Utils/Navigation.test.ts +82 -0
  161. package/Tests/Utils/Array.test.ts +100 -0
  162. package/Tests/Utils/CertificateReissue.test.ts +225 -0
  163. package/Tests/Utils/Grok/Grok.test.ts +492 -0
  164. package/Tests/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.test.ts +181 -13
  165. package/Types/API/Route.ts +20 -5
  166. package/Types/Calendar/ICalendar.ts +442 -0
  167. package/Types/Date.ts +143 -13
  168. package/Types/Email/EmailTemplateType.ts +2 -0
  169. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  170. package/Types/OnCallDutyPolicy/CalendarFeedWindow.ts +140 -0
  171. package/Types/OnCallDutyPolicy/Layer.ts +190 -35
  172. package/Types/OnCallDutyPolicy/MaterializedShift.ts +274 -0
  173. package/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.ts +1415 -0
  174. package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +159 -4
  175. package/Types/OnCallDutyPolicy/ShiftSeamUtil.ts +106 -0
  176. package/Types/Rum/SessionReplay.ts +62 -1
  177. package/UI/Components/Date/TimeRangePickerDropdown.tsx +9 -5
  178. package/UI/Components/LogsViewer/LogsViewer.tsx +12 -7
  179. package/UI/Components/LogsViewer/components/HistogramTooltip.tsx +18 -17
  180. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +21 -28
  181. package/UI/Components/LogsViewer/components/LogsHistogram.tsx +2 -4
  182. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +2 -4
  183. package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +17 -16
  184. package/UI/Utils/Navigation.ts +42 -0
  185. package/Utils/Array.ts +37 -0
  186. package/Utils/CertificateReissue.ts +128 -0
  187. package/Utils/Grok/Grok.ts +461 -0
  188. package/Utils/Grok/GrokPatterns.ts +118 -0
  189. package/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.ts +58 -6
  190. package/build/dist/Models/DatabaseModels/DashboardDomain.js +44 -0
  191. package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -1
  192. package/build/dist/Models/DatabaseModels/Index.js +11 -0
  193. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  194. package/build/dist/Models/DatabaseModels/MonitorTemplate.js +17 -4
  195. package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
  196. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +44 -0
  197. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
  198. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +699 -0
  199. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -0
  200. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +620 -0
  201. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -0
  202. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +44 -0
  203. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
  204. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +585 -0
  205. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -0
  206. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js +247 -0
  207. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js.map +1 -0
  208. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js +355 -0
  209. package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js.map +1 -0
  210. package/build/dist/Server/API/DashboardDomainAPI.js +43 -1
  211. package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -1
  212. package/build/dist/Server/API/MicrosoftTeamsAPI.js +74 -118
  213. package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
  214. package/build/dist/Server/API/OnCallCalendarAPI.js +1371 -0
  215. package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -0
  216. package/build/dist/Server/API/StatusPageDomainAPI.js +43 -1
  217. package/build/dist/Server/API/StatusPageDomainAPI.js.map +1 -1
  218. package/build/dist/Server/EnvironmentConfig.js +102 -0
  219. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  220. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js +663 -0
  221. package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js.map +1 -0
  222. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.js +34 -0
  223. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.js.map +1 -0
  224. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.js +28 -0
  225. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.js.map +1 -0
  226. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js +103 -0
  227. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js.map +1 -0
  228. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  229. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  230. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js +342 -0
  231. package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js.map +1 -0
  232. package/build/dist/Server/Middleware/ProjectAuthorization.js +6 -1
  233. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  234. package/build/dist/Server/Services/DashboardDomainService.js +104 -0
  235. package/build/dist/Server/Services/DashboardDomainService.js.map +1 -1
  236. package/build/dist/Server/Services/Index.js +12 -0
  237. package/build/dist/Server/Services/Index.js.map +1 -1
  238. package/build/dist/Server/Services/LogPipelineProcessorService.js +65 -0
  239. package/build/dist/Server/Services/LogPipelineProcessorService.js.map +1 -1
  240. package/build/dist/Server/Services/MonitorTemplateService.js +57 -11
  241. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  242. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +20 -0
  243. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  244. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js +219 -0
  245. package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js.map +1 -0
  246. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js +47 -3
  247. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js.map +1 -1
  248. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js +112 -3
  249. package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js.map +1 -1
  250. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +955 -9
  251. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
  252. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js +93 -6
  253. package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js.map +1 -1
  254. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js +157 -0
  255. package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js.map +1 -0
  256. package/build/dist/Server/Services/StatusPageDomainService.js +132 -3
  257. package/build/dist/Server/Services/StatusPageDomainService.js.map +1 -1
  258. package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js +112 -32
  259. package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js.map +1 -1
  260. package/build/dist/Server/Services/TeamMemberService.js +396 -1
  261. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  262. package/build/dist/Server/Services/TeamService.js +43 -0
  263. package/build/dist/Server/Services/TeamService.js.map +1 -1
  264. package/build/dist/Server/Services/UserNotificationSettingService.js +26 -1
  265. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  266. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js +140 -0
  267. package/build/dist/Server/Services/UserOnCallCalendarFeedService.js.map +1 -0
  268. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js +116 -0
  269. package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js.map +1 -0
  270. package/build/dist/Server/Services/UserOnCallShiftReminderService.js +92 -0
  271. package/build/dist/Server/Services/UserOnCallShiftReminderService.js.map +1 -0
  272. package/build/dist/Server/Types/Domain.js +16 -0
  273. package/build/dist/Server/Types/Domain.js.map +1 -1
  274. package/build/dist/Server/Utils/APIKey/AccessPermission.js +24 -0
  275. package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
  276. package/build/dist/Server/Utils/Greenlock/Greenlock.js +110 -35
  277. package/build/dist/Server/Utils/Greenlock/Greenlock.js.map +1 -1
  278. package/build/dist/Server/Utils/LogPipelineProcessorValidation.js +77 -0
  279. package/build/dist/Server/Utils/LogPipelineProcessorValidation.js.map +1 -0
  280. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js +161 -0
  281. package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js.map +1 -0
  282. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js +983 -0
  283. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js.map +1 -0
  284. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js +155 -0
  285. package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js.map +1 -0
  286. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js +145 -0
  287. package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js.map +1 -0
  288. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js +752 -0
  289. package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js.map +1 -0
  290. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js +92 -0
  291. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js.map +1 -0
  292. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js +1786 -0
  293. package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js.map +1 -0
  294. package/build/dist/Server/Utils/Response.js +97 -0
  295. package/build/dist/Server/Utils/Response.js.map +1 -1
  296. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js +777 -36
  297. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js.map +1 -1
  298. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +108 -17
  299. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +1 -1
  300. package/build/dist/Server/Utils/StartServer.js +9 -1
  301. package/build/dist/Server/Utils/StartServer.js.map +1 -1
  302. package/build/dist/Server/Utils/Telemetry/AppMetrics.js +41 -0
  303. package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
  304. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js +17 -6
  305. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js.map +1 -1
  306. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js +0 -159
  307. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js.map +1 -1
  308. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.js +128 -0
  309. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.js.map +1 -0
  310. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +17 -6
  311. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
  312. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +25 -13
  313. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  314. package/build/dist/Types/API/Route.js +16 -5
  315. package/build/dist/Types/API/Route.js.map +1 -1
  316. package/build/dist/Types/Calendar/ICalendar.js +290 -0
  317. package/build/dist/Types/Calendar/ICalendar.js.map +1 -0
  318. package/build/dist/Types/Date.js +115 -13
  319. package/build/dist/Types/Date.js.map +1 -1
  320. package/build/dist/Types/Email/EmailTemplateType.js +2 -0
  321. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  322. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  323. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  324. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js +97 -0
  325. package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js.map +1 -0
  326. package/build/dist/Types/OnCallDutyPolicy/Layer.js +113 -19
  327. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
  328. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js +134 -0
  329. package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js.map +1 -0
  330. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js +800 -0
  331. package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js.map +1 -0
  332. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +97 -3
  333. package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
  334. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js +77 -0
  335. package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js.map +1 -0
  336. package/build/dist/Types/Rum/SessionReplay.js +38 -0
  337. package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
  338. package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js +9 -5
  339. package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js.map +1 -1
  340. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +12 -7
  341. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  342. package/build/dist/UI/Components/LogsViewer/components/HistogramTooltip.js +15 -14
  343. package/build/dist/UI/Components/LogsViewer/components/HistogramTooltip.js.map +1 -1
  344. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +17 -22
  345. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  346. package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js +2 -4
  347. package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js.map +1 -1
  348. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +2 -4
  349. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  350. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +15 -14
  351. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
  352. package/build/dist/UI/Utils/Navigation.js +30 -0
  353. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  354. package/build/dist/Utils/Array.js +25 -0
  355. package/build/dist/Utils/Array.js.map +1 -1
  356. package/build/dist/Utils/CertificateReissue.js +97 -0
  357. package/build/dist/Utils/CertificateReissue.js.map +1 -0
  358. package/build/dist/Utils/Grok/Grok.js +324 -0
  359. package/build/dist/Utils/Grok/Grok.js.map +1 -0
  360. package/build/dist/Utils/Grok/GrokPatterns.js +112 -0
  361. package/build/dist/Utils/Grok/GrokPatterns.js.map +1 -0
  362. package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js +63 -3
  363. package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js.map +1 -1
  364. package/package.json +1 -1
  365. package/UI/Utils/JsonWebToken.ts +0 -14
  366. package/build/dist/UI/Utils/JsonWebToken.js +0 -10
  367. package/build/dist/UI/Utils/JsonWebToken.js.map +0 -1
@@ -20,6 +20,11 @@ import Telemetry from "../Utils/Telemetry";
20
20
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
21
21
  import { StatusPageCNameRecord } from "../EnvironmentConfig";
22
22
  import Domain from "../Types/Domain";
23
+ import ArrayUtil from "../../Utils/Array";
24
+ import OneUptimeDate from "../../Types/Date";
25
+ import CertificateReissueUtil from "../../Utils/CertificateReissue";
26
+ import TooManyRequestsException from "../../Types/Exception/TooManyRequestsException";
27
+ import QueryHelper from "../Types/Database/QueryHelper";
23
28
  const STATUS_PAGE_DOMAIN_EGRESS_LABEL = "Status page domain";
24
29
  export class Service extends DatabaseService {
25
30
  constructor() {
@@ -175,6 +180,100 @@ export class Service extends DatabaseService {
175
180
  },
176
181
  });
177
182
  }
183
+ /*
184
+ * Reissue this domain's Let's Encrypt certificate because a customer asked
185
+ * for it, rather than because it is close to expiring.
186
+ *
187
+ * Every order spends from a Let's Encrypt account that is shared by the
188
+ * whole installation - including by the cron that keeps everybody else's
189
+ * certificates alive - so this is throttled to one request per domain per
190
+ * CertificateReissueUtil.COOLDOWN_IN_HOURS.
191
+ *
192
+ * Throws with a customer-readable reason for every refusal, so the API layer
193
+ * can hand the message straight back without classifying the failure:
194
+ * BadDataException for a domain that is not eligible at all, and
195
+ * TooManyRequestsException (429) for one that is simply too soon.
196
+ */
197
+ async reissueCert(domainId) {
198
+ const now = OneUptimeDate.getCurrentDate();
199
+ const statusPageDomain = await this.findOneBy({
200
+ query: {
201
+ _id: domainId.toString(),
202
+ },
203
+ select: {
204
+ _id: true,
205
+ fullDomain: true,
206
+ isCnameVerified: true,
207
+ isSslOrdered: true,
208
+ isCustomCertificate: true,
209
+ certificateReissueRequestedAt: true,
210
+ },
211
+ props: {
212
+ isRoot: true,
213
+ },
214
+ });
215
+ if (!statusPageDomain) {
216
+ throw new BadDataException("Domain not found.");
217
+ }
218
+ if (!statusPageDomain.fullDomain) {
219
+ throw new BadDataException("Unable to reissue certificate because domain is null");
220
+ }
221
+ /*
222
+ * Nothing to reissue: the certificate on a custom-certificate domain is
223
+ * the one the customer uploaded, and we have no way to obtain another.
224
+ */
225
+ if (statusPageDomain.isCustomCertificate) {
226
+ throw new BadDataException("This domain uses a certificate you uploaded yourself, so there is no Let's Encrypt certificate to reissue. Please edit this domain and upload a new certificate instead.");
227
+ }
228
+ if (!statusPageDomain.isCnameVerified) {
229
+ throw new BadDataException("CNAME is not verified. Please verify CNAME first before you reissue the SSL certificate.");
230
+ }
231
+ /*
232
+ * A domain that never ordered a certificate has nothing to reissue - the
233
+ * dashboard shows "Order Free SSL" for it, which is the correct button.
234
+ */
235
+ if (!statusPageDomain.isSslOrdered) {
236
+ throw new BadDataException("No SSL certificate has been ordered for this domain yet. Please order one first.");
237
+ }
238
+ /*
239
+ * Claim the cooldown before ordering anything, and claim it by putting the
240
+ * cooldown condition in the WHERE clause rather than in an `if` above the
241
+ * write. Two clicks that arrive together both read a row that is not
242
+ * cooling down; only the write can decide which one of them gets to spend
243
+ * the CA's allowance.
244
+ *
245
+ * The stamp goes down BEFORE the order and is never rolled back on
246
+ * failure. A rejected order still costs a validation attempt against the
247
+ * shared account, and a domain whose order fails is exactly the domain
248
+ * somebody presses again - so a failed attempt has to start the clock the
249
+ * same way a successful one does.
250
+ */
251
+ const claimedRowCount = await this.updateOneBy({
252
+ query: {
253
+ _id: domainId.toString(),
254
+ certificateReissueRequestedAt: QueryHelper.lessThanEqualToOrNull(CertificateReissueUtil.getCooldownCutoff(now)),
255
+ },
256
+ data: {
257
+ certificateReissueRequestedAt: now,
258
+ },
259
+ props: {
260
+ isRoot: true,
261
+ },
262
+ });
263
+ if (claimedRowCount === 0) {
264
+ if (statusPageDomain.certificateReissueRequestedAt) {
265
+ throw new TooManyRequestsException(CertificateReissueUtil.getCooldownMessage(statusPageDomain.certificateReissueRequestedAt, now));
266
+ }
267
+ /*
268
+ * The row matched the cooldown a moment ago and does not now: another
269
+ * request claimed it in between, or the domain was deleted. Either way
270
+ * the caller must not order.
271
+ */
272
+ throw new BadDataException("Could not start a certificate reissue for this domain. Please refresh the page and try again.");
273
+ }
274
+ logger.debug("Reissuing SSL certificate for domain: " + statusPageDomain.fullDomain, { fullDomain: statusPageDomain.fullDomain });
275
+ await this.orderCert(statusPageDomain);
276
+ }
178
277
  async updateSslProvisioningStatusForAllDomains() {
179
278
  const domains = await this.findBy({
180
279
  query: {
@@ -183,6 +282,7 @@ export class Service extends DatabaseService {
183
282
  },
184
283
  select: {
185
284
  _id: true,
285
+ fullDomain: true,
186
286
  },
187
287
  limit: LIMIT_MAX,
188
288
  skip: 0,
@@ -190,9 +290,24 @@ export class Service extends DatabaseService {
190
290
  isRoot: true,
191
291
  },
192
292
  });
193
- for (const domain of domains) {
194
- await this.updateSslProvisioningStatus(domain);
195
- }
293
+ /*
294
+ * Each domain costs a request out to the customer's status page, so walking
295
+ * the fleet one at a time makes the sweep as long as the fleet is slow.
296
+ * That length is the delay before an expired certificate is noticed and
297
+ * reordered, so it is the outage a customer sees when renewal has not
298
+ * already happened - it must stay well inside the sweep's own interval.
299
+ */
300
+ await ArrayUtil.forEachWithConcurrency(domains, Service.SSL_PROVISIONING_CHECK_CONCURRENCY, async (domain) => {
301
+ try {
302
+ await this.updateSslProvisioningStatus(domain);
303
+ }
304
+ catch (err) {
305
+ // one unreachable domain must not end the sweep for the rest.
306
+ logger.error(err, {
307
+ fullDomain: domain.fullDomain,
308
+ });
309
+ }
310
+ });
196
311
  }
197
312
  async isSSLProvisioned(fulldomain, token) {
198
313
  try {
@@ -580,6 +695,14 @@ export class Service extends DatabaseService {
580
695
  }
581
696
  }
582
697
  }
698
+ /*
699
+ * How many status pages the provisioning sweep checks at once. Each check is
700
+ * one bounded request out to a customer domain, so this is about not letting
701
+ * the sweep's length grow with the size of the fleet, rather than about local
702
+ * work. Kept modest so a sweep cannot look like a burst of traffic to any
703
+ * shared infrastructure sitting in front of those domains.
704
+ */
705
+ Service.SSL_PROVISIONING_CHECK_CONCURRENCY = 10;
583
706
  __decorate([
584
707
  CaptureSpan(),
585
708
  __metadata("design:type", Function),
@@ -616,6 +739,12 @@ __decorate([
616
739
  __metadata("design:paramtypes", [StatusPageDomain]),
617
740
  __metadata("design:returntype", Promise)
618
741
  ], Service.prototype, "orderCert", null);
742
+ __decorate([
743
+ CaptureSpan(),
744
+ __metadata("design:type", Function),
745
+ __metadata("design:paramtypes", [ObjectID]),
746
+ __metadata("design:returntype", Promise)
747
+ ], Service.prototype, "reissueCert", null);
619
748
  __decorate([
620
749
  CaptureSpan(),
621
750
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"StatusPageDomainService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPageDomainService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusPageDomainService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPageDomainService.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import OneUptimeDate from "../../Types/Date";
7
7
  import Text from "../../Types/Text";
8
8
  import logger from "../Utils/Logger";
9
9
  import BadDataException from "../../Types/Exception/BadDataException";
10
+ import { JsonContains, MoreThan } from "typeorm";
11
+ export const STATUS_PAGE_LOGIN_CODE_TTL_MINUTES = 5;
10
12
  export class Service extends DatabaseService {
11
13
  constructor() {
12
14
  super(Model);
@@ -35,6 +37,14 @@ export class Service extends DatabaseService {
35
37
  throw error;
36
38
  }
37
39
  }
40
+ async createLoginCodeSession(options) {
41
+ return await this.createSession(Object.assign(Object.assign({}, options), { additionalInfo: Object.assign(Object.assign({}, (options.additionalInfo || {})), { [Service.LOGIN_CODE_PURPOSE_KEY]: Service.LOGIN_CODE_PURPOSE_VALUE }), refreshTokenExpiresAt: OneUptimeDate.getSomeMinutesAfter(STATUS_PAGE_LOGIN_CODE_TTL_MINUTES) }));
42
+ }
43
+ isLoginCodeSession(session) {
44
+ var _a;
45
+ return (((_a = session.additionalInfo) === null || _a === void 0 ? void 0 : _a[Service.LOGIN_CODE_PURPOSE_KEY]) ===
46
+ Service.LOGIN_CODE_PURPOSE_VALUE);
47
+ }
38
48
  async findActiveSessionByRefreshToken(refreshToken) {
39
49
  const hashedValue = await HashedString.hashValue(refreshToken, EncryptionSecret);
40
50
  const session = await this.findOneBy({
@@ -74,38 +84,11 @@ export class Service extends DatabaseService {
74
84
  async renewSessionWithNewRefreshToken(options) {
75
85
  const refreshToken = Service.generateRefreshToken();
76
86
  const refreshTokenExpiresAt = options.refreshTokenExpiresAt || Service.getRefreshTokenExpiry();
77
- const updatePayload = {
78
- refreshToken: HashedString.fromString(refreshToken),
79
- refreshTokenExpiresAt: refreshTokenExpiresAt,
80
- lastActiveAt: OneUptimeDate.getCurrentDate(),
81
- isRevoked: false,
82
- };
83
- const ipAddress = Text.truncate(options.ipAddress, Service.SHORT_TEXT_LIMIT);
84
- if (ipAddress) {
85
- updatePayload.ipAddress = ipAddress;
86
- }
87
- if (options.userAgent) {
88
- updatePayload.userAgent = options.userAgent;
89
- }
90
- const deviceName = Text.truncate(options.deviceName, Service.SHORT_TEXT_LIMIT);
91
- if (deviceName) {
92
- updatePayload.deviceName = deviceName;
93
- }
94
- const deviceType = Text.truncate(options.deviceType, Service.SHORT_TEXT_LIMIT);
95
- if (deviceType) {
96
- updatePayload.deviceType = deviceType;
97
- }
98
- const deviceOS = Text.truncate(options.deviceOS, Service.SHORT_TEXT_LIMIT);
99
- if (deviceOS) {
100
- updatePayload.deviceOS = deviceOS;
101
- }
102
- const deviceBrowser = Text.truncate(options.deviceBrowser, Service.SHORT_TEXT_LIMIT);
103
- if (deviceBrowser) {
104
- updatePayload.deviceBrowser = deviceBrowser;
105
- }
106
- if (options.additionalInfo || options.session.additionalInfo) {
107
- updatePayload.additionalInfo = Object.assign(Object.assign({}, (options.session.additionalInfo || {})), (options.additionalInfo || {}));
108
- }
87
+ const updatePayload = this.buildRenewalUpdatePayload({
88
+ options,
89
+ refreshToken,
90
+ refreshTokenExpiresAt,
91
+ });
109
92
  const updatedSession = await this.updateOneByIdAndFetch({
110
93
  id: options.session.id,
111
94
  data: updatePayload,
@@ -122,6 +105,66 @@ export class Service extends DatabaseService {
122
105
  refreshTokenExpiresAt,
123
106
  };
124
107
  }
108
+ /**
109
+ * Atomically consume the short-lived login code and replace it with the
110
+ * long-lived refresh credential that is delivered only as an HttpOnly
111
+ * cookie. The refresh-token column is unique and included in the UPDATE
112
+ * predicate, so concurrent redemption attempts cannot both succeed.
113
+ */
114
+ async exchangeLoginCode(loginCode, options) {
115
+ if (!ObjectID.isValidUUID(loginCode)) {
116
+ return null;
117
+ }
118
+ const session = await this.findActiveSessionByRefreshToken(loginCode);
119
+ if (!(session === null || session === void 0 ? void 0 : session.id) ||
120
+ !session.statusPageId ||
121
+ !this.isLoginCodeSession(session) ||
122
+ session.statusPageId.toString() !== options.statusPageId.toString()) {
123
+ return null;
124
+ }
125
+ const refreshToken = Service.generateRefreshToken();
126
+ const refreshTokenExpiresAt = Service.getRefreshTokenExpiry();
127
+ const renewalOptions = {
128
+ session,
129
+ ipAddress: options.ipAddress,
130
+ userAgent: options.userAgent,
131
+ deviceName: options.deviceName,
132
+ deviceType: options.deviceType,
133
+ deviceOS: options.deviceOS,
134
+ deviceBrowser: options.deviceBrowser,
135
+ additionalInfo: options.additionalInfo,
136
+ };
137
+ const updatePayload = this.buildRenewalUpdatePayload({
138
+ options: renewalOptions,
139
+ refreshToken,
140
+ refreshTokenExpiresAt,
141
+ });
142
+ const refreshTokenHash = await HashedString.hashValue(refreshToken, EncryptionSecret);
143
+ updatePayload.refreshToken = new HashedString(refreshTokenHash, true);
144
+ const additionalInfo = Object.assign({}, (updatePayload.additionalInfo || {}));
145
+ delete additionalInfo[Service.LOGIN_CODE_PURPOSE_KEY];
146
+ updatePayload.additionalInfo = additionalInfo;
147
+ const loginCodeHash = await HashedString.hashValue(loginCode, EncryptionSecret);
148
+ const updateResult = await this.getRepository().update({
149
+ _id: session._id,
150
+ statusPageId: options.statusPageId,
151
+ refreshToken: new HashedString(loginCodeHash, true),
152
+ refreshTokenExpiresAt: MoreThan(OneUptimeDate.getCurrentDate()),
153
+ isRevoked: false,
154
+ additionalInfo: JsonContains({
155
+ [Service.LOGIN_CODE_PURPOSE_KEY]: Service.LOGIN_CODE_PURPOSE_VALUE,
156
+ }),
157
+ }, updatePayload);
158
+ if (updateResult.affected !== 1) {
159
+ return null;
160
+ }
161
+ Object.assign(session, updatePayload);
162
+ return {
163
+ session,
164
+ refreshToken,
165
+ refreshTokenExpiresAt,
166
+ };
167
+ }
125
168
  async touchSession(sessionId, options) {
126
169
  const updatePayload = {
127
170
  lastActiveAt: OneUptimeDate.getCurrentDate(),
@@ -201,6 +244,41 @@ export class Service extends DatabaseService {
201
244
  session.additionalInfo = Object.assign({}, (options.additionalInfo || {}));
202
245
  return session;
203
246
  }
247
+ buildRenewalUpdatePayload(data) {
248
+ const updatePayload = {
249
+ refreshToken: HashedString.fromString(data.refreshToken),
250
+ refreshTokenExpiresAt: data.refreshTokenExpiresAt,
251
+ lastActiveAt: OneUptimeDate.getCurrentDate(),
252
+ isRevoked: false,
253
+ };
254
+ const ipAddress = Text.truncate(data.options.ipAddress, Service.SHORT_TEXT_LIMIT);
255
+ if (ipAddress) {
256
+ updatePayload.ipAddress = ipAddress;
257
+ }
258
+ if (data.options.userAgent) {
259
+ updatePayload.userAgent = data.options.userAgent;
260
+ }
261
+ const deviceName = Text.truncate(data.options.deviceName, Service.SHORT_TEXT_LIMIT);
262
+ if (deviceName) {
263
+ updatePayload.deviceName = deviceName;
264
+ }
265
+ const deviceType = Text.truncate(data.options.deviceType, Service.SHORT_TEXT_LIMIT);
266
+ if (deviceType) {
267
+ updatePayload.deviceType = deviceType;
268
+ }
269
+ const deviceOS = Text.truncate(data.options.deviceOS, Service.SHORT_TEXT_LIMIT);
270
+ if (deviceOS) {
271
+ updatePayload.deviceOS = deviceOS;
272
+ }
273
+ const deviceBrowser = Text.truncate(data.options.deviceBrowser, Service.SHORT_TEXT_LIMIT);
274
+ if (deviceBrowser) {
275
+ updatePayload.deviceBrowser = deviceBrowser;
276
+ }
277
+ if (data.options.additionalInfo || data.options.session.additionalInfo) {
278
+ updatePayload.additionalInfo = Object.assign(Object.assign({}, (data.options.session.additionalInfo || {})), (data.options.additionalInfo || {}));
279
+ }
280
+ return updatePayload;
281
+ }
204
282
  static generateRefreshToken() {
205
283
  return ObjectID.generate().toString();
206
284
  }
@@ -209,6 +287,8 @@ export class Service extends DatabaseService {
209
287
  }
210
288
  }
211
289
  Service.DEFAULT_REFRESH_TOKEN_TTL_DAYS = 30;
290
+ Service.LOGIN_CODE_PURPOSE_KEY = "oneuptimeStatusPageSessionPurpose";
291
+ Service.LOGIN_CODE_PURPOSE_VALUE = "login-code";
212
292
  Service.SHORT_TEXT_LIMIT = 100;
213
293
  export default new Service();
214
294
  //# sourceMappingURL=StatusPagePrivateUserSessionService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusPagePrivateUserSessionService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPagePrivateUserSessionService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,0DAA0D,CAAC;AAC7E,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AA4CtE,MAAM,OAAO,OAAQ,SAAQ,eAAsB;IAIjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,OAA6B;QAE7B,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACzD,MAAM,qBAAqB,GACzB,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAEnE,MAAM,OAAO,GAAU,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;YACrD,YAAY;YACZ,qBAAqB;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,cAAc,GAAU,MAAM,IAAI,CAAC,MAAM,CAAC;gBAC9C,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,YAAY;gBACZ,qBAAqB;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAkB,CAAC;QAC3B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,+BAA+B,CAC1C,YAAoB;QAEpB,MAAM,WAAW,GAAW,MAAM,YAAY,CAAC,SAAS,CACtD,YAAY,EACZ,gBAAgB,CACjB,CAAC;QAEF,MAAM,OAAO,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC;YACjD,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC;gBACjD,SAAS,EAAE,KAAK;aACjB;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI;gBAClB,uBAAuB,EAAE,IAAI;gBAC7B,qBAAqB,EAAE,IAAI;gBAC3B,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,CAAC,OAAO,CAAC,qBAAqB;YAC9B,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,EACvD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,+BAA+B,CAC1C,OAA4B;QAE5B,MAAM,YAAY,GAAW,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,qBAAqB,GACzB,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAEnE,MAAM,aAAa,GAAmB;YACpC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;YACnD,qBAAqB,EAAE,qBAAqB;YAC5C,YAAY,EAAE,aAAa,CAAC,cAAc,EAAE;YAC5C,SAAS,EAAE,KAAK;SACjB,CAAC;QAEF,MAAM,SAAS,GAAuB,IAAI,CAAC,QAAQ,CACjD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9C,CAAC;QAED,MAAM,UAAU,GAAuB,IAAI,CAAC,QAAQ,CAClD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;QACxC,CAAC;QAED,MAAM,UAAU,GAAuB,IAAI,CAAC,QAAQ,CAClD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,UAAU,GAAG,UAAU,CAAC;QACxC,CAAC;QAED,MAAM,QAAQ,GAAuB,IAAI,CAAC,QAAQ,CAChD,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpC,CAAC;QAED,MAAM,aAAa,GAAuB,IAAI,CAAC,QAAQ,CACrD,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,aAAa,GAAG,aAAa,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC7D,aAAa,CAAC,cAAc,GAAG,gCAC1B,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,GACtC,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CACpB,CAAC;QAClB,CAAC;QAED,MAAM,cAAc,GAAiB,MAAM,IAAI,CAAC,qBAAqB,CAAC;YACpE,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAG;YACvB,IAAI,EAAE,aAAoB;YAC1B,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,gBAAgB,CAAC,0CAA0C,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,YAAY;YACZ,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,SAAmB,EACnB,OAA4B;QAE5B,MAAM,aAAa,GAAmB;YACpC,YAAY,EAAE,aAAa,CAAC,cAAc,EAAE;SAC7C,CAAC;QAEF,MAAM,SAAS,GAAuB,IAAI,CAAC,QAAQ,CACjD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC;gBACvB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,aAAoB;gBAC1B,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,6DAA6D,SAAS,CAAC,QAAQ,EAAE,KAAM,GAAa,CAAC,OAAO,EAAE,CAC/G,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,SAAmB,EACnB,OAA8B;;QAE9B,MAAM,IAAI,CAAC,aAAa,CAAC;YACvB,EAAE,EAAE,SAAS;YACb,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,aAAa,CAAC,cAAc,EAAE;gBACzC,aAAa,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,IAAI;aACvC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,2BAA2B,CACtC,YAAoB,EACpB,OAA8B;QAE9B,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,+BAA+B,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAEO,iBAAiB,CACvB,OAA6B,EAC7B,SAAgE;QAEhE,MAAM,OAAO,GAAU,IAAI,KAAK,EAAE,CAAC;QACnC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACtC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC5C,OAAO,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;QAClE,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,qBAAqB,CAAC;QAChE,OAAO,CAAC,YAAY,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAEtD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC;QAED,MAAM,UAAU,GAAuB,IAAI,CAAC,QAAQ,CAClD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAClC,CAAC;QAED,MAAM,UAAU,GAAuB,IAAI,CAAC,QAAQ,CAClD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAClC,CAAC;QAED,MAAM,QAAQ,GAAuB,IAAI,CAAC,QAAQ,CAChD,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9B,CAAC;QAED,MAAM,aAAa,GAAuB,IAAI,CAAC,QAAQ,CACrD,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;QACxC,CAAC;QAED,MAAM,SAAS,GAAuB,IAAI,CAAC,QAAQ,CACjD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,cAAc,GAAG,kBACpB,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CACpB,CAAC;QAEhB,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,oBAAoB;QACjC,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,qBAAqB;QAClC,OAAO,aAAa,CAAC,gBAAgB,CACnC,OAAO,CAAC,8BAA8B,CACvC,CAAC;IACJ,CAAC;;AArTuB,sCAA8B,GAAW,EAAE,CAAC;AAC5C,wBAAgB,GAAW,GAAG,CAAC;AAuTzD,eAAe,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"StatusPagePrivateUserSessionService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPagePrivateUserSessionService.ts"],"names":[],"mappings":"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"}