@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
|
@@ -5,7 +5,7 @@ import Express, {
|
|
|
5
5
|
} from "../Utils/Express";
|
|
6
6
|
import Response from "../Utils/Response";
|
|
7
7
|
import BadRequestException from "../../Types/Exception/BadRequestException";
|
|
8
|
-
import logger from "../Utils/Logger";
|
|
8
|
+
import logger, { getLogAttributesFromRequest } from "../Utils/Logger";
|
|
9
9
|
import { JSONObject } from "../../Types/JSON";
|
|
10
10
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
11
11
|
import Exception from "../../Types/Exception/Exception";
|
|
@@ -213,7 +213,10 @@ export default class MicrosoftTeamsAPI {
|
|
|
213
213
|
|
|
214
214
|
// Handle archive errors
|
|
215
215
|
archive.on("error", (err: Error) => {
|
|
216
|
-
logger.error(
|
|
216
|
+
logger.error(
|
|
217
|
+
"Archive error: " + err,
|
|
218
|
+
getLogAttributesFromRequest(req as any),
|
|
219
|
+
);
|
|
217
220
|
throw err;
|
|
218
221
|
});
|
|
219
222
|
|
|
@@ -263,7 +266,10 @@ export default class MicrosoftTeamsAPI {
|
|
|
263
266
|
// Finalize the archive
|
|
264
267
|
await archive.finalize();
|
|
265
268
|
} catch (error) {
|
|
266
|
-
logger.error(
|
|
269
|
+
logger.error(
|
|
270
|
+
"Error creating Teams app manifest zip: " + error,
|
|
271
|
+
getLogAttributesFromRequest(req as any),
|
|
272
|
+
);
|
|
267
273
|
return Response.sendErrorResponse(
|
|
268
274
|
req,
|
|
269
275
|
res,
|
|
@@ -366,8 +372,12 @@ export default class MicrosoftTeamsAPI {
|
|
|
366
372
|
|
|
367
373
|
logger.debug(
|
|
368
374
|
"Microsoft Teams Token Request Body (static redirect): ",
|
|
375
|
+
getLogAttributesFromRequest(req as any),
|
|
376
|
+
);
|
|
377
|
+
logger.debug(
|
|
378
|
+
tokenRequestBody,
|
|
379
|
+
getLogAttributesFromRequest(req as any),
|
|
369
380
|
);
|
|
370
|
-
logger.debug(tokenRequestBody);
|
|
371
381
|
|
|
372
382
|
const tokenResponse: HTTPErrorResponse | HTTPResponse<JSONObject> =
|
|
373
383
|
await API.post<JSONObject>({
|
|
@@ -381,14 +391,23 @@ export default class MicrosoftTeamsAPI {
|
|
|
381
391
|
});
|
|
382
392
|
|
|
383
393
|
if (tokenResponse instanceof HTTPErrorResponse) {
|
|
384
|
-
logger.error(
|
|
385
|
-
|
|
394
|
+
logger.error(
|
|
395
|
+
"Error getting Teams token:",
|
|
396
|
+
getLogAttributesFromRequest(req as any),
|
|
397
|
+
);
|
|
398
|
+
logger.error(
|
|
399
|
+
tokenResponse,
|
|
400
|
+
getLogAttributesFromRequest(req as any),
|
|
401
|
+
);
|
|
386
402
|
throw tokenResponse;
|
|
387
403
|
}
|
|
388
404
|
|
|
389
405
|
const tokenData: JSONObject = tokenResponse.data;
|
|
390
|
-
logger.debug(
|
|
391
|
-
|
|
406
|
+
logger.debug(
|
|
407
|
+
"Microsoft Teams Token Response (static redirect): ",
|
|
408
|
+
getLogAttributesFromRequest(req as any),
|
|
409
|
+
);
|
|
410
|
+
logger.debug(tokenData, getLogAttributesFromRequest(req as any));
|
|
392
411
|
|
|
393
412
|
if (!tokenData["access_token"]) {
|
|
394
413
|
return Response.sendErrorResponse(
|
|
@@ -413,14 +432,23 @@ export default class MicrosoftTeamsAPI {
|
|
|
413
432
|
});
|
|
414
433
|
|
|
415
434
|
if (userProfileResponse instanceof HTTPErrorResponse) {
|
|
416
|
-
logger.error(
|
|
417
|
-
|
|
435
|
+
logger.error(
|
|
436
|
+
"Error getting user profile:",
|
|
437
|
+
getLogAttributesFromRequest(req as any),
|
|
438
|
+
);
|
|
439
|
+
logger.error(
|
|
440
|
+
userProfileResponse,
|
|
441
|
+
getLogAttributesFromRequest(req as any),
|
|
442
|
+
);
|
|
418
443
|
throw userProfileResponse;
|
|
419
444
|
}
|
|
420
445
|
|
|
421
446
|
const userProfile: JSONObject = userProfileResponse.data;
|
|
422
|
-
logger.debug(
|
|
423
|
-
|
|
447
|
+
logger.debug(
|
|
448
|
+
"User Profile: ",
|
|
449
|
+
getLogAttributesFromRequest(req as any),
|
|
450
|
+
);
|
|
451
|
+
logger.debug(userProfile, getLogAttributesFromRequest(req as any));
|
|
424
452
|
|
|
425
453
|
await WorkspaceUserAuthTokenService.refreshAuthToken({
|
|
426
454
|
projectId: new ObjectID(projectId),
|
|
@@ -462,8 +490,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
462
490
|
teamsIntegrationPageUrl.addQueryParam("needAdminConsent", "true"),
|
|
463
491
|
);
|
|
464
492
|
} catch (err) {
|
|
465
|
-
logger.error(
|
|
466
|
-
|
|
493
|
+
logger.error(
|
|
494
|
+
"Error in static Microsoft Teams auth callback: ",
|
|
495
|
+
getLogAttributesFromRequest(req as any),
|
|
496
|
+
);
|
|
497
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
467
498
|
return Response.sendErrorResponse(
|
|
468
499
|
req,
|
|
469
500
|
res,
|
|
@@ -543,8 +574,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
543
574
|
|
|
544
575
|
return Response.redirect(req, res, URL.fromString(adminConsentUrl));
|
|
545
576
|
} catch (error) {
|
|
546
|
-
logger.error(
|
|
547
|
-
|
|
577
|
+
logger.error(
|
|
578
|
+
"Error starting Teams admin consent: ",
|
|
579
|
+
getLogAttributesFromRequest(req as any),
|
|
580
|
+
);
|
|
581
|
+
logger.error(error, getLogAttributesFromRequest(req as any));
|
|
548
582
|
return Response.sendErrorResponse(
|
|
549
583
|
req,
|
|
550
584
|
res,
|
|
@@ -652,8 +686,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
652
686
|
});
|
|
653
687
|
|
|
654
688
|
if (tokenResp instanceof HTTPErrorResponse) {
|
|
655
|
-
logger.error(
|
|
656
|
-
|
|
689
|
+
logger.error(
|
|
690
|
+
"Error getting app token after admin consent:",
|
|
691
|
+
getLogAttributesFromRequest(req as any),
|
|
692
|
+
);
|
|
693
|
+
logger.error(tokenResp, getLogAttributesFromRequest(req as any));
|
|
657
694
|
return Response.redirect(
|
|
658
695
|
req,
|
|
659
696
|
res,
|
|
@@ -672,8 +709,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
672
709
|
Date.now() + Math.max(0, (expiresInSec - 60) * 1000),
|
|
673
710
|
).toISOString();
|
|
674
711
|
|
|
675
|
-
logger.debug(
|
|
676
|
-
|
|
712
|
+
logger.debug(
|
|
713
|
+
"App Access Token acquired via admin consent: ",
|
|
714
|
+
getLogAttributesFromRequest(req as any),
|
|
715
|
+
);
|
|
716
|
+
logger.debug(tokenData, getLogAttributesFromRequest(req as any));
|
|
677
717
|
|
|
678
718
|
// Get available teams from user auth token
|
|
679
719
|
const userId: string = stateParts[1]!;
|
|
@@ -704,8 +744,14 @@ export default class MicrosoftTeamsAPI {
|
|
|
704
744
|
});
|
|
705
745
|
|
|
706
746
|
if (teamsResponse instanceof HTTPErrorResponse) {
|
|
707
|
-
logger.error(
|
|
708
|
-
|
|
747
|
+
logger.error(
|
|
748
|
+
"Failed to get teams:",
|
|
749
|
+
getLogAttributesFromRequest(req as any),
|
|
750
|
+
);
|
|
751
|
+
logger.error(
|
|
752
|
+
teamsResponse,
|
|
753
|
+
getLogAttributesFromRequest(req as any),
|
|
754
|
+
);
|
|
709
755
|
return Response.redirect(
|
|
710
756
|
req,
|
|
711
757
|
res,
|
|
@@ -743,8 +789,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
743
789
|
{} as Record<string, MicrosoftTeamsTeam>,
|
|
744
790
|
);
|
|
745
791
|
} catch (error) {
|
|
746
|
-
logger.error(
|
|
747
|
-
|
|
792
|
+
logger.error(
|
|
793
|
+
"Error getting teams:",
|
|
794
|
+
getLogAttributesFromRequest(req as any),
|
|
795
|
+
);
|
|
796
|
+
logger.error(error, getLogAttributesFromRequest(req as any));
|
|
748
797
|
return Response.redirect(
|
|
749
798
|
req,
|
|
750
799
|
res,
|
|
@@ -784,8 +833,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
784
833
|
.addQueryParam("tenantId", tenantId),
|
|
785
834
|
);
|
|
786
835
|
} catch (err) {
|
|
787
|
-
logger.error(
|
|
788
|
-
|
|
836
|
+
logger.error(
|
|
837
|
+
"Error in Microsoft Teams admin consent callback: ",
|
|
838
|
+
getLogAttributesFromRequest(req as any),
|
|
839
|
+
);
|
|
840
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
789
841
|
// Best-effort redirect to integration page with error
|
|
790
842
|
try {
|
|
791
843
|
const stateParam: string | undefined =
|
|
@@ -830,7 +882,10 @@ export default class MicrosoftTeamsAPI {
|
|
|
830
882
|
// Delegate to MicrosoftTeamsUtil which uses the Bot Framework SDK
|
|
831
883
|
await MicrosoftTeamsUtil.processBotActivity(req, res);
|
|
832
884
|
} catch (error) {
|
|
833
|
-
logger.error(
|
|
885
|
+
logger.error(
|
|
886
|
+
"Error in Bot Framework endpoint: " + error,
|
|
887
|
+
getLogAttributesFromRequest(req as any),
|
|
888
|
+
);
|
|
834
889
|
if (!res.headersSent) {
|
|
835
890
|
Response.sendJsonObjectResponse(req, res, {
|
|
836
891
|
error: "Internal server error",
|
|
@@ -844,8 +899,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
844
899
|
router.post(
|
|
845
900
|
"/microsoft-teams/webhook",
|
|
846
901
|
async (req: ExpressRequest, res: ExpressResponse) => {
|
|
847
|
-
logger.debug(
|
|
848
|
-
|
|
902
|
+
logger.debug(
|
|
903
|
+
"Microsoft Teams Webhook Request: ",
|
|
904
|
+
getLogAttributesFromRequest(req as any),
|
|
905
|
+
);
|
|
906
|
+
logger.debug(req.body, getLogAttributesFromRequest(req as any));
|
|
849
907
|
|
|
850
908
|
try {
|
|
851
909
|
const authResult: MicrosoftTeamsRequest =
|
|
@@ -853,8 +911,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
853
911
|
req: req,
|
|
854
912
|
});
|
|
855
913
|
|
|
856
|
-
logger.debug(
|
|
857
|
-
|
|
914
|
+
logger.debug(
|
|
915
|
+
"Microsoft Teams Auth Result: ",
|
|
916
|
+
getLogAttributesFromRequest(req as any),
|
|
917
|
+
);
|
|
918
|
+
logger.debug(authResult, getLogAttributesFromRequest(req as any));
|
|
858
919
|
|
|
859
920
|
if (authResult.isAuthorized === false) {
|
|
860
921
|
return Response.sendTextResponse(req, res, "");
|
|
@@ -884,8 +945,11 @@ export default class MicrosoftTeamsAPI {
|
|
|
884
945
|
|
|
885
946
|
return Response.sendTextResponse(req, res, "");
|
|
886
947
|
} catch (error) {
|
|
887
|
-
logger.error(
|
|
888
|
-
|
|
948
|
+
logger.error(
|
|
949
|
+
"Error processing Teams webhook:",
|
|
950
|
+
getLogAttributesFromRequest(req as any),
|
|
951
|
+
);
|
|
952
|
+
logger.error(error, getLogAttributesFromRequest(req as any));
|
|
889
953
|
return Response.sendTextResponse(req, res, "");
|
|
890
954
|
}
|
|
891
955
|
},
|
|
@@ -6,7 +6,7 @@ import OpenSourceDeploymentService, {
|
|
|
6
6
|
Service as OpenSourceDeploymentServiceType,
|
|
7
7
|
} from "../Services/OpenSourceDeploymentService";
|
|
8
8
|
import { OpenSourceDeploymentWebhookUrl } from "../EnvironmentConfig";
|
|
9
|
-
import logger from "../Utils/Logger";
|
|
9
|
+
import logger, { getLogAttributesFromRequest } from "../Utils/Logger";
|
|
10
10
|
import Response from "../Utils/Response";
|
|
11
11
|
import {
|
|
12
12
|
ExpressRequest,
|
|
@@ -67,7 +67,7 @@ export default class OpenSourceDeploymentAPI extends BaseAPI<
|
|
|
67
67
|
instanceUrl: deployment.instanceUrl?.toString() || "",
|
|
68
68
|
},
|
|
69
69
|
}).catch((err: Error) => {
|
|
70
|
-
logger.error(err);
|
|
70
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
|
package/Server/API/SlackAPI.ts
CHANGED
|
@@ -6,7 +6,7 @@ import Express, {
|
|
|
6
6
|
import Response from "../Utils/Response";
|
|
7
7
|
import SlackAuthorization from "../Middleware/SlackAuthorization";
|
|
8
8
|
import BadRequestException from "../../Types/Exception/BadRequestException";
|
|
9
|
-
import logger from "../Utils/Logger";
|
|
9
|
+
import logger, { getLogAttributesFromRequest } from "../Utils/Logger";
|
|
10
10
|
import { JSONObject } from "../../Types/JSON";
|
|
11
11
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
12
12
|
import {
|
|
@@ -157,8 +157,11 @@ export default class SlackAPI {
|
|
|
157
157
|
redirect_uri: redirectUri.toString(),
|
|
158
158
|
};
|
|
159
159
|
|
|
160
|
-
logger.debug(
|
|
161
|
-
|
|
160
|
+
logger.debug(
|
|
161
|
+
"Slack Auth Request Body: ",
|
|
162
|
+
getLogAttributesFromRequest(req as any),
|
|
163
|
+
);
|
|
164
|
+
logger.debug(requestBody, getLogAttributesFromRequest(req as any));
|
|
162
165
|
|
|
163
166
|
// send the request to slack api to get the access token https://slack.com/api/oauth.v2.access
|
|
164
167
|
|
|
@@ -177,8 +180,11 @@ export default class SlackAPI {
|
|
|
177
180
|
|
|
178
181
|
const responseBody: JSONObject = response.data;
|
|
179
182
|
|
|
180
|
-
logger.debug(
|
|
181
|
-
|
|
183
|
+
logger.debug(
|
|
184
|
+
"Slack Auth Request Body: ",
|
|
185
|
+
getLogAttributesFromRequest(req as any),
|
|
186
|
+
);
|
|
187
|
+
logger.debug(responseBody, getLogAttributesFromRequest(req as any));
|
|
182
188
|
|
|
183
189
|
let slackTeamId: string | undefined = undefined;
|
|
184
190
|
let slackBotAccessToken: string | undefined = undefined;
|
|
@@ -371,8 +377,11 @@ export default class SlackAPI {
|
|
|
371
377
|
redirect_uri: redirectUri.toString(),
|
|
372
378
|
};
|
|
373
379
|
|
|
374
|
-
logger.debug(
|
|
375
|
-
|
|
380
|
+
logger.debug(
|
|
381
|
+
"Slack Auth Request Body: ",
|
|
382
|
+
getLogAttributesFromRequest(req as any),
|
|
383
|
+
);
|
|
384
|
+
logger.debug(requestBody, getLogAttributesFromRequest(req as any));
|
|
376
385
|
|
|
377
386
|
// send the request to slack api to get the access token https://slack.com/api/oauth.v2.access
|
|
378
387
|
|
|
@@ -391,8 +400,11 @@ export default class SlackAPI {
|
|
|
391
400
|
|
|
392
401
|
const responseBody: JSONObject = response.data;
|
|
393
402
|
|
|
394
|
-
logger.debug(
|
|
395
|
-
|
|
403
|
+
logger.debug(
|
|
404
|
+
"Slack User Auth Request Body: ",
|
|
405
|
+
getLogAttributesFromRequest(req as any),
|
|
406
|
+
);
|
|
407
|
+
logger.debug(responseBody, getLogAttributesFromRequest(req as any));
|
|
396
408
|
|
|
397
409
|
if (
|
|
398
410
|
responseBody["id_token"] &&
|
|
@@ -406,8 +418,11 @@ export default class SlackAPI {
|
|
|
406
418
|
"base64",
|
|
407
419
|
).toString("utf8"),
|
|
408
420
|
);
|
|
409
|
-
logger.debug(
|
|
410
|
-
|
|
421
|
+
logger.debug(
|
|
422
|
+
"Decoded ID Token: ",
|
|
423
|
+
getLogAttributesFromRequest(req as any),
|
|
424
|
+
);
|
|
425
|
+
logger.debug(decodedIdToken, getLogAttributesFromRequest(req as any));
|
|
411
426
|
responseBody["id_token"] = decodedIdToken;
|
|
412
427
|
}
|
|
413
428
|
|
|
@@ -462,12 +477,30 @@ export default class SlackAPI {
|
|
|
462
477
|
|
|
463
478
|
// cehck if the workspace project id is same as the team id.
|
|
464
479
|
if (projectAuth) {
|
|
465
|
-
logger.debug(
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
logger.debug(
|
|
470
|
-
|
|
480
|
+
logger.debug(
|
|
481
|
+
"Project Auth: ",
|
|
482
|
+
getLogAttributesFromRequest(req as any),
|
|
483
|
+
);
|
|
484
|
+
logger.debug(
|
|
485
|
+
projectAuth.workspaceProjectId,
|
|
486
|
+
getLogAttributesFromRequest(req as any),
|
|
487
|
+
);
|
|
488
|
+
logger.debug(
|
|
489
|
+
"Response Team ID: ",
|
|
490
|
+
getLogAttributesFromRequest(req as any),
|
|
491
|
+
);
|
|
492
|
+
logger.debug(
|
|
493
|
+
idToken["https://slack.com/team_id"],
|
|
494
|
+
getLogAttributesFromRequest(req as any),
|
|
495
|
+
);
|
|
496
|
+
logger.debug(
|
|
497
|
+
"Response User ID: ",
|
|
498
|
+
getLogAttributesFromRequest(req as any),
|
|
499
|
+
);
|
|
500
|
+
logger.debug(
|
|
501
|
+
idToken["https://slack.com/user_id"],
|
|
502
|
+
getLogAttributesFromRequest(req as any),
|
|
503
|
+
);
|
|
471
504
|
|
|
472
505
|
if (
|
|
473
506
|
projectAuth.workspaceProjectId?.toString() !==
|
|
@@ -536,18 +569,27 @@ export default class SlackAPI {
|
|
|
536
569
|
"/slack/interactive",
|
|
537
570
|
SlackAuthorization.isAuthorizedSlackRequest,
|
|
538
571
|
async (req: ExpressRequest, res: ExpressResponse) => {
|
|
539
|
-
logger.debug(
|
|
572
|
+
logger.debug(
|
|
573
|
+
"Slack Interactive Request: ",
|
|
574
|
+
getLogAttributesFromRequest(req as any),
|
|
575
|
+
);
|
|
540
576
|
|
|
541
577
|
const authResult: SlackRequest = await SlackAuthAction.isAuthorized({
|
|
542
578
|
req: req,
|
|
543
579
|
});
|
|
544
580
|
|
|
545
|
-
logger.debug(
|
|
546
|
-
|
|
581
|
+
logger.debug(
|
|
582
|
+
"Slack Interactive Auth Result: ",
|
|
583
|
+
getLogAttributesFromRequest(req as any),
|
|
584
|
+
);
|
|
585
|
+
logger.debug(authResult, getLogAttributesFromRequest(req as any));
|
|
547
586
|
|
|
548
587
|
// if slack uninstall app then,
|
|
549
588
|
if (authResult.payloadType === "app_uninstall") {
|
|
550
|
-
logger.debug(
|
|
589
|
+
logger.debug(
|
|
590
|
+
"Slack App Uninstall Request: ",
|
|
591
|
+
getLogAttributesFromRequest(req as any),
|
|
592
|
+
);
|
|
551
593
|
|
|
552
594
|
// remove the project auth and user auth.
|
|
553
595
|
|
|
@@ -576,7 +618,10 @@ export default class SlackAPI {
|
|
|
576
618
|
},
|
|
577
619
|
});
|
|
578
620
|
|
|
579
|
-
logger.debug(
|
|
621
|
+
logger.debug(
|
|
622
|
+
"Slack App Uninstall Request: Deleted all auth tokens.",
|
|
623
|
+
getLogAttributesFromRequest(req as any),
|
|
624
|
+
);
|
|
580
625
|
// return empty response.
|
|
581
626
|
|
|
582
627
|
return Response.sendTextResponse(req, res, "");
|
|
@@ -768,14 +813,20 @@ export default class SlackAPI {
|
|
|
768
813
|
"/slack/events",
|
|
769
814
|
SlackAuthorization.isAuthorizedSlackRequest,
|
|
770
815
|
async (req: ExpressRequest, res: ExpressResponse) => {
|
|
771
|
-
logger.debug(
|
|
772
|
-
|
|
816
|
+
logger.debug(
|
|
817
|
+
"Slack Events API Request received",
|
|
818
|
+
getLogAttributesFromRequest(req as any),
|
|
819
|
+
);
|
|
820
|
+
logger.debug(req.body, getLogAttributesFromRequest(req as any));
|
|
773
821
|
|
|
774
822
|
const payload: JSONObject = req.body;
|
|
775
823
|
|
|
776
824
|
// Handle URL verification challenge from Slack
|
|
777
825
|
if (payload["type"] === "url_verification") {
|
|
778
|
-
logger.debug(
|
|
826
|
+
logger.debug(
|
|
827
|
+
"Slack URL verification challenge received",
|
|
828
|
+
getLogAttributesFromRequest(req as any),
|
|
829
|
+
);
|
|
779
830
|
return Response.sendJsonObjectResponse(req, res, {
|
|
780
831
|
challenge: payload["challenge"],
|
|
781
832
|
});
|
|
@@ -786,13 +837,19 @@ export default class SlackAPI {
|
|
|
786
837
|
const event: JSONObject = payload["event"] as JSONObject;
|
|
787
838
|
|
|
788
839
|
if (!event) {
|
|
789
|
-
logger.debug(
|
|
840
|
+
logger.debug(
|
|
841
|
+
"No event found in payload",
|
|
842
|
+
getLogAttributesFromRequest(req as any),
|
|
843
|
+
);
|
|
790
844
|
return Response.sendTextResponse(req, res, "ok");
|
|
791
845
|
}
|
|
792
846
|
|
|
793
847
|
// Handle reaction_added events
|
|
794
848
|
if (event["type"] === "reaction_added") {
|
|
795
|
-
logger.debug(
|
|
849
|
+
logger.debug(
|
|
850
|
+
"Reaction added event received",
|
|
851
|
+
getLogAttributesFromRequest(req as any),
|
|
852
|
+
);
|
|
796
853
|
|
|
797
854
|
/*
|
|
798
855
|
* Respond immediately to Slack to prevent retry
|
|
@@ -822,6 +879,7 @@ export default class SlackAPI {
|
|
|
822
879
|
if (!isSupportedEmoji) {
|
|
823
880
|
logger.debug(
|
|
824
881
|
`Emoji "${reactionData.reaction}" is not supported. Skipping.`,
|
|
882
|
+
getLogAttributesFromRequest(req as any),
|
|
825
883
|
);
|
|
826
884
|
return;
|
|
827
885
|
}
|
|
@@ -833,22 +891,31 @@ export default class SlackAPI {
|
|
|
833
891
|
try {
|
|
834
892
|
await SlackIncidentActions.handleEmojiReaction(reactionData);
|
|
835
893
|
} catch (err) {
|
|
836
|
-
logger.error(
|
|
837
|
-
|
|
894
|
+
logger.error(
|
|
895
|
+
"Error handling incident emoji reaction:",
|
|
896
|
+
getLogAttributesFromRequest(req as any),
|
|
897
|
+
);
|
|
898
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
838
899
|
}
|
|
839
900
|
|
|
840
901
|
try {
|
|
841
902
|
await SlackAlertActions.handleEmojiReaction(reactionData);
|
|
842
903
|
} catch (err) {
|
|
843
|
-
logger.error(
|
|
844
|
-
|
|
904
|
+
logger.error(
|
|
905
|
+
"Error handling alert emoji reaction:",
|
|
906
|
+
getLogAttributesFromRequest(req as any),
|
|
907
|
+
);
|
|
908
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
845
909
|
}
|
|
846
910
|
|
|
847
911
|
try {
|
|
848
912
|
await SlackAlertEpisodeActions.handleEmojiReaction(reactionData);
|
|
849
913
|
} catch (err) {
|
|
850
|
-
logger.error(
|
|
851
|
-
|
|
914
|
+
logger.error(
|
|
915
|
+
"Error handling alert episode emoji reaction:",
|
|
916
|
+
getLogAttributesFromRequest(req as any),
|
|
917
|
+
);
|
|
918
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
852
919
|
}
|
|
853
920
|
|
|
854
921
|
try {
|
|
@@ -856,8 +923,11 @@ export default class SlackAPI {
|
|
|
856
923
|
reactionData,
|
|
857
924
|
);
|
|
858
925
|
} catch (err) {
|
|
859
|
-
logger.error(
|
|
860
|
-
|
|
926
|
+
logger.error(
|
|
927
|
+
"Error handling incident episode emoji reaction:",
|
|
928
|
+
getLogAttributesFromRequest(req as any),
|
|
929
|
+
);
|
|
930
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
861
931
|
}
|
|
862
932
|
|
|
863
933
|
try {
|
|
@@ -867,8 +937,9 @@ export default class SlackAPI {
|
|
|
867
937
|
} catch (err) {
|
|
868
938
|
logger.error(
|
|
869
939
|
"Error handling scheduled maintenance emoji reaction:",
|
|
940
|
+
getLogAttributesFromRequest(req as any),
|
|
870
941
|
);
|
|
871
|
-
logger.error(err);
|
|
942
|
+
logger.error(err, getLogAttributesFromRequest(req as any));
|
|
872
943
|
}
|
|
873
944
|
|
|
874
945
|
return;
|
package/Server/API/StatusAPI.ts
CHANGED
|
@@ -5,7 +5,7 @@ import Express, {
|
|
|
5
5
|
ExpressResponse,
|
|
6
6
|
ExpressRouter,
|
|
7
7
|
} from "../Utils/Express";
|
|
8
|
-
import logger from "../Utils/Logger";
|
|
8
|
+
import logger, { getLogAttributesFromRequest } from "../Utils/Logger";
|
|
9
9
|
import Response from "../Utils/Response";
|
|
10
10
|
import Telemetry, { TelemetryCounter } from "../Utils/Telemetry";
|
|
11
11
|
import Exception from "../../Types/Exception/Exception";
|
|
@@ -62,7 +62,7 @@ export default class StatusAPI {
|
|
|
62
62
|
router.get("/status", (req: ExpressRequest, res: ExpressResponse) => {
|
|
63
63
|
statusCheckSuccessCounter.add(1);
|
|
64
64
|
|
|
65
|
-
logger.info("Status check: ok");
|
|
65
|
+
logger.info("Status check: ok", getLogAttributesFromRequest(req as any));
|
|
66
66
|
|
|
67
67
|
Response.sendJsonObjectResponse(req, res, {
|
|
68
68
|
status: "ok",
|
|
@@ -127,17 +127,20 @@ export default class StatusAPI {
|
|
|
127
127
|
res: ExpressResponse,
|
|
128
128
|
): Promise<void> {
|
|
129
129
|
try {
|
|
130
|
-
logger.info("Ready check: Init");
|
|
130
|
+
logger.info("Ready check: Init", getLogAttributesFromRequest(req as any));
|
|
131
131
|
await options.readyCheck();
|
|
132
|
-
logger.info("Ready check: ok");
|
|
132
|
+
logger.info("Ready check: ok", getLogAttributesFromRequest(req as any));
|
|
133
133
|
stausReadySuccess.add(1);
|
|
134
134
|
|
|
135
135
|
Response.sendJsonObjectResponse(req, res, {
|
|
136
136
|
status: "ok",
|
|
137
137
|
});
|
|
138
138
|
} catch (e) {
|
|
139
|
-
logger.error(
|
|
140
|
-
|
|
139
|
+
logger.error(
|
|
140
|
+
"Ready check: failed",
|
|
141
|
+
getLogAttributesFromRequest(req as any),
|
|
142
|
+
);
|
|
143
|
+
logger.error(e, getLogAttributesFromRequest(req as any));
|
|
141
144
|
|
|
142
145
|
stausReadyFailed.add(1);
|
|
143
146
|
Response.sendErrorResponse(
|
|
@@ -157,17 +160,20 @@ export default class StatusAPI {
|
|
|
157
160
|
res: ExpressResponse,
|
|
158
161
|
): Promise<void> {
|
|
159
162
|
try {
|
|
160
|
-
logger.info("Live check: Init");
|
|
163
|
+
logger.info("Live check: Init", getLogAttributesFromRequest(req as any));
|
|
161
164
|
await options.liveCheck();
|
|
162
|
-
logger.info("Live check: ok");
|
|
165
|
+
logger.info("Live check: ok", getLogAttributesFromRequest(req as any));
|
|
163
166
|
stausLiveSuccess.add(1);
|
|
164
167
|
|
|
165
168
|
Response.sendJsonObjectResponse(req, res, {
|
|
166
169
|
status: "ok",
|
|
167
170
|
});
|
|
168
171
|
} catch (e) {
|
|
169
|
-
logger.error(
|
|
170
|
-
|
|
172
|
+
logger.error(
|
|
173
|
+
"Live check: failed",
|
|
174
|
+
getLogAttributesFromRequest(req as any),
|
|
175
|
+
);
|
|
176
|
+
logger.error(e, getLogAttributesFromRequest(req as any));
|
|
171
177
|
stausLiveFailed.add(1);
|
|
172
178
|
Response.sendErrorResponse(
|
|
173
179
|
req,
|
|
@@ -184,13 +190,19 @@ export default class StatusAPI {
|
|
|
184
190
|
res: ExpressResponse,
|
|
185
191
|
): Promise<void> {
|
|
186
192
|
try {
|
|
187
|
-
logger.debug(
|
|
193
|
+
logger.debug(
|
|
194
|
+
"Global cache check",
|
|
195
|
+
getLogAttributesFromRequest(req as any),
|
|
196
|
+
);
|
|
188
197
|
if (options.globalCacheCheck) {
|
|
189
198
|
await options.globalCacheCheck();
|
|
190
199
|
} else {
|
|
191
200
|
throw new BadRequestException("Global cache check not implemented");
|
|
192
201
|
}
|
|
193
|
-
logger.info(
|
|
202
|
+
logger.info(
|
|
203
|
+
"Global cache check: ok",
|
|
204
|
+
getLogAttributesFromRequest(req as any),
|
|
205
|
+
);
|
|
194
206
|
|
|
195
207
|
Response.sendJsonObjectResponse(req, res, {
|
|
196
208
|
status: "ok",
|
|
@@ -213,7 +225,10 @@ export default class StatusAPI {
|
|
|
213
225
|
res: ExpressResponse,
|
|
214
226
|
): Promise<void> {
|
|
215
227
|
try {
|
|
216
|
-
logger.debug(
|
|
228
|
+
logger.debug(
|
|
229
|
+
"Analytics database check",
|
|
230
|
+
getLogAttributesFromRequest(req as any),
|
|
231
|
+
);
|
|
217
232
|
if (options.analyticsDatabaseCheck) {
|
|
218
233
|
await options.analyticsDatabaseCheck();
|
|
219
234
|
} else {
|
|
@@ -221,7 +236,10 @@ export default class StatusAPI {
|
|
|
221
236
|
"Analytics database check not implemented",
|
|
222
237
|
);
|
|
223
238
|
}
|
|
224
|
-
logger.info(
|
|
239
|
+
logger.info(
|
|
240
|
+
"Analytics database check: ok",
|
|
241
|
+
getLogAttributesFromRequest(req as any),
|
|
242
|
+
);
|
|
225
243
|
|
|
226
244
|
Response.sendJsonObjectResponse(req, res, {
|
|
227
245
|
status: "ok",
|
|
@@ -244,7 +262,7 @@ export default class StatusAPI {
|
|
|
244
262
|
res: ExpressResponse,
|
|
245
263
|
): Promise<void> {
|
|
246
264
|
try {
|
|
247
|
-
logger.debug("Database check");
|
|
265
|
+
logger.debug("Database check", getLogAttributesFromRequest(req as any));
|
|
248
266
|
|
|
249
267
|
if (options.databaseCheck) {
|
|
250
268
|
await options.databaseCheck();
|
|
@@ -252,7 +270,10 @@ export default class StatusAPI {
|
|
|
252
270
|
throw new BadRequestException("Database check not implemented");
|
|
253
271
|
}
|
|
254
272
|
|
|
255
|
-
logger.info(
|
|
273
|
+
logger.info(
|
|
274
|
+
"Database check: ok",
|
|
275
|
+
getLogAttributesFromRequest(req as any),
|
|
276
|
+
);
|
|
256
277
|
|
|
257
278
|
Response.sendJsonObjectResponse(req, res, {
|
|
258
279
|
status: "ok",
|