@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.
- package/Models/DatabaseModels/DashboardDomain.ts +43 -0
- package/Models/DatabaseModels/Index.ts +11 -0
- package/Models/DatabaseModels/MonitorTemplate.ts +15 -3
- package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +43 -0
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +662 -0
- package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +584 -0
- package/Models/DatabaseModels/StatusPageDomain.ts +43 -0
- package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +546 -0
- package/Models/DatabaseModels/UserOnCallShiftReminder.ts +231 -0
- package/Models/DatabaseModels/UserOnCallShiftReminderLog.ts +331 -0
- package/Server/API/DashboardDomainAPI.ts +74 -0
- package/Server/API/MicrosoftTeamsAPI.ts +81 -180
- package/Server/API/OnCallCalendarAPI.ts +2194 -0
- package/Server/API/StatusPageDomainAPI.ts +74 -0
- package/Server/EnvironmentConfig.ts +138 -0
- package/Server/Infrastructure/OnCallCalendarFeedCache.ts +1050 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.ts +43 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.ts +40 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.ts +253 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Middleware/OnCallCalendarFeedRateLimit.ts +487 -0
- package/Server/Middleware/ProjectAuthorization.ts +6 -1
- package/Server/Services/DashboardDomainService.ts +131 -0
- package/Server/Services/Index.ts +12 -0
- package/Server/Services/LogPipelineProcessorService.ts +88 -0
- package/Server/Services/MonitorTemplateService.ts +70 -11
- package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +32 -0
- package/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts +260 -0
- package/Server/Services/OnCallDutyPolicyScheduleLayerService.ts +70 -3
- package/Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts +138 -3
- package/Server/Services/OnCallDutyPolicyScheduleService.ts +1465 -134
- package/Server/Services/OnCallDutyPolicyUserOverrideService.ts +167 -31
- package/Server/Services/ProjectOnCallCalendarFeedService.ts +192 -0
- package/Server/Services/StatusPageDomainService.ts +163 -3
- package/Server/Services/StatusPagePrivateUserSessionService.ts +197 -56
- package/Server/Services/TeamMemberService.ts +489 -1
- package/Server/Services/TeamService.ts +50 -0
- package/Server/Services/UserNotificationSettingService.ts +44 -1
- package/Server/Services/UserOnCallCalendarFeedService.ts +159 -0
- package/Server/Services/UserOnCallShiftReminderLogService.ts +151 -0
- package/Server/Services/UserOnCallShiftReminderService.ts +112 -0
- package/Server/Types/Domain.ts +17 -0
- package/Server/Utils/APIKey/AccessPermission.ts +24 -0
- package/Server/Utils/Greenlock/Greenlock.ts +156 -58
- package/Server/Utils/LogPipelineProcessorValidation.ts +112 -0
- package/Server/Utils/OnCall/CalendarFeedToken.ts +241 -0
- package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1488 -0
- package/Server/Utils/OnCall/OnCallCalendarFeedUrls.ts +230 -0
- package/Server/Utils/OnCall/OnCallShiftChangeListeners.ts +227 -0
- package/Server/Utils/OnCall/OnCallShiftMaterializer.ts +1127 -0
- package/Server/Utils/OnCall/OnCallShiftReminderListener.ts +174 -0
- package/Server/Utils/OnCall/OnCallShiftReminderRunner.ts +2584 -0
- package/Server/Utils/Response.ts +134 -0
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.ts +1094 -45
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +153 -17
- package/Server/Utils/StartServer.ts +10 -0
- package/Server/Utils/Telemetry/AppMetrics.ts +51 -0
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.ts +23 -11
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.ts +0 -170
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.ts +158 -0
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +23 -11
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +35 -13
- package/Tests/App/Dashboard/MonitorTemplateColumnAndFacet.test.tsx +505 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedLinks.test.tsx +229 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +489 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +149 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedUtil.test.ts +855 -0
- package/Tests/App/Dashboard/OnCallPersonalCalendarFeed.test.tsx +1209 -0
- package/Tests/App/Dashboard/OnCallSharedCalendarFeedCard.test.tsx +1019 -0
- package/Tests/App/Dashboard/OnCallShiftRemindersAndUpcomingShifts.test.tsx +655 -0
- package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +73 -0
- package/Tests/App/StatusPage/StatusPageLoginCodeBootstrap.test.ts +106 -0
- package/Tests/App/StatusPage/StatusPageLoginCodeUtil.test.ts +84 -0
- package/Tests/App/StatusPage/StatusPageRedirectSafety.test.ts +119 -0
- package/Tests/Models/MonitorTemplateMonitorNameColumn.test.ts +258 -0
- package/Tests/Models/OnCallCalendarFeedModels.test.ts +642 -0
- package/Tests/Models/OnCallDutyPolicyScheduleCalendarFeed.test.ts +288 -0
- package/Tests/Models/OnCallDutyPolicyScheduleShiftConfigVersion.test.ts +88 -0
- package/Tests/Models/UserOnCallShiftReminderModels.test.ts +368 -0
- package/Tests/Server/API/CustomDomainReissueSslAPI.test.ts +469 -0
- package/Tests/Server/API/Helpers.ts +8 -0
- package/Tests/Server/API/MicrosoftTeamsBotMessagesEndpoint.test.ts +729 -0
- package/Tests/Server/API/MicrosoftTeamsBotTestEndpoint.test.ts +26 -0
- package/Tests/Server/API/MicrosoftTeamsLegacyWebhookRemoval.test.ts +402 -0
- package/Tests/Server/API/OnCallCalendarAPI.test.ts +4461 -0
- package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +357 -0
- package/Tests/Server/Infrastructure/OnCallCalendarFeedCache.test.ts +1589 -0
- package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +369 -0
- package/Tests/Server/Middleware/OnCallCalendarFeedRateLimit.test.ts +1365 -0
- package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +4 -0
- package/Tests/Server/Services/AddCertificateReissueRequestedAtToDomainsMigration.test.ts +287 -0
- package/Tests/Server/Services/CustomDomainCertificateReissue.test.ts +477 -0
- package/Tests/Server/Services/FeedRetentionConsistency.test.ts +70 -0
- package/Tests/Server/Services/LogPipelineProcessorSaveValidation.test.ts +249 -0
- package/Tests/Server/Services/MonitorTemplateServiceBulkSync.test.ts +549 -0
- package/Tests/Server/Services/MonitorTemplateServiceNetworkDeviceSync.test.ts +16 -3
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +57 -0
- package/Tests/Server/Services/OnCallCalendarFeedServices.test.ts +1103 -0
- package/Tests/Server/Services/OnCallDutyPolicyScheduleResolver.test.ts +1037 -0
- package/Tests/Server/Services/OnCallShiftConfigPropagation.test.ts +1270 -0
- package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +151 -15
- package/Tests/Server/Services/StatusPagePrivateUserSessionService.test.ts +587 -0
- package/Tests/Server/Services/TeamDeleteMemberCleanup.test.ts +156 -0
- package/Tests/Server/Services/TeamMemberOnCallCleanup.test.ts +755 -0
- package/Tests/Server/Services/UserNotificationSettingShiftReminderDefaults.test.ts +267 -0
- package/Tests/Server/Services/UserOnCallShiftReminderServices.test.ts +583 -0
- package/Tests/Server/Types/Database/Permissions/ApiKeyFileAccess.test.ts +286 -0
- package/Tests/Server/Types/Database/Permissions/MonitorTemplateColumnAccess.test.ts +328 -0
- package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +254 -0
- package/Tests/Server/Types/Database/QueryHelperFindWithSameTextAndIsNull.test.ts +83 -0
- package/Tests/Server/Utils/AI/SRE/ConfidenceSignal.test.ts +377 -0
- package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +16 -1
- package/Tests/Server/Utils/Greenlock/CertificateRenewalSchedule.test.ts +250 -0
- package/Tests/Server/Utils/LogPipelineProcessorValidation.test.ts +198 -0
- package/Tests/Server/Utils/OnCall/CalendarFeedToken.test.ts +467 -0
- package/Tests/Server/Utils/OnCall/OnCallCalendarFeedRenderer.test.ts +2142 -0
- package/Tests/Server/Utils/OnCall/OnCallCalendarFeedUrls.test.ts +278 -0
- package/Tests/Server/Utils/OnCall/OnCallResolverTestHarness.ts +440 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftChangeListeners.test.ts +314 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftMaterializer.test.ts +1502 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderListener.test.ts +491 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderRunner.test.ts +3088 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderTestHarness.ts +910 -0
- package/Tests/Server/Utils/ResponseSendCalendarResponse.test.ts +561 -0
- package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +48 -9
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsAuth.test.ts +726 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsClient.test.ts +74 -11
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsErrorHandling.test.ts +1107 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +20 -3
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +51 -11
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerHardening.test.ts +1246 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsRequestContract.test.ts +961 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsResponseParsing.test.ts +653 -0
- package/Tests/Server/Utils/StartServerEncryptionSecretWarning.test.ts +64 -0
- package/Tests/Server/Utils/Telemetry/AppMetrics.test.ts +29 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsActionAuthorization.test.ts +880 -0
- package/Tests/Types/API/HTTPResponse.test.ts +175 -0
- package/Tests/Types/API/Route.test.ts +36 -4
- package/Tests/Types/Calendar/ICalendar.test.ts +488 -0
- package/Tests/Types/Database/DatabaseProperty.test.ts +171 -0
- package/Tests/Types/DateLocalShortDateTimeString.test.ts +518 -0
- package/Tests/Types/DateLocalTimeString.test.ts +259 -0
- package/Tests/Types/DateUserPrefers12HourFormat.test.ts +316 -0
- package/Tests/Types/NotificationSetting/NotificationSettingEventType.test.ts +53 -0
- package/Tests/Types/OnCallDutyPolicy/CalendarFeedTestFixtures.ts +310 -0
- package/Tests/Types/OnCallDutyPolicy/CalendarFeedWindow.test.ts +205 -0
- package/Tests/Types/OnCallDutyPolicy/LayerUtilLayerMetaAndIterationCap.test.ts +458 -0
- package/Tests/Types/OnCallDutyPolicy/MaterializedShift.test.ts +197 -0
- package/Tests/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.test.ts +1986 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleShiftUtilGroupKey.test.ts +678 -0
- package/Tests/Types/OnCallDutyPolicy/ShiftSeamUtil.test.ts +417 -0
- package/Tests/UI/Components/LogsHistogram.test.tsx +41 -2
- package/Tests/UI/Components/LogsViewerEmptyStateTimeRange.test.tsx +212 -0
- package/Tests/UI/Components/TelemetryChartClockFormat.test.tsx +359 -0
- package/Tests/UI/Components/TimeRangePickerClockFormat.test.tsx +422 -0
- package/Tests/UI/Components/TimeRangePickerDropdown.test.tsx +146 -8
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsMessagingEndpointGuidance.test.tsx +520 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
- package/Tests/UI/Utils/Navigation.test.ts +82 -0
- package/Tests/Utils/Array.test.ts +100 -0
- package/Tests/Utils/CertificateReissue.test.ts +225 -0
- package/Tests/Utils/Grok/Grok.test.ts +492 -0
- package/Tests/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.test.ts +181 -13
- package/Types/API/Route.ts +20 -5
- package/Types/Calendar/ICalendar.ts +442 -0
- package/Types/Date.ts +143 -13
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
- package/Types/OnCallDutyPolicy/CalendarFeedWindow.ts +140 -0
- package/Types/OnCallDutyPolicy/Layer.ts +190 -35
- package/Types/OnCallDutyPolicy/MaterializedShift.ts +274 -0
- package/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.ts +1415 -0
- package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +159 -4
- package/Types/OnCallDutyPolicy/ShiftSeamUtil.ts +106 -0
- package/Types/Rum/SessionReplay.ts +62 -1
- package/UI/Components/Date/TimeRangePickerDropdown.tsx +9 -5
- package/UI/Components/LogsViewer/LogsViewer.tsx +12 -7
- package/UI/Components/LogsViewer/components/HistogramTooltip.tsx +18 -17
- package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +21 -28
- package/UI/Components/LogsViewer/components/LogsHistogram.tsx +2 -4
- package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +2 -4
- package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +17 -16
- package/UI/Utils/Navigation.ts +42 -0
- package/Utils/Array.ts +37 -0
- package/Utils/CertificateReissue.ts +128 -0
- package/Utils/Grok/Grok.ts +461 -0
- package/Utils/Grok/GrokPatterns.ts +118 -0
- package/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.ts +58 -6
- package/build/dist/Models/DatabaseModels/DashboardDomain.js +44 -0
- package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +11 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTemplate.js +17 -4
- package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +44 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +699 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +620 -0
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js +44 -0
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +585 -0
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js +247 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js +355 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js.map +1 -0
- package/build/dist/Server/API/DashboardDomainAPI.js +43 -1
- package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js +74 -118
- package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallCalendarAPI.js +1371 -0
- package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -0
- package/build/dist/Server/API/StatusPageDomainAPI.js +43 -1
- package/build/dist/Server/API/StatusPageDomainAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +102 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js +663 -0
- package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.js +28 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js +103 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js +342 -0
- package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js.map +1 -0
- package/build/dist/Server/Middleware/ProjectAuthorization.js +6 -1
- package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
- package/build/dist/Server/Services/DashboardDomainService.js +104 -0
- package/build/dist/Server/Services/DashboardDomainService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +12 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/LogPipelineProcessorService.js +65 -0
- package/build/dist/Server/Services/LogPipelineProcessorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +57 -11
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +20 -0
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js +219 -0
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js +47 -3
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js +112 -3
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +955 -9
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js +93 -6
- package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js.map +1 -1
- package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js +157 -0
- package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/StatusPageDomainService.js +132 -3
- package/build/dist/Server/Services/StatusPageDomainService.js.map +1 -1
- package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js +112 -32
- package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +396 -1
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TeamService.js +43 -0
- package/build/dist/Server/Services/TeamService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js +26 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserOnCallCalendarFeedService.js +140 -0
- package/build/dist/Server/Services/UserOnCallCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js +116 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js.map +1 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderService.js +92 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderService.js.map +1 -0
- package/build/dist/Server/Types/Domain.js +16 -0
- package/build/dist/Server/Types/Domain.js.map +1 -1
- package/build/dist/Server/Utils/APIKey/AccessPermission.js +24 -0
- package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
- package/build/dist/Server/Utils/Greenlock/Greenlock.js +110 -35
- package/build/dist/Server/Utils/Greenlock/Greenlock.js.map +1 -1
- package/build/dist/Server/Utils/LogPipelineProcessorValidation.js +77 -0
- package/build/dist/Server/Utils/LogPipelineProcessorValidation.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js +161 -0
- package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js +983 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js +155 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js +145 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js +752 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js +92 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js +1786 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js.map +1 -0
- package/build/dist/Server/Utils/Response.js +97 -0
- package/build/dist/Server/Utils/Response.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js +777 -36
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +108 -17
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +9 -1
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js +41 -0
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js +17 -6
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js +0 -159
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.js +128 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.js.map +1 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +17 -6
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +25 -13
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/API/Route.js +16 -5
- package/build/dist/Types/API/Route.js.map +1 -1
- package/build/dist/Types/Calendar/ICalendar.js +290 -0
- package/build/dist/Types/Calendar/ICalendar.js.map +1 -0
- package/build/dist/Types/Date.js +115 -13
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +2 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js +97 -0
- package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/Layer.js +113 -19
- package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js +134 -0
- package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js +800 -0
- package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +97 -3
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js +77 -0
- package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js.map +1 -0
- package/build/dist/Types/Rum/SessionReplay.js +38 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js +9 -5
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +12 -7
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/HistogramTooltip.js +15 -14
- package/build/dist/UI/Components/LogsViewer/components/HistogramTooltip.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +17 -22
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js +2 -4
- package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +2 -4
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +15 -14
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +30 -0
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/build/dist/Utils/Array.js +25 -0
- package/build/dist/Utils/Array.js.map +1 -1
- package/build/dist/Utils/CertificateReissue.js +97 -0
- package/build/dist/Utils/CertificateReissue.js.map +1 -0
- package/build/dist/Utils/Grok/Grok.js +324 -0
- package/build/dist/Utils/Grok/Grok.js.map +1 -0
- package/build/dist/Utils/Grok/GrokPatterns.js +112 -0
- package/build/dist/Utils/Grok/GrokPatterns.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js +63 -3
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js.map +1 -1
- package/package.json +1 -1
- package/UI/Utils/JsonWebToken.ts +0 -14
- package/build/dist/UI/Utils/JsonWebToken.js +0 -10
- package/build/dist/UI/Utils/JsonWebToken.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnCallDutyPolicyScheduleCalendarFeedService.js","sourceRoot":"","sources":["../../../../Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,10 +18,48 @@ import OneUptimeDate from "../../Types/Date";
|
|
|
18
18
|
import Model from "../../Models/DatabaseModels/OnCallDutyPolicyScheduleLayer";
|
|
19
19
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
20
20
|
import OnCallDutyPolicyScheduleService from "./OnCallDutyPolicyScheduleService";
|
|
21
|
+
import { OnCallShiftChangeReason } from "../Utils/OnCall/OnCallShiftChangeListeners";
|
|
22
|
+
import logger from "../Utils/Logger";
|
|
21
23
|
export class Service extends DatabaseService {
|
|
22
24
|
constructor() {
|
|
23
25
|
super(Model);
|
|
24
26
|
}
|
|
27
|
+
/*
|
|
28
|
+
* A layer edit changes who is on call and when for the whole schedule:
|
|
29
|
+
* bump its shiftConfigVersion, drop the calendar-feed caches and let the
|
|
30
|
+
* shift-change listeners re-plan. Runs AFTER the roster refresh so a
|
|
31
|
+
* listener that re-materializes sees the new configuration. Best-effort by
|
|
32
|
+
* construction (propagateShiftConfigChange never throws).
|
|
33
|
+
*/
|
|
34
|
+
async propagateLayerChange(scheduleId, projectId) {
|
|
35
|
+
if (!scheduleId) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
await OnCallDutyPolicyScheduleService.propagateShiftConfigChange({
|
|
39
|
+
scheduleIds: [scheduleId],
|
|
40
|
+
projectId: projectId || null,
|
|
41
|
+
reason: OnCallShiftChangeReason.LayerChanged,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Re-resolve and persist the schedule's roster after a layer change.
|
|
46
|
+
* Best-effort: the row is already committed when the success hooks run, so
|
|
47
|
+
* a throwing refresh (a concurrently-deleted schedule, a transient
|
|
48
|
+
* persistence or notification failure) must not abort the hook before
|
|
49
|
+
* propagateLayerChange bumps the shiftConfigVersion and purges the feed
|
|
50
|
+
* caches — otherwise the caches would keep serving the pre-edit roster for
|
|
51
|
+
* up to their TTL and the reminder change pass would be skipped. Mirrors
|
|
52
|
+
* OnCallDutyPolicyEscalationRuleScheduleService.refreshScheduleRoster.
|
|
53
|
+
*/
|
|
54
|
+
async refreshScheduleRosterBestEffort(scheduleId) {
|
|
55
|
+
try {
|
|
56
|
+
await OnCallDutyPolicyScheduleService.refreshCurrentUserIdAndHandoffTimeInSchedule(scheduleId);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
logger.error("Error refreshing the schedule roster after a layer change (best-effort).");
|
|
60
|
+
logger.error(err);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
25
63
|
/*
|
|
26
64
|
* A rotation interval count of 0 / NaN / negative breaks the handoff math
|
|
27
65
|
* (division by zero, Invalid Date), so reject it at the persistence boundary.
|
|
@@ -114,6 +152,7 @@ export class Service extends DatabaseService {
|
|
|
114
152
|
id: createdItem.id,
|
|
115
153
|
select: {
|
|
116
154
|
onCallDutyPolicyScheduleId: true,
|
|
155
|
+
projectId: true,
|
|
117
156
|
},
|
|
118
157
|
props: {
|
|
119
158
|
isRoot: true,
|
|
@@ -122,7 +161,8 @@ export class Service extends DatabaseService {
|
|
|
122
161
|
if (!resource || !resource.onCallDutyPolicyScheduleId) {
|
|
123
162
|
return createdItem;
|
|
124
163
|
}
|
|
125
|
-
await
|
|
164
|
+
await this.refreshScheduleRosterBestEffort(resource.onCallDutyPolicyScheduleId);
|
|
165
|
+
await this.propagateLayerChange(resource.onCallDutyPolicyScheduleId, resource.projectId);
|
|
126
166
|
return createdItem;
|
|
127
167
|
}
|
|
128
168
|
async onBeforeUpdate(updateBy) {
|
|
@@ -139,6 +179,7 @@ export class Service extends DatabaseService {
|
|
|
139
179
|
id: item,
|
|
140
180
|
select: {
|
|
141
181
|
onCallDutyPolicyScheduleId: true,
|
|
182
|
+
projectId: true,
|
|
142
183
|
},
|
|
143
184
|
props: {
|
|
144
185
|
isRoot: true,
|
|
@@ -147,7 +188,8 @@ export class Service extends DatabaseService {
|
|
|
147
188
|
if (!resource || !resource.onCallDutyPolicyScheduleId) {
|
|
148
189
|
continue;
|
|
149
190
|
}
|
|
150
|
-
await
|
|
191
|
+
await this.refreshScheduleRosterBestEffort(resource.onCallDutyPolicyScheduleId);
|
|
192
|
+
await this.propagateLayerChange(resource.onCallDutyPolicyScheduleId, resource.projectId);
|
|
151
193
|
}
|
|
152
194
|
return {
|
|
153
195
|
updateBy: _onUpdate.updateBy,
|
|
@@ -179,6 +221,7 @@ export class Service extends DatabaseService {
|
|
|
179
221
|
select: {
|
|
180
222
|
order: true,
|
|
181
223
|
onCallDutyPolicyScheduleId: true,
|
|
224
|
+
projectId: true,
|
|
182
225
|
},
|
|
183
226
|
});
|
|
184
227
|
}
|
|
@@ -193,7 +236,8 @@ export class Service extends DatabaseService {
|
|
|
193
236
|
if (!deleteBy.props.isRoot && resource) {
|
|
194
237
|
if (resource && resource.order && resource.onCallDutyPolicyScheduleId) {
|
|
195
238
|
await this.rearrangeOrder(resource.order, resource.onCallDutyPolicyScheduleId, false);
|
|
196
|
-
await
|
|
239
|
+
await this.refreshScheduleRosterBestEffort(resource.onCallDutyPolicyScheduleId);
|
|
240
|
+
await this.propagateLayerChange(resource.onCallDutyPolicyScheduleId, resource.projectId);
|
|
197
241
|
}
|
|
198
242
|
}
|
|
199
243
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnCallDutyPolicyScheduleLayerService.js","sourceRoot":"","sources":["../../../../Server/Services/OnCallDutyPolicyScheduleLayerService.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAGtE,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,gBAAgB,EAAE,EACvB,eAAe,GAChB,MAAM,+CAA+C,CAAC;AACvD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,MAAM,2DAA2D,CAAC;AAC9E,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"OnCallDutyPolicyScheduleLayerService.js","sourceRoot":"","sources":["../../../../Server/Services/OnCallDutyPolicyScheduleLayerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,107 @@ import DatabaseService from "./DatabaseService";
|
|
|
12
12
|
import SortOrder from "../../Types/BaseDatabase/SortOrder";
|
|
13
13
|
import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
14
14
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
15
|
+
import ObjectID from "../../Types/ObjectID";
|
|
15
16
|
import Model from "../../Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser";
|
|
16
17
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
17
18
|
import OnCallDutyPolicyScheduleService from "./OnCallDutyPolicyScheduleService";
|
|
19
|
+
import { OnCallShiftChangeReason } from "../Utils/OnCall/OnCallShiftChangeListeners";
|
|
20
|
+
import logger from "../Utils/Logger";
|
|
18
21
|
export class Service extends DatabaseService {
|
|
19
22
|
constructor() {
|
|
20
23
|
super(Model);
|
|
21
24
|
}
|
|
25
|
+
/*
|
|
26
|
+
* Adding, removing or re-ordering a layer user rewrites the rotation of the
|
|
27
|
+
* whole schedule (the engine derives every position from the current user
|
|
28
|
+
* list), so the schedule's shiftConfigVersion is bumped, its feed caches
|
|
29
|
+
* dropped, and the listeners told — naming the user the row belongs to so
|
|
30
|
+
* their personal feed and reminders are refreshed even when they are no
|
|
31
|
+
* longer a member. Runs after the roster refresh; never throws.
|
|
32
|
+
*/
|
|
33
|
+
async propagateLayerUserChange(scheduleId, projectId, userId) {
|
|
34
|
+
if (!scheduleId) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
await OnCallDutyPolicyScheduleService.propagateShiftConfigChange({
|
|
38
|
+
scheduleIds: [scheduleId],
|
|
39
|
+
projectId: projectId || null,
|
|
40
|
+
userIds: userId ? [userId] : [],
|
|
41
|
+
reason: OnCallShiftChangeReason.LayerUserChanged,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Re-resolve and persist the schedule's roster after a layer-user change.
|
|
46
|
+
* Best-effort: the row is already committed when the success hooks run, so
|
|
47
|
+
* a throwing refresh (a concurrently-deleted schedule, a transient
|
|
48
|
+
* persistence or notification failure) must not abort the hook before
|
|
49
|
+
* propagateLayerUserChange bumps the shiftConfigVersion and purges the
|
|
50
|
+
* feed caches — otherwise the caches would keep serving the pre-edit
|
|
51
|
+
* roster for up to their TTL and the reminder change pass would be
|
|
52
|
+
* skipped. Mirrors
|
|
53
|
+
* OnCallDutyPolicyEscalationRuleScheduleService.refreshScheduleRoster.
|
|
54
|
+
*/
|
|
55
|
+
async refreshScheduleRosterBestEffort(scheduleId) {
|
|
56
|
+
try {
|
|
57
|
+
await OnCallDutyPolicyScheduleService.refreshCurrentUserIdAndHandoffTimeInSchedule(scheduleId);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
logger.error("Error refreshing the schedule roster after a layer-user change (best-effort).");
|
|
61
|
+
logger.error(err);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Renumber the users of a layer 1..n by their current order. Used by the
|
|
66
|
+
* team-member cleanup, which deletes layer-user rows as root (the per-row
|
|
67
|
+
* re-sequencing in onDeleteSuccess only runs for non-root deletes) and
|
|
68
|
+
* must restore the contiguous 1-based order the create-default (count + 1)
|
|
69
|
+
* and delete paths rely on. Idempotent.
|
|
70
|
+
*/
|
|
71
|
+
async resequenceOrderInLayer(onCallDutyPolicyScheduleLayerId) {
|
|
72
|
+
const rows = await this.findBy({
|
|
73
|
+
query: {
|
|
74
|
+
onCallDutyPolicyScheduleLayerId: onCallDutyPolicyScheduleLayerId,
|
|
75
|
+
},
|
|
76
|
+
select: {
|
|
77
|
+
_id: true,
|
|
78
|
+
order: true,
|
|
79
|
+
},
|
|
80
|
+
sort: {
|
|
81
|
+
order: SortOrder.Ascending,
|
|
82
|
+
},
|
|
83
|
+
limit: LIMIT_MAX,
|
|
84
|
+
skip: 0,
|
|
85
|
+
props: {
|
|
86
|
+
isRoot: true,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
let expectedOrder = 1;
|
|
90
|
+
for (const row of rows) {
|
|
91
|
+
if (row.order !== expectedOrder && row._id) {
|
|
92
|
+
/*
|
|
93
|
+
* ignoreHooks: renumbering is bookkeeping, not a roster change — the
|
|
94
|
+
* caller (the team-member cleanup) refreshes and propagates once per
|
|
95
|
+
* schedule itself. With hooks on, every renumbered row would run a
|
|
96
|
+
* full onUpdateSuccess (semaphore-locked roster refresh + version
|
|
97
|
+
* bump + cache purge + listener pass), i.e. N-1 redundant refreshes
|
|
98
|
+
* per layer, and any hook throw would abort the remaining renumbering.
|
|
99
|
+
*/
|
|
100
|
+
await this.updateOneBy({
|
|
101
|
+
query: {
|
|
102
|
+
_id: row._id,
|
|
103
|
+
},
|
|
104
|
+
data: {
|
|
105
|
+
order: expectedOrder,
|
|
106
|
+
},
|
|
107
|
+
props: {
|
|
108
|
+
isRoot: true,
|
|
109
|
+
ignoreHooks: true,
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
expectedOrder++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
22
116
|
async onBeforeCreate(createBy) {
|
|
23
117
|
var _a;
|
|
24
118
|
if (!createBy.data.onCallDutyPolicyScheduleLayerId) {
|
|
@@ -55,7 +149,8 @@ export class Service extends DatabaseService {
|
|
|
55
149
|
resource.onCallDutyPolicyScheduleLayerId) {
|
|
56
150
|
await this.rearrangeOrder(resource.order, resource.onCallDutyPolicyScheduleLayerId, false);
|
|
57
151
|
if (resource.onCallDutyPolicyScheduleId) {
|
|
58
|
-
await
|
|
152
|
+
await this.refreshScheduleRosterBestEffort(resource.onCallDutyPolicyScheduleId);
|
|
153
|
+
await this.propagateLayerUserChange(resource.onCallDutyPolicyScheduleId, resource.projectId, resource.userId);
|
|
59
154
|
}
|
|
60
155
|
}
|
|
61
156
|
}
|
|
@@ -79,6 +174,8 @@ export class Service extends DatabaseService {
|
|
|
79
174
|
order: true,
|
|
80
175
|
onCallDutyPolicyScheduleLayerId: true,
|
|
81
176
|
onCallDutyPolicyScheduleId: true,
|
|
177
|
+
projectId: true,
|
|
178
|
+
userId: true,
|
|
82
179
|
},
|
|
83
180
|
});
|
|
84
181
|
}
|
|
@@ -92,6 +189,8 @@ export class Service extends DatabaseService {
|
|
|
92
189
|
id: createdItem.id,
|
|
93
190
|
select: {
|
|
94
191
|
onCallDutyPolicyScheduleId: true,
|
|
192
|
+
projectId: true,
|
|
193
|
+
userId: true,
|
|
95
194
|
},
|
|
96
195
|
props: {
|
|
97
196
|
isRoot: true,
|
|
@@ -100,7 +199,8 @@ export class Service extends DatabaseService {
|
|
|
100
199
|
if (!resource || !resource.onCallDutyPolicyScheduleId) {
|
|
101
200
|
return createdItem;
|
|
102
201
|
}
|
|
103
|
-
await
|
|
202
|
+
await this.refreshScheduleRosterBestEffort(resource.onCallDutyPolicyScheduleId);
|
|
203
|
+
await this.propagateLayerUserChange(resource.onCallDutyPolicyScheduleId, resource.projectId, resource.userId);
|
|
104
204
|
return createdItem;
|
|
105
205
|
}
|
|
106
206
|
async onUpdateSuccess(_onUpdate, updatedItemIds) {
|
|
@@ -109,6 +209,8 @@ export class Service extends DatabaseService {
|
|
|
109
209
|
id: item,
|
|
110
210
|
select: {
|
|
111
211
|
onCallDutyPolicyScheduleId: true,
|
|
212
|
+
projectId: true,
|
|
213
|
+
userId: true,
|
|
112
214
|
},
|
|
113
215
|
props: {
|
|
114
216
|
isRoot: true,
|
|
@@ -117,7 +219,8 @@ export class Service extends DatabaseService {
|
|
|
117
219
|
if (!resource || !resource.onCallDutyPolicyScheduleId) {
|
|
118
220
|
continue;
|
|
119
221
|
}
|
|
120
|
-
await
|
|
222
|
+
await this.refreshScheduleRosterBestEffort(resource.onCallDutyPolicyScheduleId);
|
|
223
|
+
await this.propagateLayerUserChange(resource.onCallDutyPolicyScheduleId, resource.projectId, resource.userId);
|
|
121
224
|
}
|
|
122
225
|
return {
|
|
123
226
|
updateBy: _onUpdate.updateBy,
|
|
@@ -248,6 +351,12 @@ export class Service extends DatabaseService {
|
|
|
248
351
|
}
|
|
249
352
|
}
|
|
250
353
|
}
|
|
354
|
+
__decorate([
|
|
355
|
+
CaptureSpan(),
|
|
356
|
+
__metadata("design:type", Function),
|
|
357
|
+
__metadata("design:paramtypes", [ObjectID]),
|
|
358
|
+
__metadata("design:returntype", Promise)
|
|
359
|
+
], Service.prototype, "resequenceOrderInLayer", null);
|
|
251
360
|
__decorate([
|
|
252
361
|
CaptureSpan(),
|
|
253
362
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnCallDutyPolicyScheduleLayerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"OnCallDutyPolicyScheduleLayerUserService.js","sourceRoot":"","sources":["../../../../Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts"],"names":[],"mappings":"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"}
|