@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
@@ -27,7 +27,7 @@ import { AccountsRoute } from "../../ServiceRoute";
27
27
  import URL from "../../Types/API/URL";
28
28
  import Route from "../../Types/API/Route";
29
29
  import SubscriptionPlan, { PlanType, } from "../../Types/Billing/SubscriptionPlan";
30
- import LIMIT_MAX from "../../Types/Database/LimitMax";
30
+ import LIMIT_MAX, { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
31
31
  import Email from "../../Types/Email";
32
32
  import EmailTemplateType from "../../Types/Email/EmailTemplateType";
33
33
  import Name from "../../Types/Name";
@@ -38,6 +38,16 @@ import OnCallDutyPolicyTimeLogService from "./OnCallDutyPolicyTimeLogService";
38
38
  import OneUptimeDate from "../../Types/Date";
39
39
  import ProjectSCIMService from "./ProjectSCIMService";
40
40
  import InMemoryTTLCache from "../Infrastructure/InMemoryTTLCache";
41
+ import OnCallDutyPolicyScheduleService from "./OnCallDutyPolicyScheduleService";
42
+ import OnCallDutyPolicyScheduleLayerUserService from "./OnCallDutyPolicyScheduleLayerUserService";
43
+ import OnCallDutyPolicyEscalationRuleUserService from "./OnCallDutyPolicyEscalationRuleUserService";
44
+ import OnCallDutyPolicyUserOverrideService from "./OnCallDutyPolicyUserOverrideService";
45
+ import UserOnCallCalendarFeedService from "./UserOnCallCalendarFeedService";
46
+ import UserOnCallShiftReminderService from "./UserOnCallShiftReminderService";
47
+ import OnCallDutyPolicyScheduleCalendarFeedService from "./OnCallDutyPolicyScheduleCalendarFeedService";
48
+ import ProjectOnCallCalendarFeedService from "./ProjectOnCallCalendarFeedService";
49
+ import OnCallCalendarFeedCache from "../Infrastructure/OnCallCalendarFeedCache";
50
+ import { OnCallShiftChangeReason } from "../Utils/OnCall/OnCallShiftChangeListeners";
41
51
  export class TeamMemberService extends DatabaseService {
42
52
  constructor() {
43
53
  super(TeamMember);
@@ -457,13 +467,386 @@ export class TeamMemberService extends DatabaseService {
457
467
  };
458
468
  }
459
469
  async onDeleteSuccess(onDelete) {
470
+ var _a, _b;
471
+ /*
472
+ * remove-user-from-project deletes every membership of one user in one
473
+ * deleteBy, so the same (user, project) can appear several times here;
474
+ * the on-call cleanup is idempotent but not free, so run it once.
475
+ */
476
+ const onCallCleanupDone = new Set();
477
+ /*
478
+ * Whether ANY of the deleted rows for a (user, project) was an ACCEPTED
479
+ * membership. Revoking a pending invitation also brings the accepted
480
+ * count to zero, but someone who never accepted never had feed access —
481
+ * rotating every opted-in shared feed for that would clear each
482
+ * teammate's subscribed calendar for nothing (see
483
+ * cleanupOnCallAssignmentsIfUserLeftProject).
484
+ */
485
+ const acceptedMembershipKeys = new Set();
486
+ for (const item of onDelete.carryForward) {
487
+ if (item.hasAcceptedInvitation && item.userId && item.projectId) {
488
+ acceptedMembershipKeys.add(`${item.userId.toString()}:${item.projectId.toString()}`);
489
+ }
490
+ }
460
491
  for (const item of onDelete.carryForward) {
461
492
  await this.refreshTokens(item.userId, item.projectId);
462
493
  await this.updateSubscriptionSeatsByUniqueTeamMembersInProject(item.projectId);
494
+ /*
495
+ * Before the notification settings go: the "removed from on-call
496
+ * policy" notices the cleanup triggers should still reach the person,
497
+ * exactly as they would for a manual removal.
498
+ */
499
+ const cleanupKey = `${(_a = item.userId) === null || _a === void 0 ? void 0 : _a.toString()}:${(_b = item.projectId) === null || _b === void 0 ? void 0 : _b.toString()}`;
500
+ if (!onCallCleanupDone.has(cleanupKey) && item.userId && item.projectId) {
501
+ onCallCleanupDone.add(cleanupKey);
502
+ await this.cleanupOnCallAssignmentsIfUserLeftProject({
503
+ projectId: item.projectId,
504
+ userId: item.userId,
505
+ hadAcceptedMembership: acceptedMembershipKeys.has(cleanupKey),
506
+ });
507
+ }
463
508
  await UserNotificationSettingService.removeDefaultNotificationSettingsForUser(item.userId, item.projectId);
464
509
  }
465
510
  return onDelete;
466
511
  }
512
+ /**
513
+ * Run the on-call cleanup when — and only when — the user no longer holds
514
+ * an accepted membership in ANY team of the project: the same rule
515
+ * removeDefaultNotificationSettingsForUser applies. A user who merely left
516
+ * one of several teams keeps every on-call assignment. Best-effort: never
517
+ * throws into the delete path.
518
+ *
519
+ * hadAcceptedMembership (default true): whether the membership rows that
520
+ * were just deleted included an ACCEPTED one. Revoking a never-accepted
521
+ * invitation passes false — the row cleanup still runs, but the opted-in
522
+ * shared feeds are NOT rotated: the invitee never had the links or any
523
+ * access, and rotation would silently clear every teammate's subscribed
524
+ * calendar.
525
+ */
526
+ async cleanupOnCallAssignmentsIfUserLeftProject(data) {
527
+ try {
528
+ const remaining = await this.countBy({
529
+ query: {
530
+ projectId: data.projectId,
531
+ userId: data.userId,
532
+ hasAcceptedInvitation: true,
533
+ },
534
+ props: {
535
+ isRoot: true,
536
+ },
537
+ });
538
+ if (remaining.toNumber() > 0) {
539
+ return null;
540
+ }
541
+ return await this.cleanupOnCallAssignmentsForUserLeavingProject({
542
+ projectId: data.projectId,
543
+ userId: data.userId,
544
+ rotateSharedFeeds: data.hadAcceptedMembership !== false,
545
+ });
546
+ }
547
+ catch (err) {
548
+ logger.error(err, {
549
+ projectId: data.projectId.toString(),
550
+ userId: data.userId.toString(),
551
+ });
552
+ return null;
553
+ }
554
+ }
555
+ /**
556
+ * A user who has left the project must stop being paged and must stop
557
+ * seeing the project's shifts. Nothing used to do this: their layer-user
558
+ * and escalation-rule-user rows survived, so schedules kept rotating onto
559
+ * an ex-member and policies kept escalating to them. In order:
560
+ *
561
+ * 1. delete the user's OnCallDutyPolicyScheduleLayerUser rows in the
562
+ * project (root; the layers' 1-based order is re-sequenced),
563
+ * 2. delete the user's OnCallDutyPolicyEscalationRuleUser rows through
564
+ * the service, so its hooks close the time logs, write the policy feed
565
+ * items and notify as a manual removal would,
566
+ * 3. delete the project's not-yet-ended OnCallDutyPolicyUserOverride rows
567
+ * that name the user on EITHER side (as the overridden user or as the
568
+ * substitute), through the service — an override "route my alerts to
569
+ * Bob" would keep paging a departed Bob, and "route Alice's alerts to
570
+ * me" would keep the departed user's covering shifts in the feeds and
571
+ * in /my-shifts; the service's hooks write the policy feed items,
572
+ * refresh the overridden colleagues' rosters and propagate,
573
+ * 4. re-resolve the roster of every affected schedule (this pages the
574
+ * person who is now on call — intended: who gets paged changed),
575
+ * 5. bump those schedules' shiftConfigVersion, purge the feed caches and
576
+ * notify the shift-change listeners (reminders re-plan),
577
+ * 6. disable — not delete — the user's personal calendar feed for the
578
+ * project, so their subscribed calendar clears itself,
579
+ * 7. delete the user's shift reminders in the project,
580
+ * 8. rotate every enabled schedule / project feed that opted into
581
+ * rotateWhenMemberLeaves, and purge the project's feed bodies —
582
+ * skipped when rotateSharedFeeds is false (a revoked never-accepted
583
+ * invitation: the invitee never had the links).
584
+ *
585
+ * Each step is isolated: a failure is logged and the next step still runs.
586
+ * Unconditional — callers decide whether the user really left (see
587
+ * cleanupOnCallAssignmentsIfUserLeftProject).
588
+ */
589
+ async cleanupOnCallAssignmentsForUserLeavingProject(data) {
590
+ var _a, _b;
591
+ const { projectId, userId } = data;
592
+ const logAttributes = {
593
+ projectId: projectId.toString(),
594
+ userId: userId.toString(),
595
+ };
596
+ const result = {
597
+ removedLayerUserCount: 0,
598
+ removedEscalationRuleUserCount: 0,
599
+ removedUserOverrideCount: 0,
600
+ refreshedScheduleIds: [],
601
+ personalFeedDisabled: false,
602
+ removedReminderCount: 0,
603
+ rotatedScheduleFeedIds: [],
604
+ rotatedProjectFeedIds: [],
605
+ };
606
+ const affectedScheduleIds = [];
607
+ const affectedLayerIds = [];
608
+ // 1. Layer-user rows.
609
+ try {
610
+ const layerUsers = await OnCallDutyPolicyScheduleLayerUserService.findBy({
611
+ query: {
612
+ projectId,
613
+ userId,
614
+ },
615
+ select: {
616
+ _id: true,
617
+ onCallDutyPolicyScheduleId: true,
618
+ onCallDutyPolicyScheduleLayerId: true,
619
+ },
620
+ limit: LIMIT_PER_PROJECT,
621
+ skip: 0,
622
+ props: {
623
+ isRoot: true,
624
+ },
625
+ });
626
+ const seenSchedules = new Set();
627
+ const seenLayers = new Set();
628
+ for (const row of layerUsers) {
629
+ const scheduleId = (_a = row.onCallDutyPolicyScheduleId) === null || _a === void 0 ? void 0 : _a.toString();
630
+ if (scheduleId && !seenSchedules.has(scheduleId)) {
631
+ seenSchedules.add(scheduleId);
632
+ affectedScheduleIds.push(row.onCallDutyPolicyScheduleId);
633
+ }
634
+ const layerId = (_b = row.onCallDutyPolicyScheduleLayerId) === null || _b === void 0 ? void 0 : _b.toString();
635
+ if (layerId && !seenLayers.has(layerId)) {
636
+ seenLayers.add(layerId);
637
+ affectedLayerIds.push(row.onCallDutyPolicyScheduleLayerId);
638
+ }
639
+ }
640
+ if (layerUsers.length > 0) {
641
+ result.removedLayerUserCount =
642
+ await OnCallDutyPolicyScheduleLayerUserService.deleteBy({
643
+ query: {
644
+ projectId,
645
+ userId,
646
+ },
647
+ limit: LIMIT_PER_PROJECT,
648
+ skip: 0,
649
+ props: {
650
+ isRoot: true,
651
+ },
652
+ });
653
+ for (const layerId of affectedLayerIds) {
654
+ try {
655
+ await OnCallDutyPolicyScheduleLayerUserService.resequenceOrderInLayer(layerId);
656
+ }
657
+ catch (err) {
658
+ logger.error(err, logAttributes);
659
+ }
660
+ }
661
+ }
662
+ }
663
+ catch (err) {
664
+ logger.error("Error removing on-call schedule layer users for a user who left the project (best-effort).", logAttributes);
665
+ logger.error(err, logAttributes);
666
+ }
667
+ // 2. Escalation-rule user rows (through the service so its hooks run).
668
+ try {
669
+ const ruleUserCount = await OnCallDutyPolicyEscalationRuleUserService.countBy({
670
+ query: {
671
+ projectId,
672
+ userId,
673
+ },
674
+ props: {
675
+ isRoot: true,
676
+ },
677
+ });
678
+ if (ruleUserCount.toNumber() > 0) {
679
+ result.removedEscalationRuleUserCount =
680
+ await OnCallDutyPolicyEscalationRuleUserService.deleteBy({
681
+ query: {
682
+ projectId,
683
+ userId,
684
+ },
685
+ limit: LIMIT_PER_PROJECT,
686
+ skip: 0,
687
+ props: {
688
+ isRoot: true,
689
+ },
690
+ });
691
+ }
692
+ }
693
+ catch (err) {
694
+ logger.error("Error removing escalation-rule users for a user who left the project (best-effort).", logAttributes);
695
+ logger.error(err, logAttributes);
696
+ }
697
+ /*
698
+ * 3. Not-yet-ended user overrides that name the user on either side.
699
+ * Deleted THROUGH the service so its hooks write the policy feed
700
+ * items, refresh the overridden colleagues' rosters and propagate
701
+ * (version bump, cache purge, reminder re-plan). Ended overrides are
702
+ * history and stay. overrideUserId and routeAlertsToUserId can never
703
+ * be the same user (enforced on create), so the two deletes are
704
+ * disjoint.
705
+ */
706
+ try {
707
+ const now = OneUptimeDate.getCurrentDate();
708
+ result.removedUserOverrideCount +=
709
+ await OnCallDutyPolicyUserOverrideService.deleteBy({
710
+ query: {
711
+ projectId,
712
+ overrideUserId: userId,
713
+ endsAt: QueryHelper.greaterThan(now),
714
+ },
715
+ limit: LIMIT_PER_PROJECT,
716
+ skip: 0,
717
+ props: {
718
+ isRoot: true,
719
+ },
720
+ });
721
+ result.removedUserOverrideCount +=
722
+ await OnCallDutyPolicyUserOverrideService.deleteBy({
723
+ query: {
724
+ projectId,
725
+ routeAlertsToUserId: userId,
726
+ endsAt: QueryHelper.greaterThan(now),
727
+ },
728
+ limit: LIMIT_PER_PROJECT,
729
+ skip: 0,
730
+ props: {
731
+ isRoot: true,
732
+ },
733
+ });
734
+ }
735
+ catch (err) {
736
+ logger.error("Error removing user overrides for a user who left the project (best-effort).", logAttributes);
737
+ logger.error(err, logAttributes);
738
+ }
739
+ // 4. Rosters of the affected schedules.
740
+ for (const scheduleId of affectedScheduleIds) {
741
+ try {
742
+ await OnCallDutyPolicyScheduleService.refreshCurrentUserIdAndHandoffTimeInSchedule(scheduleId);
743
+ result.refreshedScheduleIds.push(scheduleId.toString());
744
+ }
745
+ catch (err) {
746
+ logger.error(`Error refreshing the roster of schedule ${scheduleId.toString()} after a member left the project (best-effort).`, logAttributes);
747
+ logger.error(err, logAttributes);
748
+ }
749
+ }
750
+ // 5. Version bump, cache purge, listeners (never throws).
751
+ await OnCallDutyPolicyScheduleService.propagateShiftConfigChange({
752
+ scheduleIds: affectedScheduleIds,
753
+ projectId,
754
+ userIds: [userId],
755
+ reason: OnCallShiftChangeReason.MemberLeftProject,
756
+ });
757
+ // 6. Personal calendar feed: disabled, not deleted.
758
+ try {
759
+ const feeds = await UserOnCallCalendarFeedService.countBy({
760
+ query: {
761
+ projectId,
762
+ userId,
763
+ },
764
+ props: {
765
+ isRoot: true,
766
+ },
767
+ });
768
+ if (feeds.toNumber() > 0) {
769
+ await UserOnCallCalendarFeedService.updateOneBy({
770
+ query: {
771
+ projectId,
772
+ userId,
773
+ },
774
+ data: {
775
+ isEnabled: false,
776
+ },
777
+ props: {
778
+ isRoot: true,
779
+ },
780
+ });
781
+ result.personalFeedDisabled = true;
782
+ }
783
+ await OnCallCalendarFeedCache.purgeForUser(projectId.toString(), userId.toString());
784
+ }
785
+ catch (err) {
786
+ logger.error("Error disabling the personal calendar feed of a user who left the project (best-effort).", logAttributes);
787
+ logger.error(err, logAttributes);
788
+ }
789
+ // 7. Shift reminders.
790
+ try {
791
+ result.removedReminderCount =
792
+ await UserOnCallShiftReminderService.deleteBy({
793
+ query: {
794
+ projectId,
795
+ userId,
796
+ },
797
+ limit: LIMIT_PER_PROJECT,
798
+ skip: 0,
799
+ props: {
800
+ isRoot: true,
801
+ },
802
+ });
803
+ }
804
+ catch (err) {
805
+ logger.error("Error removing shift reminders of a user who left the project (best-effort).", logAttributes);
806
+ logger.error(err, logAttributes);
807
+ }
808
+ /*
809
+ * 8. Shared feeds that opted into rotation on member leave. Skipped when
810
+ * the caller says no ACCEPTED membership went away (a revoked pending
811
+ * invitation): the invitee never had the links, and rotating would
812
+ * clear every subscribed teammate's calendar for nothing.
813
+ */
814
+ if (data.rotateSharedFeeds !== false) {
815
+ try {
816
+ const rotatedScheduleFeedIds = await OnCallDutyPolicyScheduleCalendarFeedService.rotateFeedsForMemberLeave({ projectId });
817
+ result.rotatedScheduleFeedIds = rotatedScheduleFeedIds.map((id) => {
818
+ return id.toString();
819
+ });
820
+ }
821
+ catch (err) {
822
+ logger.error("Error rotating schedule calendar feeds after a member left the project (best-effort).", logAttributes);
823
+ logger.error(err, logAttributes);
824
+ }
825
+ try {
826
+ const rotatedProjectFeedIds = await ProjectOnCallCalendarFeedService.rotateFeedsForMemberLeave({
827
+ projectId,
828
+ });
829
+ result.rotatedProjectFeedIds = rotatedProjectFeedIds.map((id) => {
830
+ return id.toString();
831
+ });
832
+ }
833
+ catch (err) {
834
+ logger.error("Error rotating the project calendar feed after a member left the project (best-effort).", logAttributes);
835
+ logger.error(err, logAttributes);
836
+ }
837
+ if (result.rotatedScheduleFeedIds.length > 0 ||
838
+ result.rotatedProjectFeedIds.length > 0) {
839
+ try {
840
+ await OnCallCalendarFeedCache.purgeForProject(projectId.toString());
841
+ }
842
+ catch (err) {
843
+ logger.error(err, logAttributes);
844
+ }
845
+ }
846
+ }
847
+ logger.debug(`On-call cleanup for a user leaving the project: ${JSON.stringify(result)}`, logAttributes);
848
+ return result;
849
+ }
467
850
  async getUniqueTeamMemberCountInProject(projectId) {
468
851
  const members = await this.findBy({
469
852
  query: {
@@ -671,6 +1054,18 @@ __decorate([
671
1054
  __metadata("design:paramtypes", [Object]),
672
1055
  __metadata("design:returntype", Promise)
673
1056
  ], TeamMemberService.prototype, "onDeleteSuccess", null);
1057
+ __decorate([
1058
+ CaptureSpan(),
1059
+ __metadata("design:type", Function),
1060
+ __metadata("design:paramtypes", [Object]),
1061
+ __metadata("design:returntype", Promise)
1062
+ ], TeamMemberService.prototype, "cleanupOnCallAssignmentsIfUserLeftProject", null);
1063
+ __decorate([
1064
+ CaptureSpan(),
1065
+ __metadata("design:type", Function),
1066
+ __metadata("design:paramtypes", [Object]),
1067
+ __metadata("design:returntype", Promise)
1068
+ ], TeamMemberService.prototype, "cleanupOnCallAssignmentsForUserLeavingProject", null);
674
1069
  __decorate([
675
1070
  CaptureSpan(),
676
1071
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"TeamMemberService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamMemberService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAGzD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAyB,MAAM,iBAAiB,CAAC;AACxD,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AACzD,OAAO,qBAAqB,MAAM,gCAAgC,CAAC;AACnE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAC1C,OAAO,gBAAgB,EAAE,EACvB,QAAQ,GACT,MAAM,sCAAsC,CAAC;AAC9C,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,iBAAiB,MAAM,qCAAqC,CAAC;AACpE,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,OAAO,UAAU,MAAM,wCAAwC,CAAC;AAEhE,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAElE,MAAM,OAAO,iBAAkB,SAAQ,eAA2B;IAWhE;QACE,KAAK,CAAC,UAAU,CAAC,CAAC;QAXpB;;;;;;WAMG;QACK,wBAAmB,GACzB,IAAI,gBAAgB,CAAC,KAAM,CAAC,CAAC;IAI/B,CAAC;IAGa,AAAN,KAAK,CAAC,uBAAuB,CAAC,SAAmB;QACvD,MAAM,KAAK,GAAmB,MAAM,kBAAkB,CAAC,OAAO,CAAC;YAC7D,KAAK,EAAE;gBACL,SAAS,EAAE,SAAS;gBACpB,gBAAgB,EAAE,IAAI;aACvB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAA8B;;QAE9B,2CAA2C;QAC3C,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YACtB,CAAC,MAAM,IAAI,CAAC,uBAAuB,CACjC,QAAQ,CAAC,IAAI,CAAC,SAAU,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CACpD,CAAC,EACF,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,sIAAsI,CACvI,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;gBAC/D,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAU;gBAC5B,MAAM,EAAE;oBACN,SAAS,EAAE,IAAI;oBACf,gCAAgC,EAAE,IAAI;iBACvC;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IACE,OAAO;gBACP,OAAO,CAAC,SAAS;gBACjB,OAAO,CAAC,gCAAgC;gBACxC,OAAO,CAAC,gCAAgC,IAAI,OAAO,CAAC,SAAS,EAC7D,CAAC;gBACD,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACrE,CAAC;YAED,IACE,QAAQ,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,IAAI;gBAC5C,OAAO;gBACP,OAAO,CAAC,gCAAgC;gBACxC,OAAO,CAAC,gCAAgC,IAAI,CAAC,EAC7C,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,MAAM,CAAC,iBAAiB,CAAC,2BAA2B,CACrD,CAAC;YACJ,CAAC;QACH,CAAC;QAED;;;;;;;;;WASG;QACH,MAAM,2BAA2B,GAAY,OAAO,CAClD,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CACtD,CAAC;QAEF,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QAC9C,CAAC;QAED,MAAM,4BAA4B,GAAY,OAAO,CACnD,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CACpC,CAAC;QAEF;;;;;WAKG;QACH,IAAI,4BAA4B,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC5C,CAAC;QAED,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAW,CAAC,CAAC;YAE1E;;;;eAIG;YACH,MAAM,SAAS,GAAuB,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;gBAClE,CAAC,CAAE,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAY,CAAC,IAAI,EAAE;gBACnD,CAAC,CAAC,SAAS,CAAC;YAEd;;;;;eAKG;YACH,IAAI,IAAI,GAAgB,MAAM,WAAW,CAAC,SAAS,CAAC;gBAClD,KAAK,EAAE;oBACL,KAAK,EAAE,KAAK;iBACb;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,QAAQ,EAAE,IAAI;iBACf;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IAAI,SAAS,GAAY,KAAK,CAAC;YAE/B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS,GAAG,IAAI,CAAC;gBAEjB,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC;oBACrC,KAAK;oBACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACjD,uEAAuE;oBACvE,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;oBACtC,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB;;;mBAGG;gBACH,MAAM,YAAY,GAAgB,MAAM,WAAW,CAAC,WAAW,CAAC;oBAC9D,EAAE,EAAE,IAAI,CAAC,EAAG;oBACZ,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;qBACX;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IAAI,YAAY,IAAI,CAAC,CAAA,MAAA,YAAY,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAA,EAAE,CAAC;oBACnD,MAAM,WAAW,CAAC,aAAa,CAAC;wBAC9B,EAAE,EAAE,IAAI,CAAC,EAAG;wBACZ,IAAI,EAAE;4BACJ,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;yBAC1B;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAG,CAAC;YAEhC,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;gBAC/D,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAU;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;iBACX;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAa,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM,YAAY,GAAa,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;gBAEtE;;;;;mBAKG;gBACH,MAAM,iBAAiB,GAAY,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAE/D;;;;;;mBAMG;gBACH,MAAM,YAAY,GAAW,iBAAiB;oBAC5C,CAAC,CAAC,CACE,MAAM,qBAAqB,CAAC,wBAAwB,CAAC;wBACnD,MAAM,EAAE,IAAI,CAAC,EAAG;wBAChB,KAAK,EAAE,KAAK;qBACb,CAAC,CACH,CAAC,QAAQ,EAAE;oBACd,CAAC,CAAC,GAAG,CAAC,UAAU,CACZ,IAAI,GAAG,CACL,YAAY,EACZ,IAAI,EACJ,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CACpC,CAAC,QAAQ,EAAE,CACb;yBACE,QAAQ,CAAC,WAAW,CAAC;yBACrB,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC;yBAC9C,QAAQ,EAAE,CAAC;gBAElB,WAAW,CAAC,QAAQ,CAClB;oBACE,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,iBAAiB,CAAC,YAAY;oBAC5C,IAAI,EAAE;wBACJ,UAAU,EAAE,GAAG,CAAC,UAAU,CACxB,IAAI,GAAG,CACL,YAAY,EACZ,IAAI,EACJ,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CACpC,CAAC,QAAQ,EAAE,CACb,CAAC,QAAQ,EAAE;wBACZ,YAAY,EAAE,YAAY;wBAC1B,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE;wBACvC;;;;2BAIG;wBACH,oBAAoB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;wBAC7D,WAAW,EAAE,OAAO,CAAC,IAAK;wBAC1B,OAAO,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE;qBAChD;oBACD,OAAO,EAAE,4BAA4B;wBACnC,CAAC,CAAC,yBAAyB,GAAG,OAAO,CAAC,IAAI;wBAC1C,CAAC,CAAC,2BAA2B,GAAG,OAAO,CAAC,IAAI;iBAC/C,EACD;oBACE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAU;oBACnC,MAAM,EAAE,IAAI,CAAC,EAAG;iBACjB,CACF,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;;oBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBAChB,SAAS,EAAE,MAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE;wBAC9C,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,0CAAE,QAAQ,EAAE;qBACZ,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,wCAAwC;QAExC,MAAM,MAAM,GAAsB,MAAM,IAAI,CAAC,SAAS,CAAC;YACrD,KAAK,EAAE;gBACL,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAO;gBAC7B,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAK,CAAC,GAAI,CAAC;aACvE;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;aACV;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGY,AAAN,KAAK,CAAC,aAAa,CACxB,MAAgB,EAChB,SAAmB;QAEnB;;;WAGG;QACH,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC7B,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAC/C,CAAC;QAEF,mBAAmB;QACnB,MAAM,kBAAkB,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC;QAEnE,MAAM,kBAAkB,CAAC,iCAAiC,CACxD,MAAM,EACN,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IAEW,AAAN,KAAK,CAAC,sCAAsC,CAAC,IAIpD;QACC,IAAI,CAAC;YACH,MAAM,IAAI,GACR,IAAI,CAAC,IAAI;gBACT,CAAC,MAAM,WAAW,CAAC,WAAW,CAAC;oBAC7B,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,MAAM,EAAE;wBACN,KAAK,EAAE,IAAI;wBACX,eAAe,EAAE,IAAI;qBACtB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,MAAM,8BAA8B,CAAC,qCAAqC,CACxE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CACf,CAAC;YAEF,MAAM,2BAA2B,CAAC,iCAAiC,CACjE,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,GAAY,EACZ;gBACE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACpC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;aACd,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAA8B,EAC9B,WAAuB;;QAEvB,MAAM,IAAI,CAAC,aAAa,CACtB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAO,EAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAU,CAClC,CAAC;QAEF,MAAM,IAAI,CAAC,mDAAmD,CAC5D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAU,CAClC,CAAC;QAEF;;;;WAIG;QACH,IAAI,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,sCAAsC,CAAC;gBAChD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAO;gBACtC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAU;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,gBAAgB,CAAC,cAAc,CAAC;YAC9B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YACtC,KAAK,EAAE,4BAA4B;YACnC,UAAU,EAAE;gBACV,UAAU,EAAE,CAAA,MAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,0CAAE,QAAQ,EAAE,KAAI,EAAE;gBAC9D,uBAAuB,EAAE,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC;aACpE;SACF,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAA8B,EAC9B,cAA+B;QAE/B,MAAM,QAAQ,GAAyB,QAAQ,CAAC,QAAQ,CAAC;QACzD,MAAM,KAAK,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACjD,KAAK,EAAE;gBACL,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC;aACrC;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI;oBACX,eAAe,EAAE,IAAI;iBACN;gBACjB,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YAEP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,SAAU,CAAC,CAAC;YAExD,IAAI,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,sCAAsC,CAAC;oBAChD,MAAM,EAAE,IAAI,CAAC,MAAO;oBACpB,SAAS,EAAE,IAAI,CAAC,SAAU;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC3D,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAA8B;;QAE9B,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,IAAI;gBACZ,qBAAqB,EAAE,IAAI;gBAC3B,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI;oBACT,0BAA0B,EAAE,IAAI;iBACX;aACxB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,2CAA2C;QAC3C;QACE,qBAAqB;QACrB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;YACtB,OAAO,CAAC,MAAM,GAAG,CAAC;aAClB,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,SAAS,CAAA;YACrB,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAC1D,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,sIAAsI,CACvI,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,8BAA8B,CAAC,cAAc,CAAC;gBAC5C,SAAS,EAAE,MAAM,CAAC,SAAU;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAO;gBACtB;;;;mBAIG;gBACH,MAAM,EAAE,MAAM,CAAC,MAAO;gBACtB,MAAM,EAAE,aAAa,CAAC,cAAc,EAAE;aACvC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;;gBACtB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBAChB,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,0CAAE,QAAQ,EAAE;oBACvC,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,QAAQ,EAAE;iBACjB,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,IAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,0BAA0B,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBAClC,SAAS;gBACX,CAAC;gBAED,MAAM,aAAa,GAAmB,MAAM,IAAI,CAAC,OAAO,CAAC;oBACvD,KAAK,EAAE;wBACL,MAAM,EAAE,MAAM,CAAC,MAAO;wBACtB,qBAAqB,EAAE,IAAI;qBAC5B;oBACD,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,0EAA0E;gBAC1E,MAAM,mBAAmB,GAAY,MAAM,IAAI,CAAC,uBAAuB,CACrE,MAAM,CAAC,SAAU,CAClB,CAAC;gBAEF,IAAI,CAAC,mBAAmB,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,gBAAgB,CACxB,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,OAAO;SACtB,CAAC;IACJ,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAA8B;QAE9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,YAAiC,EAAE,CAAC;YAC9D,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,SAAU,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,mDAAmD,CAC5D,IAAI,CAAC,SAAU,CAChB,CAAC;YACF,MAAM,8BAA8B,CAAC,wCAAwC,CAC3E,IAAI,CAAC,MAAO,EACZ,IAAI,CAAC,SAAU,CAChB,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGY,AAAN,KAAK,CAAC,iCAAiC,CAC5C,SAAmB;QAEnB,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,SAAS,EAAE,SAAU;aACtB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;aACb;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,SAAS,GAA8B,OAAO;aACjD,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE;;YAC1B,OAAO,MAAA,MAAM,CAAC,MAAM,0CAAE,QAAQ,EAAE,CAAC;QACnC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,QAA4B,EAAE,EAAE;YACvC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,wBAAwB;IACjE,CAAC;IAGY,AAAN,KAAK,CAAC,eAAe,CAAC,OAAwB;QACnD,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;aACjC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,IAAI;iBACC;aAClB;YAED,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAgB,IAAI,GAAG,EAAU,CAAC;QACrD,MAAM,aAAa,GAAiB,OAAO,CAAC,MAAM,CAAC,CAAC,MAAkB,EAAE,EAAE;;YACxE,MAAM,MAAM,GAAuB,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,0CAAE,QAAQ,EAAE,CAAC;YAChE,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE;YAC9C,OAAO,MAAM,CAAC,IAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAGY,AAAN,KAAK,CAAC,cAAc,CAAC,MAAgB;QAC1C,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;aACf;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;iBACK;aAClB;YAED,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE;YACxC,OAAO,MAAM,CAAC,IAAK,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAGY,AAAN,KAAK,CAAC,mDAAmD,CAC9D,SAAmB;QAEnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAmB,MAAM,cAAc,CAAC,WAAW,CAAC;YAC/D,EAAE,EAAE,SAAS;YACb,MAAM,EAAE;gBACN,6BAA6B,EAAE,IAAI;gBACnC,qBAAqB,EAAE,IAAI;aAC5B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IACE,OAAO;YACP,OAAO,CAAC,6BAA6B;aACrC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAAA,EAC9B,CAAC;YACD,MAAM,IAAI,GACR,gBAAgB,CAAC,uBAAuB,CACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAC/B,CAAC;YAEJ,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,cAAc,CAAC,cAAc,CACjC,OAAO,CAAC,6BAA6B,EACrC,eAAe,CAChB,CAAC;YAEF,MAAM,cAAc,CAAC,aAAa,CAAC;gBACjC,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE;oBACJ,gCAAgC,EAAE,eAAe;iBAClD;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IAEU,AAAN,KAAK,CAAC,iBAAiB,CAC5B,MAAgB,EAChB,SAAmB;QAEnB,MAAM,QAAQ,GAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QACxE,MAAM,MAAM,GACV,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE;gBAC/B,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,MAAM,CAAC;YACnD,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,SAAS;gBACpB,qBAAqB,EAAE,IAAI;aAC5B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI;aACb;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAgB,IAAI,GAAG,EAAU,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAyB,MAAM,CAAC,MAAM,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,QAAQ,EACR,OAAO,CAAC,GAAG,CAAC,CAAC,EAAY,EAAE,EAAE;YAC3B,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,EACF,KAAM,CACP,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AA/uBe;IADb,WAAW,EAAE;;qCACmC,QAAQ;;gEAWxD;AAGwB;IADxB,WAAW,EAAE;;;;uDA0Qb;AAGY;IADZ,WAAW,EAAE;;qCAEJ,QAAQ;QACL,QAAQ;;sDAiBpB;AAiBa;IADb,WAAW,EAAE;;;;+EA2Cb;AAGwB;IADxB,WAAW,EAAE;;6CAGC,UAAU;;wDAkCxB;AAGwB;IADxB,WAAW,EAAE;;6CAGI,KAAK;;wDAoCtB;AAGwB;IADxB,WAAW,EAAE;;;;uDAyFb;AAGwB;IADxB,WAAW,EAAE;;;;wDAgBb;AAGY;IADZ,WAAW,EAAE;;qCAED,QAAQ;;0EAyBpB;AAGY;IADZ,WAAW,EAAE;;qCACwB,KAAK;;wDAmC1C;AAGY;IADZ,WAAW,EAAE;;qCACsB,QAAQ;;uDAwB3C;AAGY;IADZ,WAAW,EAAE;;qCAED,QAAQ;;4FAgDpB;AAQY;IADZ,WAAW,EAAE;;qCAEJ,QAAQ;QACL,QAAQ;;0DA6CpB;AAGH,eAAe,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"TeamMemberService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamMemberService.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ import QueryHelper from "../Types/Database/QueryHelper";
10
11
  import DatabaseService from "./DatabaseService";
11
12
  import LIMIT_MAX from "../../Types/Database/LimitMax";
12
13
  import BadDataException from "../../Types/Exception/BadDataException";
@@ -16,6 +17,7 @@ import ObjectID from "../../Types/ObjectID";
16
17
  import PositiveNumber from "../../Types/PositiveNumber";
17
18
  import TeamMemberService from "./TeamMemberService";
18
19
  import ProjectSCIMService from "./ProjectSCIMService";
20
+ import ModelPermission from "../Types/Database/Permissions/Index";
19
21
  export class Service extends DatabaseService {
20
22
  constructor() {
21
23
  super(Model);
@@ -117,6 +119,7 @@ export class Service extends DatabaseService {
117
119
  limit: LIMIT_MAX,
118
120
  skip: 0,
119
121
  select: {
122
+ _id: true,
120
123
  name: true,
121
124
  isTeamDeleteable: true,
122
125
  projectId: true,
@@ -141,6 +144,46 @@ export class Service extends DatabaseService {
141
144
  throw new BadDataException(`${team.name || "This"} team cannot be deleted its a critical team for this project.`);
142
145
  }
143
146
  }
147
+ /*
148
+ * Delete these teams' memberships THROUGH TeamMemberService before the
149
+ * team rows go. The TeamMember.teamId FK is ON DELETE CASCADE, so leaving
150
+ * the rows to Postgres would remove them hook-free: no token refresh, no
151
+ * seat update, no notification-settings cleanup and no on-call cleanup —
152
+ * a user whose ONLY team was deleted kept their schedule-layer and
153
+ * escalation-rule assignments, their personal calendar feed stayed
154
+ * enabled and the rotateWhenMemberLeaves feeds were never rotated, so
155
+ * the schedule kept rotating onto (and paging) an ex-member. Runs after
156
+ * the guards above so a refused delete removes nobody. Mirrors the SCIM
157
+ * group-delete path, which already deletes members first for the same
158
+ * reason.
159
+ */
160
+ const teamIds = teams
161
+ .map((team) => {
162
+ return team.id;
163
+ })
164
+ .filter((teamId) => {
165
+ return Boolean(teamId);
166
+ });
167
+ if (teamIds.length > 0) {
168
+ /*
169
+ * DatabaseService checks DELETE permission AFTER this hook runs, and the
170
+ * lookup above only needed READ permission. Since we are about to delete
171
+ * rows on the caller's behalf, check the caller's delete permission on
172
+ * Team FIRST — otherwise someone who may read teams but not delete them
173
+ * would still wipe every membership before being refused. The framework
174
+ * re-runs the same check on the untouched query straight after, so this
175
+ * changes nothing for a caller who is allowed.
176
+ */
177
+ await ModelPermission.checkDeleteQueryPermission(Model, deleteBy.query, deleteBy.props);
178
+ await TeamMemberService.deleteBy({
179
+ query: {
180
+ teamId: QueryHelper.any(teamIds),
181
+ },
182
+ limit: LIMIT_MAX,
183
+ skip: 0,
184
+ props: { isRoot: true },
185
+ });
186
+ }
144
187
  return { deleteBy, carryForward: null };
145
188
  }
146
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TeamService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TeamService.js","sourceRoot":"","sources":["../../../../Server/Services/TeamService.ts"],"names":[],"mappings":"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"}