@oneuptime/common 10.0.53 → 10.0.55
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/AnalyticsModels/Metric.ts +78 -0
- package/Server/API/AIAgentDataAPI.ts +6 -1
- package/Server/API/BillingAPI.ts +28 -6
- package/Server/API/CommonAPI.ts +11 -0
- package/Server/API/DashboardAPI.ts +6 -2
- package/Server/API/DashboardDomainAPI.ts +10 -3
- package/Server/API/GitHubAPI.ts +58 -14
- package/Server/API/MicrosoftTeamsAPI.ts +97 -33
- package/Server/API/OpenSourceDeploymentAPI.ts +2 -2
- package/Server/API/SlackAPI.ts +107 -36
- package/Server/API/StatusAPI.ts +37 -16
- package/Server/API/StatusPageAPI.ts +97 -23
- package/Server/API/StatusPageDomainAPI.ts +6 -3
- package/Server/API/UserAPI.ts +3 -3
- package/Server/API/UserCallAPI.ts +5 -2
- package/Server/API/UserEmailAPI.ts +5 -2
- package/Server/API/UserPushAPI.ts +9 -3
- package/Server/API/UserSmsAPI.ts +5 -2
- package/Server/API/UserWhatsAppAPI.ts +5 -2
- package/Server/Infrastructure/Postgres/SchemaMigrations/1774559064921-MigrationName.ts +47 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1775735059360-MigrationName.ts +35 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Middleware/NotificationMiddleware.ts +2 -2
- package/Server/Middleware/ProjectAuthorization.ts +6 -0
- package/Server/Middleware/SCIMAuthorization.ts +2 -1
- package/Server/Middleware/SlackAuthorization.ts +28 -10
- package/Server/Middleware/TelemetryIngest.ts +16 -3
- package/Server/Middleware/UserAuthorization.ts +22 -5
- package/Server/Middleware/WhatsAppAuthorization.ts +15 -4
- package/Server/Services/AIAgentService.ts +13 -6
- package/Server/Services/AIService.ts +9 -3
- package/Server/Services/AlertEpisodeFeedService.ts +17 -5
- package/Server/Services/AlertEpisodeService.ts +34 -3
- package/Server/Services/AlertEpisodeStateTimelineService.ts +80 -22
- package/Server/Services/AlertFeedService.ts +17 -5
- package/Server/Services/AlertGroupingEngineService.ts +36 -7
- package/Server/Services/AlertService.ts +60 -8
- package/Server/Services/AlertStateTimelineService.ts +29 -7
- package/Server/Services/AnalyticsDatabaseService.ts +59 -25
- package/Server/Services/BillingInvoiceService.ts +7 -3
- package/Server/Services/BillingService.ts +9 -2
- package/Server/Services/DashboardDomainService.ts +56 -22
- package/Server/Services/DashboardService.ts +11 -4
- package/Server/Services/DatabaseService.ts +31 -11
- package/Server/Services/IncidentEpisodeFeedService.ts +17 -5
- package/Server/Services/IncidentEpisodeService.ts +34 -3
- package/Server/Services/IncidentEpisodeStateTimelineService.ts +80 -22
- package/Server/Services/IncidentFeedService.ts +33 -9
- package/Server/Services/IncidentGroupingEngineService.ts +35 -6
- package/Server/Services/IncidentService.ts +103 -9
- package/Server/Services/IncidentSlaRuleService.ts +16 -4
- package/Server/Services/IncidentSlaService.ts +20 -4
- package/Server/Services/IncidentStateTimelineService.ts +120 -31
- package/Server/Services/KubernetesClusterService.ts +62 -14
- package/Server/Services/MonitorFeedService.ts +33 -9
- package/Server/Services/MonitorProbeService.ts +46 -23
- package/Server/Services/MonitorService.ts +35 -4
- package/Server/Services/MonitorStatusTimelineService.ts +68 -20
- package/Server/Services/NotificationService.ts +4 -2
- package/Server/Services/OnCallDutyPolicyEscalationRuleService.ts +53 -9
- package/Server/Services/OnCallDutyPolicyEscalationRuleUserService.ts +9 -2
- package/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.ts +29 -8
- package/Server/Services/OnCallDutyPolicyFeedService.ts +33 -8
- package/Server/Services/OnCallDutyPolicyScheduleService.ts +97 -24
- package/Server/Services/OnCallDutyPolicyService.ts +2 -1
- package/Server/Services/OpenTelemetryIngestService.ts +51 -20
- package/Server/Services/ProbeService.ts +16 -7
- package/Server/Services/ProjectService.ts +21 -7
- package/Server/Services/ScheduledMaintenanceFeedService.ts +17 -4
- package/Server/Services/ScheduledMaintenanceService.ts +52 -6
- package/Server/Services/ScheduledMaintenanceStateTimelineService.ts +72 -20
- package/Server/Services/StatusPageDomainService.ts +59 -23
- package/Server/Services/StatusPageService.ts +26 -8
- package/Server/Services/StatusPageSubscriberService.ts +382 -111
- package/Server/Services/TeamMemberService.ts +9 -3
- package/Server/Services/UserNotificationRuleService.ts +9 -3
- package/Server/Services/UserService.ts +6 -4
- package/Server/Services/UserWhatsAppService.ts +9 -3
- package/Server/Services/WorkflowService.ts +7 -3
- package/Server/Services/WorkspaceNotificationRuleService.ts +398 -156
- package/Server/Types/Domain.ts +15 -5
- package/Server/Types/Workflow/Components/API/Post.ts +22 -8
- package/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.ts +12 -4
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +10 -0
- package/Server/Utils/CodeRepository/CodeRepository.ts +62 -13
- package/Server/Utils/Express.ts +1 -0
- package/Server/Utils/Greenlock/Greenlock.ts +75 -20
- package/Server/Utils/LLM/LLMService.ts +22 -7
- package/Server/Utils/Logger.ts +93 -13
- package/Server/Utils/Monitor/MonitorAlert.ts +15 -3
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +15 -5
- package/Server/Utils/Monitor/MonitorIncident.ts +17 -3
- package/Server/Utils/Monitor/MonitorStatusTimeline.ts +6 -1
- package/Server/Utils/Profiling.ts +11 -5
- package/Server/Utils/Realtime.ts +90 -31
- package/Server/Utils/Response.ts +2 -2
- package/Server/Utils/StartServer.ts +43 -9
- package/Server/Utils/Telemetry/SpanUtil.ts +90 -0
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.ts +58 -15
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.ts +58 -15
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.ts +19 -3
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +87 -22
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Monitor.ts +12 -3
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/OnCallDutyPolicy.ts +25 -7
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.ts +55 -8
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +100 -22
- package/Server/Utils/Workspace/Slack/Actions/Alert.ts +35 -9
- package/Server/Utils/Workspace/Slack/Actions/AlertEpisode.ts +32 -8
- package/Server/Utils/Workspace/Slack/Actions/Auth.ts +3 -1
- package/Server/Utils/Workspace/Slack/Actions/Incident.ts +52 -11
- package/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.ts +4 -1
- package/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts +89 -20
- package/Server/Utils/Workspace/Slack/Slack.ts +498 -247
- package/Server/Utils/Workspace/Workspace.ts +33 -11
- package/Server/Utils/Workspace/WorkspaceBase.ts +3 -1
- package/Server/Utils/Workspace/WorkspaceMessages/Alert.ts +8 -2
- package/Tests/Server/Middleware/UserAuthorization.test.ts +1 -1
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +12 -3
- package/UI/Components/Charts/Area/AreaChart.tsx +35 -1
- package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +7 -0
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +33 -0
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +33 -0
- package/UI/Components/Charts/ChartLibrary/Types/FormattedExemplarPoint.ts +14 -0
- package/UI/Components/Charts/Line/LineChart.tsx +35 -1
- package/UI/Components/Charts/Types/ExemplarPoint.ts +6 -0
- package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +3 -3
- package/UI/Components/Navbar/NavBar.tsx +10 -0
- package/build/dist/Models/AnalyticsModels/Metric.js +70 -0
- package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +6 -6
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/BillingAPI.js +13 -13
- package/build/dist/Server/API/BillingAPI.js.map +1 -1
- package/build/dist/Server/API/CommonAPI.js +5 -0
- package/build/dist/Server/API/CommonAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +2 -2
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardDomainAPI.js +3 -3
- package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -1
- package/build/dist/Server/API/GitHubAPI.js +19 -19
- package/build/dist/Server/API/GitHubAPI.js.map +1 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js +34 -34
- package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/OpenSourceDeploymentAPI.js +2 -2
- package/build/dist/Server/API/OpenSourceDeploymentAPI.js.map +1 -1
- package/build/dist/Server/API/SlackAPI.js +38 -38
- package/build/dist/Server/API/SlackAPI.js.map +1 -1
- package/build/dist/Server/API/StatusAPI.js +16 -16
- package/build/dist/Server/API/StatusAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +52 -52
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageDomainAPI.js +3 -3
- package/build/dist/Server/API/StatusPageDomainAPI.js.map +1 -1
- package/build/dist/Server/API/UserAPI.js +3 -3
- package/build/dist/Server/API/UserAPI.js.map +1 -1
- package/build/dist/Server/API/UserCallAPI.js +2 -2
- package/build/dist/Server/API/UserCallAPI.js.map +1 -1
- package/build/dist/Server/API/UserEmailAPI.js +2 -2
- package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
- package/build/dist/Server/API/UserPushAPI.js +3 -3
- package/build/dist/Server/API/UserPushAPI.js.map +1 -1
- package/build/dist/Server/API/UserSmsAPI.js +2 -2
- package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
- package/build/dist/Server/API/UserWhatsAppAPI.js +2 -2
- package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064921-MigrationName.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064921-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1775735059360-MigrationName.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1775735059360-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/NotificationMiddleware.js +2 -2
- package/build/dist/Server/Middleware/NotificationMiddleware.js.map +1 -1
- package/build/dist/Server/Middleware/ProjectAuthorization.js +5 -0
- package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/SCIMAuthorization.js +2 -2
- package/build/dist/Server/Middleware/SCIMAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/SlackAuthorization.js +10 -10
- package/build/dist/Server/Middleware/SlackAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +9 -4
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Middleware/UserAuthorization.js +10 -5
- package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
- package/build/dist/Server/Middleware/WhatsAppAuthorization.js +6 -6
- package/build/dist/Server/Middleware/WhatsAppAuthorization.js.map +1 -1
- package/build/dist/Server/Services/AIAgentService.js +13 -7
- package/build/dist/Server/Services/AIAgentService.js.map +1 -1
- package/build/dist/Server/Services/AIService.js +9 -2
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeFeedService.js +17 -5
- package/build/dist/Server/Services/AlertEpisodeFeedService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeService.js +40 -10
- package/build/dist/Server/Services/AlertEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js +81 -24
- package/build/dist/Server/Services/AlertEpisodeStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/AlertFeedService.js +17 -5
- package/build/dist/Server/Services/AlertFeedService.js.map +1 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js +44 -28
- package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +72 -20
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/AlertStateTimelineService.js +36 -13
- package/build/dist/Server/Services/AlertStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +52 -28
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/BillingInvoiceService.js +7 -2
- package/build/dist/Server/Services/BillingInvoiceService.js.map +1 -1
- package/build/dist/Server/Services/BillingService.js +8 -8
- package/build/dist/Server/Services/BillingService.js.map +1 -1
- package/build/dist/Server/Services/DashboardDomainService.js +49 -27
- package/build/dist/Server/Services/DashboardDomainService.js.map +1 -1
- package/build/dist/Server/Services/DashboardService.js +11 -4
- package/build/dist/Server/Services/DashboardService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +32 -12
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeFeedService.js +17 -5
- package/build/dist/Server/Services/IncidentEpisodeFeedService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeService.js +40 -10
- package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js +81 -24
- package/build/dist/Server/Services/IncidentEpisodeStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentFeedService.js +34 -10
- package/build/dist/Server/Services/IncidentFeedService.js.map +1 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js +43 -29
- package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +116 -28
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js +19 -11
- package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSlaService.js +21 -14
- package/build/dist/Server/Services/IncidentSlaService.js.map +1 -1
- package/build/dist/Server/Services/IncidentStateTimelineService.js +130 -37
- package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterService.js +51 -14
- package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
- package/build/dist/Server/Services/MonitorFeedService.js +34 -10
- package/build/dist/Server/Services/MonitorFeedService.js.map +1 -1
- package/build/dist/Server/Services/MonitorProbeService.js +32 -16
- package/build/dist/Server/Services/MonitorProbeService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +42 -11
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorStatusTimelineService.js +69 -21
- package/build/dist/Server/Services/MonitorStatusTimelineService.js.map +1 -1
- package/build/dist/Server/Services/NotificationService.js +4 -3
- package/build/dist/Server/Services/NotificationService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js +49 -12
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js +9 -3
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js +26 -11
- package/build/dist/Server/Services/OnCallDutyPolicyExecutionLogTimelineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyFeedService.js +34 -10
- package/build/dist/Server/Services/OnCallDutyPolicyFeedService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +94 -37
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyService.js +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +45 -17
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/ProbeService.js +13 -7
- package/build/dist/Server/Services/ProbeService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +33 -17
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js +17 -5
- package/build/dist/Server/Services/ScheduledMaintenanceFeedService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceService.js +71 -24
- package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js +72 -24
- package/build/dist/Server/Services/ScheduledMaintenanceStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageDomainService.js +55 -29
- package/build/dist/Server/Services/StatusPageDomainService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +29 -9
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberService.js +393 -130
- package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +10 -2
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationRuleService.js +10 -2
- package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +8 -3
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/UserWhatsAppService.js +10 -2
- package/build/dist/Server/Services/UserWhatsAppService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowService.js +7 -2
- package/build/dist/Server/Services/WorkflowService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js +367 -180
- package/build/dist/Server/Services/WorkspaceNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Types/Domain.js +12 -6
- package/build/dist/Server/Types/Domain.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/API/Post.js +11 -7
- package/build/dist/Server/Types/Workflow/Components/API/Post.js.map +1 -1
- package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js +11 -4
- package/build/dist/Server/Types/Workflow/Components/BaseModel/OnTriggerBaseModel.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +7 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/CodeRepository.js +45 -17
- package/build/dist/Server/Utils/CodeRepository/CodeRepository.js.map +1 -1
- package/build/dist/Server/Utils/Express.js.map +1 -1
- package/build/dist/Server/Utils/Greenlock/Greenlock.js +36 -29
- package/build/dist/Server/Utils/Greenlock/Greenlock.js.map +1 -1
- package/build/dist/Server/Utils/LLM/LLMService.js +18 -6
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/Logger.js +61 -13
- package/build/dist/Server/Utils/Logger.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +23 -20
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +13 -4
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +25 -22
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js +6 -3
- package/build/dist/Server/Utils/Monitor/MonitorStatusTimeline.js.map +1 -1
- package/build/dist/Server/Utils/Profiling.js +9 -6
- package/build/dist/Server/Utils/Profiling.js.map +1 -1
- package/build/dist/Server/Utils/Realtime.js +50 -34
- package/build/dist/Server/Utils/Realtime.js.map +1 -1
- package/build/dist/Server/Utils/Response.js +2 -2
- package/build/dist/Server/Utils/Response.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +23 -11
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js +52 -0
- package/build/dist/Server/Utils/Telemetry/SpanUtil.js.map +1 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js +58 -15
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js +58 -15
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/AlertEpisode.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js +19 -5
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +90 -26
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Monitor.js +12 -3
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Monitor.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/OnCallDutyPolicy.js +25 -7
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/OnCallDutyPolicy.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.js +58 -19
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +102 -29
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js +38 -9
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Alert.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/AlertEpisode.js +34 -8
- package/build/dist/Server/Utils/Workspace/Slack/Actions/AlertEpisode.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js +3 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js +55 -13
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Incident.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.js +5 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/IncidentEpisode.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js +91 -26
- package/build/dist/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js +355 -270
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Workspace.js +21 -12
- package/build/dist/Server/Utils/Workspace/Workspace.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/WorkspaceBase.js +3 -1
- package/build/dist/Server/Utils/Workspace/WorkspaceBase.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Alert.js +9 -2
- package/build/dist/Server/Utils/Workspace/WorkspaceMessages/Alert.js.map +1 -1
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +1 -1
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +1 -1
- package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +12 -6
- package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js +20 -2
- package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +2 -2
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +9 -2
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +9 -2
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedExemplarPoint.js +2 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedExemplarPoint.js.map +1 -0
- package/build/dist/UI/Components/Charts/Line/LineChart.js +20 -2
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Types/ExemplarPoint.js +2 -0
- package/build/dist/UI/Components/Charts/Types/ExemplarPoint.js.map +1 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +3 -3
- package/build/dist/UI/Components/Navbar/NavBar.js +9 -1
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
import BadRequestException from "../../Types/Exception/BadRequestException";
|
|
11
11
|
import LocalCache from "../Infrastructure/LocalCache";
|
|
12
12
|
import Express from "../Utils/Express";
|
|
13
|
-
import logger from "../Utils/Logger";
|
|
13
|
+
import logger, { getLogAttributesFromRequest } from "../Utils/Logger";
|
|
14
14
|
import Response from "../Utils/Response";
|
|
15
15
|
import Telemetry from "../Utils/Telemetry";
|
|
16
16
|
import Exception from "../../Types/Exception/Exception";
|
|
@@ -49,7 +49,7 @@ export default class StatusAPI {
|
|
|
49
49
|
// General status
|
|
50
50
|
router.get("/status", (req, res) => {
|
|
51
51
|
statusCheckSuccessCounter.add(1);
|
|
52
|
-
logger.info("Status check: ok");
|
|
52
|
+
logger.info("Status check: ok", getLogAttributesFromRequest(req));
|
|
53
53
|
Response.sendJsonObjectResponse(req, res, {
|
|
54
54
|
status: "ok",
|
|
55
55
|
});
|
|
@@ -78,48 +78,48 @@ export default class StatusAPI {
|
|
|
78
78
|
}
|
|
79
79
|
static async handleReadyCheck(options, stausReadySuccess, stausReadyFailed, req, res) {
|
|
80
80
|
try {
|
|
81
|
-
logger.info("Ready check: Init");
|
|
81
|
+
logger.info("Ready check: Init", getLogAttributesFromRequest(req));
|
|
82
82
|
await options.readyCheck();
|
|
83
|
-
logger.info("Ready check: ok");
|
|
83
|
+
logger.info("Ready check: ok", getLogAttributesFromRequest(req));
|
|
84
84
|
stausReadySuccess.add(1);
|
|
85
85
|
Response.sendJsonObjectResponse(req, res, {
|
|
86
86
|
status: "ok",
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
catch (e) {
|
|
90
|
-
logger.error("Ready check: failed");
|
|
91
|
-
logger.error(e);
|
|
90
|
+
logger.error("Ready check: failed", getLogAttributesFromRequest(req));
|
|
91
|
+
logger.error(e, getLogAttributesFromRequest(req));
|
|
92
92
|
stausReadyFailed.add(1);
|
|
93
93
|
Response.sendErrorResponse(req, res, e instanceof Exception ? e : new ServerException("Server is not ready"));
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
static async handleLiveCheck(options, stausLiveSuccess, stausLiveFailed, req, res) {
|
|
97
97
|
try {
|
|
98
|
-
logger.info("Live check: Init");
|
|
98
|
+
logger.info("Live check: Init", getLogAttributesFromRequest(req));
|
|
99
99
|
await options.liveCheck();
|
|
100
|
-
logger.info("Live check: ok");
|
|
100
|
+
logger.info("Live check: ok", getLogAttributesFromRequest(req));
|
|
101
101
|
stausLiveSuccess.add(1);
|
|
102
102
|
Response.sendJsonObjectResponse(req, res, {
|
|
103
103
|
status: "ok",
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
catch (e) {
|
|
107
|
-
logger.error("Live check: failed");
|
|
108
|
-
logger.error(e);
|
|
107
|
+
logger.error("Live check: failed", getLogAttributesFromRequest(req));
|
|
108
|
+
logger.error(e, getLogAttributesFromRequest(req));
|
|
109
109
|
stausLiveFailed.add(1);
|
|
110
110
|
Response.sendErrorResponse(req, res, e instanceof Exception ? e : new ServerException("Server is not ready"));
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
static async handleGlobalCacheCheck(options, req, res) {
|
|
114
114
|
try {
|
|
115
|
-
logger.debug("Global cache check");
|
|
115
|
+
logger.debug("Global cache check", getLogAttributesFromRequest(req));
|
|
116
116
|
if (options.globalCacheCheck) {
|
|
117
117
|
await options.globalCacheCheck();
|
|
118
118
|
}
|
|
119
119
|
else {
|
|
120
120
|
throw new BadRequestException("Global cache check not implemented");
|
|
121
121
|
}
|
|
122
|
-
logger.info("Global cache check: ok");
|
|
122
|
+
logger.info("Global cache check: ok", getLogAttributesFromRequest(req));
|
|
123
123
|
Response.sendJsonObjectResponse(req, res, {
|
|
124
124
|
status: "ok",
|
|
125
125
|
});
|
|
@@ -132,14 +132,14 @@ export default class StatusAPI {
|
|
|
132
132
|
}
|
|
133
133
|
static async handleAnalyticsDatabaseCheck(options, req, res) {
|
|
134
134
|
try {
|
|
135
|
-
logger.debug("Analytics database check");
|
|
135
|
+
logger.debug("Analytics database check", getLogAttributesFromRequest(req));
|
|
136
136
|
if (options.analyticsDatabaseCheck) {
|
|
137
137
|
await options.analyticsDatabaseCheck();
|
|
138
138
|
}
|
|
139
139
|
else {
|
|
140
140
|
throw new BadRequestException("Analytics database check not implemented");
|
|
141
141
|
}
|
|
142
|
-
logger.info("Analytics database check: ok");
|
|
142
|
+
logger.info("Analytics database check: ok", getLogAttributesFromRequest(req));
|
|
143
143
|
Response.sendJsonObjectResponse(req, res, {
|
|
144
144
|
status: "ok",
|
|
145
145
|
});
|
|
@@ -152,14 +152,14 @@ export default class StatusAPI {
|
|
|
152
152
|
}
|
|
153
153
|
static async handleDatabaseCheck(options, req, res) {
|
|
154
154
|
try {
|
|
155
|
-
logger.debug("Database check");
|
|
155
|
+
logger.debug("Database check", getLogAttributesFromRequest(req));
|
|
156
156
|
if (options.databaseCheck) {
|
|
157
157
|
await options.databaseCheck();
|
|
158
158
|
}
|
|
159
159
|
else {
|
|
160
160
|
throw new BadRequestException("Database check not implemented");
|
|
161
161
|
}
|
|
162
|
-
logger.info("Database check: ok");
|
|
162
|
+
logger.info("Database check: ok", getLogAttributesFromRequest(req));
|
|
163
163
|
Response.sendJsonObjectResponse(req, res, {
|
|
164
164
|
status: "ok",
|
|
165
165
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusAPI.js","sourceRoot":"","sources":["../../../../Server/API/StatusAPI.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,OAIN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusAPI.js","sourceRoot":"","sources":["../../../../Server/API/StatusAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ import StatusPageService, { Service as StatusPageServiceType, } from "../Service
|
|
|
35
35
|
import StatusPageSsoService from "../Services/StatusPageSsoService";
|
|
36
36
|
import StatusPageSubscriberService from "../Services/StatusPageSubscriberService";
|
|
37
37
|
import QueryHelper from "../Types/Database/QueryHelper";
|
|
38
|
-
import logger from "../Utils/Logger";
|
|
38
|
+
import logger, { getLogAttributesFromRequest } from "../Utils/Logger";
|
|
39
39
|
import Response from "../Utils/Response";
|
|
40
40
|
import BaseAPI from "./BaseAPI";
|
|
41
41
|
import BaseModel from "../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
|
|
@@ -161,8 +161,8 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
161
161
|
statusPageId = new ObjectID(statusPageIdOrDomain);
|
|
162
162
|
}
|
|
163
163
|
catch (err) {
|
|
164
|
-
logger.error(`Error converting statusPageIdOrDomain to ObjectID: ${statusPageIdOrDomain}
|
|
165
|
-
logger.error(err);
|
|
164
|
+
logger.error(`Error converting statusPageIdOrDomain to ObjectID: ${statusPageIdOrDomain}`, getLogAttributesFromRequest(req));
|
|
165
|
+
logger.error(err, getLogAttributesFromRequest(req));
|
|
166
166
|
return Response.sendErrorResponse(req, res, new NotFoundException("Status Page not found"));
|
|
167
167
|
}
|
|
168
168
|
}
|
|
@@ -209,17 +209,17 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
209
209
|
},
|
|
210
210
|
});
|
|
211
211
|
if (!statusPage || !statusPage.faviconFile) {
|
|
212
|
-
logger.debug("Favicon file not found. Returning default favicon.");
|
|
212
|
+
logger.debug("Favicon file not found. Returning default favicon.", getLogAttributesFromRequest(req));
|
|
213
213
|
return Response.sendFileByPath(req, res, `/usr/src/Common/UI/Images/favicon/status-green.png`);
|
|
214
214
|
}
|
|
215
|
-
logger.debug(`Favicon file found. Sending file: ${statusPage.faviconFile.name}
|
|
215
|
+
logger.debug(`Favicon file found. Sending file: ${statusPage.faviconFile.name}`, getLogAttributesFromRequest(req));
|
|
216
216
|
return Response.sendFileResponse(req, res, statusPage.faviconFile);
|
|
217
217
|
}
|
|
218
218
|
catch (error) {
|
|
219
219
|
if (error instanceof NotFoundException) {
|
|
220
220
|
return Response.sendErrorResponse(req, res, error);
|
|
221
221
|
}
|
|
222
|
-
logger.error(error);
|
|
222
|
+
logger.error(error, getLogAttributesFromRequest(req));
|
|
223
223
|
return Response.sendErrorResponse(req, res, new NotFoundException("Status Page not found"));
|
|
224
224
|
}
|
|
225
225
|
});
|
|
@@ -251,7 +251,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
251
251
|
if (error instanceof NotFoundException) {
|
|
252
252
|
return Response.sendErrorResponse(req, res, error);
|
|
253
253
|
}
|
|
254
|
-
logger.error(error);
|
|
254
|
+
logger.error(error, getLogAttributesFromRequest(req));
|
|
255
255
|
return Response.sendErrorResponse(req, res, new NotFoundException("Status Page logo not found"));
|
|
256
256
|
}
|
|
257
257
|
});
|
|
@@ -283,7 +283,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
283
283
|
if (error instanceof NotFoundException) {
|
|
284
284
|
return Response.sendErrorResponse(req, res, error);
|
|
285
285
|
}
|
|
286
|
-
logger.error(error);
|
|
286
|
+
logger.error(error, getLogAttributesFromRequest(req));
|
|
287
287
|
return Response.sendErrorResponse(req, res, new NotFoundException("Status Page cover image not found"));
|
|
288
288
|
}
|
|
289
289
|
});
|
|
@@ -442,7 +442,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
442
442
|
return res.send(svg);
|
|
443
443
|
}
|
|
444
444
|
catch (err) {
|
|
445
|
-
logger.error(err);
|
|
445
|
+
logger.error(err, getLogAttributesFromRequest(req));
|
|
446
446
|
return res.status(500).send("Internal Server Error");
|
|
447
447
|
}
|
|
448
448
|
});
|
|
@@ -492,7 +492,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
492
492
|
throw new BadDataException("Host not found");
|
|
493
493
|
}
|
|
494
494
|
const token = req.params["token"];
|
|
495
|
-
logger.debug(`CNAME Verification: Host:${host} - Token:${token}
|
|
495
|
+
logger.debug(`CNAME Verification: Host:${host} - Token:${token}`, getLogAttributesFromRequest(req));
|
|
496
496
|
const domain = await StatusPageDomainService.findOneBy({
|
|
497
497
|
query: {
|
|
498
498
|
cnameVerificationToken: token,
|
|
@@ -513,7 +513,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
513
513
|
// ACME Challenge Validation.
|
|
514
514
|
this.router.get(`${(_o = new this.entityType()
|
|
515
515
|
.getCrudApiPath()) === null || _o === void 0 ? void 0 : _o.toString()}/.well-known/acme-challenge/:token`, async (req, res) => {
|
|
516
|
-
logger.debug(`ACME challenge validation request received for token: ${req.params["token"]} from host: ${req.headers["host"]}
|
|
516
|
+
logger.debug(`ACME challenge validation request received for token: ${req.params["token"]} from host: ${req.headers["host"]}`, getLogAttributesFromRequest(req));
|
|
517
517
|
const challenge = await AcmeChallengeService.findOneBy({
|
|
518
518
|
query: {
|
|
519
519
|
token: req.params["token"],
|
|
@@ -526,7 +526,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
526
526
|
},
|
|
527
527
|
});
|
|
528
528
|
if (!challenge) {
|
|
529
|
-
logger.error(`ACME challenge not found for token: ${req.params["token"]} from host: ${req.headers["host"]}
|
|
529
|
+
logger.error(`ACME challenge not found for token: ${req.params["token"]} from host: ${req.headers["host"]}`, getLogAttributesFromRequest(req));
|
|
530
530
|
return Response.sendErrorResponse(req, res, new NotFoundException("Challenge not found"));
|
|
531
531
|
}
|
|
532
532
|
return Response.sendTextResponse(req, res, challenge.challenge);
|
|
@@ -2189,7 +2189,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2189
2189
|
async manageExistingSubscription(req) {
|
|
2190
2190
|
var _a, _b;
|
|
2191
2191
|
const statusPageId = new ObjectID(req.params["statusPageId"]);
|
|
2192
|
-
logger.debug(`Managing Existing Subscription for Status Page: ${statusPageId}
|
|
2192
|
+
logger.debug(`Managing Existing Subscription for Status Page: ${statusPageId}`, getLogAttributesFromRequest(req));
|
|
2193
2193
|
await this.checkHasReadAccess({
|
|
2194
2194
|
statusPageId: statusPageId,
|
|
2195
2195
|
req: req,
|
|
@@ -2214,33 +2214,33 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2214
2214
|
},
|
|
2215
2215
|
});
|
|
2216
2216
|
if (!statusPage) {
|
|
2217
|
-
logger.debug(`Status page not found with ID: ${statusPageId}
|
|
2217
|
+
logger.debug(`Status page not found with ID: ${statusPageId}`, getLogAttributesFromRequest(req));
|
|
2218
2218
|
throw new BadDataException("Status Page not found");
|
|
2219
2219
|
}
|
|
2220
2220
|
if (!statusPage.showSubscriberPageOnStatusPage) {
|
|
2221
|
-
logger.debug(`Subscriber page not enabled for status page with ID: ${statusPageId}
|
|
2221
|
+
logger.debug(`Subscriber page not enabled for status page with ID: ${statusPageId}`, getLogAttributesFromRequest(req));
|
|
2222
2222
|
throw new BadDataException("Subscribes not enabled for this status page.");
|
|
2223
2223
|
}
|
|
2224
|
-
logger.debug(`Status page found: ${JSON.stringify(statusPage)}
|
|
2224
|
+
logger.debug(`Status page found: ${JSON.stringify(statusPage)}`, getLogAttributesFromRequest(req));
|
|
2225
2225
|
if (req.body.data["subscriberEmail"] &&
|
|
2226
2226
|
!statusPage.enableEmailSubscribers) {
|
|
2227
|
-
logger.debug(`Email subscribers not enabled for status page with ID: ${statusPageId}
|
|
2227
|
+
logger.debug(`Email subscribers not enabled for status page with ID: ${statusPageId}`, getLogAttributesFromRequest(req));
|
|
2228
2228
|
throw new BadDataException("Email subscribers not enabled for this status page.");
|
|
2229
2229
|
}
|
|
2230
2230
|
if (req.body.data["slackIncomingWebhookUrl"] &&
|
|
2231
2231
|
!statusPage.enableSlackSubscribers) {
|
|
2232
|
-
logger.debug(`Slack subscribers not enabled for status page with ID: ${statusPageId}
|
|
2232
|
+
logger.debug(`Slack subscribers not enabled for status page with ID: ${statusPageId}`, getLogAttributesFromRequest(req));
|
|
2233
2233
|
throw new BadDataException("Slack subscribers not enabled for this status page.");
|
|
2234
2234
|
}
|
|
2235
2235
|
if (req.body.data["subscriberPhone"] && !statusPage.enableSmsSubscribers) {
|
|
2236
|
-
logger.debug(`SMS subscribers not enabled for status page with ID: ${statusPageId}
|
|
2236
|
+
logger.debug(`SMS subscribers not enabled for status page with ID: ${statusPageId}`, getLogAttributesFromRequest(req));
|
|
2237
2237
|
throw new BadDataException("SMS subscribers not enabled for this status page.");
|
|
2238
2238
|
}
|
|
2239
2239
|
// if no email or phone, throw error.
|
|
2240
2240
|
if (!req.body.data["subscriberEmail"] &&
|
|
2241
2241
|
!req.body.data["subscriberPhone"] &&
|
|
2242
2242
|
!req.body.data["slackWorkspaceName"]) {
|
|
2243
|
-
logger.debug(`No email, slack workspace name or phone provided for subscription to status page with ID: ${statusPageId}
|
|
2243
|
+
logger.debug(`No email, slack workspace name or phone provided for subscription to status page with ID: ${statusPageId}`, getLogAttributesFromRequest(req));
|
|
2244
2244
|
throw new BadDataException("Email, phone or slack workspace name is required to subscribe to this status page.");
|
|
2245
2245
|
}
|
|
2246
2246
|
const email = req.body.data["subscriberEmail"]
|
|
@@ -2254,7 +2254,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2254
2254
|
: undefined;
|
|
2255
2255
|
let statusPageSubscriber = null;
|
|
2256
2256
|
if (email) {
|
|
2257
|
-
logger.debug(`Setting subscriber email: ${email}
|
|
2257
|
+
logger.debug(`Setting subscriber email: ${email}`, getLogAttributesFromRequest(req));
|
|
2258
2258
|
statusPageSubscriber = await StatusPageSubscriberService.findOneBy({
|
|
2259
2259
|
query: {
|
|
2260
2260
|
subscriberEmail: email,
|
|
@@ -2270,7 +2270,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2270
2270
|
});
|
|
2271
2271
|
}
|
|
2272
2272
|
if (phone) {
|
|
2273
|
-
logger.debug(`Setting subscriber phone: ${phone}
|
|
2273
|
+
logger.debug(`Setting subscriber phone: ${phone}`, getLogAttributesFromRequest(req));
|
|
2274
2274
|
statusPageSubscriber = await StatusPageSubscriberService.findOneBy({
|
|
2275
2275
|
query: {
|
|
2276
2276
|
subscriberPhone: phone,
|
|
@@ -2286,7 +2286,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2286
2286
|
});
|
|
2287
2287
|
}
|
|
2288
2288
|
if (slackWorkspaceName) {
|
|
2289
|
-
logger.debug(`Setting subscriber slack workspace: ${slackWorkspaceName}
|
|
2289
|
+
logger.debug(`Setting subscriber slack workspace: ${slackWorkspaceName}`, getLogAttributesFromRequest(req));
|
|
2290
2290
|
statusPageSubscriber = await StatusPageSubscriberService.findOneBy({
|
|
2291
2291
|
query: {
|
|
2292
2292
|
slackWorkspaceName: slackWorkspaceName,
|
|
@@ -2304,7 +2304,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2304
2304
|
}
|
|
2305
2305
|
if (!statusPageSubscriber) {
|
|
2306
2306
|
// not found, return bad data
|
|
2307
|
-
logger.debug(`Subscriber not found for email: ${email}, phone: ${phone}, or slack workspace: ${slackWorkspaceName}
|
|
2307
|
+
logger.debug(`Subscriber not found for email: ${email}, phone: ${phone}, or slack workspace: ${slackWorkspaceName}`, getLogAttributesFromRequest(req));
|
|
2308
2308
|
let identifierType = "email";
|
|
2309
2309
|
if (phone) {
|
|
2310
2310
|
identifierType = "phone";
|
|
@@ -2362,7 +2362,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2362
2362
|
customTwilioConfig: ProjectCallSMSConfigService.toTwilioConfig(statusPage.callSmsConfig),
|
|
2363
2363
|
statusPageId: statusPage.id,
|
|
2364
2364
|
}).catch((err) => {
|
|
2365
|
-
logger.error(err);
|
|
2365
|
+
logger.error(err, getLogAttributesFromRequest(req));
|
|
2366
2366
|
});
|
|
2367
2367
|
}
|
|
2368
2368
|
if (statusPageSubscriber.slackIncomingWebhookUrl) {
|
|
@@ -2371,15 +2371,15 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2371
2371
|
url: statusPageSubscriber.slackIncomingWebhookUrl,
|
|
2372
2372
|
text: slackMessage,
|
|
2373
2373
|
}).catch((err) => {
|
|
2374
|
-
logger.error(err);
|
|
2374
|
+
logger.error(err, getLogAttributesFromRequest(req));
|
|
2375
2375
|
});
|
|
2376
2376
|
}
|
|
2377
|
-
logger.debug(`Subscription management link sent to subscriber with ID: ${statusPageSubscriber.id}
|
|
2377
|
+
logger.debug(`Subscription management link sent to subscriber with ID: ${statusPageSubscriber.id}`, getLogAttributesFromRequest(req));
|
|
2378
2378
|
}
|
|
2379
2379
|
}
|
|
2380
2380
|
async subscribeToStatusPage(req) {
|
|
2381
2381
|
const objectId = new ObjectID(req.params["statusPageId"]);
|
|
2382
|
-
logger.debug(`Subscribing to status page with ID: ${objectId}
|
|
2382
|
+
logger.debug(`Subscribing to status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2383
2383
|
await this.checkHasReadAccess({
|
|
2384
2384
|
statusPageId: objectId,
|
|
2385
2385
|
req: req,
|
|
@@ -2404,39 +2404,39 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2404
2404
|
},
|
|
2405
2405
|
});
|
|
2406
2406
|
if (!statusPage) {
|
|
2407
|
-
logger.debug(`Status page not found with ID: ${objectId}
|
|
2407
|
+
logger.debug(`Status page not found with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2408
2408
|
throw new BadDataException("Status Page not found");
|
|
2409
2409
|
}
|
|
2410
2410
|
if (!statusPage.showSubscriberPageOnStatusPage) {
|
|
2411
|
-
logger.debug(`Subscriber page not enabled for status page with ID: ${objectId}
|
|
2411
|
+
logger.debug(`Subscriber page not enabled for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2412
2412
|
throw new BadDataException("Subscribes not enabled for this status page.");
|
|
2413
2413
|
}
|
|
2414
|
-
logger.debug(`Status page found: ${JSON.stringify(statusPage)}
|
|
2414
|
+
logger.debug(`Status page found: ${JSON.stringify(statusPage)}`, getLogAttributesFromRequest(req));
|
|
2415
2415
|
if (req.body.data["subscriberEmail"] &&
|
|
2416
2416
|
!statusPage.enableEmailSubscribers) {
|
|
2417
|
-
logger.debug(`Email subscribers not enabled for status page with ID: ${objectId}
|
|
2417
|
+
logger.debug(`Email subscribers not enabled for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2418
2418
|
throw new BadDataException("Email subscribers not enabled for this status page.");
|
|
2419
2419
|
}
|
|
2420
2420
|
if (req.body.data["subscriberPhone"] && !statusPage.enableSmsSubscribers) {
|
|
2421
|
-
logger.debug(`SMS subscribers not enabled for status page with ID: ${objectId}
|
|
2421
|
+
logger.debug(`SMS subscribers not enabled for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2422
2422
|
throw new BadDataException("SMS subscribers not enabled for this status page.");
|
|
2423
2423
|
}
|
|
2424
2424
|
// if no email or phone, throw error.
|
|
2425
2425
|
if (req.body.data["slackWorkspaceName"] &&
|
|
2426
2426
|
!statusPage.enableSlackSubscribers) {
|
|
2427
|
-
logger.debug(`Slack subscribers not enabled for status page with ID: ${objectId}
|
|
2427
|
+
logger.debug(`Slack subscribers not enabled for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2428
2428
|
throw new BadDataException("Slack subscribers not enabled for this status page.");
|
|
2429
2429
|
}
|
|
2430
2430
|
if (req.body.data["microsoftTeamsWorkspaceName"] &&
|
|
2431
2431
|
!statusPage.enableMicrosoftTeamsSubscribers) {
|
|
2432
|
-
logger.debug(`Microsoft Teams subscribers not enabled for status page with ID: ${objectId}
|
|
2432
|
+
logger.debug(`Microsoft Teams subscribers not enabled for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2433
2433
|
throw new BadDataException("Microsoft Teams subscribers not enabled for this status page.");
|
|
2434
2434
|
}
|
|
2435
2435
|
if (!req.body.data["subscriberEmail"] &&
|
|
2436
2436
|
!req.body.data["subscriberPhone"] &&
|
|
2437
2437
|
!req.body.data["slackWorkspaceName"] &&
|
|
2438
2438
|
!req.body.data["microsoftTeamsWorkspaceName"]) {
|
|
2439
|
-
logger.debug(`No email, phone, slack workspace name, or Microsoft Teams workspace name provided for subscription to status page with ID: ${objectId}
|
|
2439
|
+
logger.debug(`No email, phone, slack workspace name, or Microsoft Teams workspace name provided for subscription to status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2440
2440
|
throw new BadDataException("Email, phone, slack workspace name, or Microsoft Teams workspace name is required to subscribe to this status page.");
|
|
2441
2441
|
}
|
|
2442
2442
|
const email = req.body.data["subscriberEmail"]
|
|
@@ -2460,12 +2460,12 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2460
2460
|
let statusPageSubscriber = null;
|
|
2461
2461
|
let isUpdate = false;
|
|
2462
2462
|
if (!req.params["subscriberId"]) {
|
|
2463
|
-
logger.debug(`Creating new subscriber for status page with ID: ${objectId}
|
|
2463
|
+
logger.debug(`Creating new subscriber for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2464
2464
|
statusPageSubscriber = new StatusPageSubscriber();
|
|
2465
2465
|
}
|
|
2466
2466
|
else {
|
|
2467
2467
|
const subscriberId = new ObjectID(req.params["subscriberId"]);
|
|
2468
|
-
logger.debug(`Updating existing subscriber with ID: ${subscriberId} for status page with ID: ${objectId}
|
|
2468
|
+
logger.debug(`Updating existing subscriber with ID: ${subscriberId} for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2469
2469
|
statusPageSubscriber = await StatusPageSubscriberService.findOneBy({
|
|
2470
2470
|
query: {
|
|
2471
2471
|
_id: subscriberId.toString(),
|
|
@@ -2475,44 +2475,44 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2475
2475
|
},
|
|
2476
2476
|
});
|
|
2477
2477
|
if (!statusPageSubscriber) {
|
|
2478
|
-
logger.debug(`Subscriber not found with ID: ${subscriberId}
|
|
2478
|
+
logger.debug(`Subscriber not found with ID: ${subscriberId}`, getLogAttributesFromRequest(req));
|
|
2479
2479
|
throw new BadDataException("Subscriber not found");
|
|
2480
2480
|
}
|
|
2481
2481
|
isUpdate = true;
|
|
2482
2482
|
}
|
|
2483
2483
|
if (email) {
|
|
2484
|
-
logger.debug(`Setting subscriber email: ${email}
|
|
2484
|
+
logger.debug(`Setting subscriber email: ${email}`, getLogAttributesFromRequest(req));
|
|
2485
2485
|
statusPageSubscriber.subscriberEmail = email;
|
|
2486
2486
|
}
|
|
2487
2487
|
if (phone) {
|
|
2488
|
-
logger.debug(`Setting subscriber phone: ${phone}
|
|
2488
|
+
logger.debug(`Setting subscriber phone: ${phone}`, getLogAttributesFromRequest(req));
|
|
2489
2489
|
statusPageSubscriber.subscriberPhone = phone;
|
|
2490
2490
|
}
|
|
2491
2491
|
if (slackIncomingWebhookUrl) {
|
|
2492
|
-
logger.debug(`Setting subscriber slack: ${slackIncomingWebhookUrl}
|
|
2492
|
+
logger.debug(`Setting subscriber slack: ${slackIncomingWebhookUrl}`, getLogAttributesFromRequest(req));
|
|
2493
2493
|
statusPageSubscriber.slackIncomingWebhookUrl = URL.fromString(slackIncomingWebhookUrl);
|
|
2494
2494
|
}
|
|
2495
2495
|
if (slackWorkspaceName) {
|
|
2496
|
-
logger.debug(`Setting subscriber slack workspace name: ${slackWorkspaceName}
|
|
2496
|
+
logger.debug(`Setting subscriber slack workspace name: ${slackWorkspaceName}`, getLogAttributesFromRequest(req));
|
|
2497
2497
|
statusPageSubscriber.slackWorkspaceName = slackWorkspaceName;
|
|
2498
2498
|
}
|
|
2499
2499
|
if (microsoftTeamsIncomingWebhookUrl) {
|
|
2500
|
-
logger.debug(`Setting subscriber Microsoft Teams webhook: ${microsoftTeamsIncomingWebhookUrl}
|
|
2500
|
+
logger.debug(`Setting subscriber Microsoft Teams webhook: ${microsoftTeamsIncomingWebhookUrl}`, getLogAttributesFromRequest(req));
|
|
2501
2501
|
statusPageSubscriber.microsoftTeamsIncomingWebhookUrl = URL.fromString(microsoftTeamsIncomingWebhookUrl);
|
|
2502
2502
|
}
|
|
2503
2503
|
if (microsoftTeamsWorkspaceName) {
|
|
2504
|
-
logger.debug(`Setting subscriber Microsoft Teams workspace name: ${microsoftTeamsWorkspaceName}
|
|
2504
|
+
logger.debug(`Setting subscriber Microsoft Teams workspace name: ${microsoftTeamsWorkspaceName}`, getLogAttributesFromRequest(req));
|
|
2505
2505
|
statusPageSubscriber.microsoftTeamsWorkspaceName =
|
|
2506
2506
|
microsoftTeamsWorkspaceName;
|
|
2507
2507
|
}
|
|
2508
2508
|
if (req.body.data["statusPageResources"] &&
|
|
2509
2509
|
!statusPage.allowSubscribersToChooseResources) {
|
|
2510
|
-
logger.debug(`Subscribers not allowed to choose resources for status page with ID: ${objectId}
|
|
2510
|
+
logger.debug(`Subscribers not allowed to choose resources for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2511
2511
|
throw new BadDataException("Subscribers are not allowed to choose resources for this status page.");
|
|
2512
2512
|
}
|
|
2513
2513
|
if (req.body.data["statusPageEventTypes"] &&
|
|
2514
2514
|
!statusPage.allowSubscribersToChooseEventTypes) {
|
|
2515
|
-
logger.debug(`Subscribers not allowed to choose event types for status page with ID: ${objectId}
|
|
2515
|
+
logger.debug(`Subscribers not allowed to choose event types for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2516
2516
|
throw new BadDataException("Subscribers are not allowed to choose event types for this status page.");
|
|
2517
2517
|
}
|
|
2518
2518
|
statusPageSubscriber.statusPageId = objectId;
|
|
@@ -2522,17 +2522,17 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2522
2522
|
statusPageSubscriber.isSubscribedToAllEventTypes = Boolean(req.body.data["isSubscribedToAllEventTypes"]);
|
|
2523
2523
|
if (req.body.data["statusPageResources"] &&
|
|
2524
2524
|
req.body.data["statusPageResources"].length > 0) {
|
|
2525
|
-
logger.debug(`Setting subscriber resources: ${JSON.stringify(req.body.data["statusPageResources"])}
|
|
2525
|
+
logger.debug(`Setting subscriber resources: ${JSON.stringify(req.body.data["statusPageResources"])}`, getLogAttributesFromRequest(req));
|
|
2526
2526
|
statusPageSubscriber.statusPageResources = req.body.data["statusPageResources"];
|
|
2527
2527
|
}
|
|
2528
2528
|
if (req.body.data["statusPageEventTypes"] &&
|
|
2529
2529
|
req.body.data["statusPageEventTypes"].length > 0) {
|
|
2530
|
-
logger.debug(`Setting subscriber event types: ${JSON.stringify(req.body.data["statusPageEventTypes"])}
|
|
2530
|
+
logger.debug(`Setting subscriber event types: ${JSON.stringify(req.body.data["statusPageEventTypes"])}`, getLogAttributesFromRequest(req));
|
|
2531
2531
|
statusPageSubscriber.statusPageEventTypes = req.body.data["statusPageEventTypes"];
|
|
2532
2532
|
}
|
|
2533
2533
|
if (isUpdate) {
|
|
2534
2534
|
// check isUnsubscribed is set to false.
|
|
2535
|
-
logger.debug(`Updating subscriber with ID: ${statusPageSubscriber.id}
|
|
2535
|
+
logger.debug(`Updating subscriber with ID: ${statusPageSubscriber.id}`, getLogAttributesFromRequest(req));
|
|
2536
2536
|
statusPageSubscriber.isUnsubscribed = Boolean(req.body.data["isUnsubscribed"]);
|
|
2537
2537
|
await StatusPageSubscriberService.updateOneById({
|
|
2538
2538
|
id: statusPageSubscriber.id,
|
|
@@ -2547,7 +2547,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2547
2547
|
});
|
|
2548
2548
|
}
|
|
2549
2549
|
else {
|
|
2550
|
-
logger.debug(`Creating new subscriber: ${JSON.stringify(statusPageSubscriber)}
|
|
2550
|
+
logger.debug(`Creating new subscriber: ${JSON.stringify(statusPageSubscriber)}`, getLogAttributesFromRequest(req));
|
|
2551
2551
|
await StatusPageSubscriberService.create({
|
|
2552
2552
|
data: statusPageSubscriber,
|
|
2553
2553
|
props: {
|
|
@@ -2555,7 +2555,7 @@ export default class StatusPageAPI extends BaseAPI {
|
|
|
2555
2555
|
},
|
|
2556
2556
|
});
|
|
2557
2557
|
}
|
|
2558
|
-
logger.debug(`Subscription process completed for status page with ID: ${objectId}
|
|
2558
|
+
logger.debug(`Subscription process completed for status page with ID: ${objectId}`, getLogAttributesFromRequest(req));
|
|
2559
2559
|
}
|
|
2560
2560
|
async getSubscriber(req) {
|
|
2561
2561
|
const objectId = new ObjectID(req.params["statusPageId"]);
|