@oneuptime/common 9.4.13 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/DatabaseModels/AIAgent.ts +20 -10
- package/Models/DatabaseModels/AIAgentOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/AIAgentOwnerUser.ts +12 -0
- package/Models/DatabaseModels/AIAgentTask.ts +24 -2
- package/Models/DatabaseModels/AIAgentTaskLog.ts +19 -2
- package/Models/DatabaseModels/AIAgentTaskPullRequest.ts +29 -2
- package/Models/DatabaseModels/AIAgentTaskTelemetryException.ts +11 -0
- package/Models/DatabaseModels/Alert.ts +31 -1
- package/Models/DatabaseModels/AlertCustomField.ts +10 -0
- package/Models/DatabaseModels/AlertEpisode.ts +32 -0
- package/Models/DatabaseModels/AlertEpisodeFeed.ts +14 -0
- package/Models/DatabaseModels/AlertEpisodeInternalNote.ts +11 -0
- package/Models/DatabaseModels/AlertEpisodeMember.ts +17 -0
- package/Models/DatabaseModels/AlertEpisodeOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/AlertEpisodeOwnerUser.ts +12 -0
- package/Models/DatabaseModels/AlertEpisodeStateTimeline.ts +14 -0
- package/Models/DatabaseModels/AlertFeed.ts +14 -0
- package/Models/DatabaseModels/AlertGroupingRule.ts +178 -0
- package/Models/DatabaseModels/AlertInternalNote.ts +11 -0
- package/Models/DatabaseModels/AlertNoteTemplate.ts +8 -0
- package/Models/DatabaseModels/AlertOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/AlertOwnerUser.ts +12 -0
- package/Models/DatabaseModels/AlertSeverity.ts +12 -0
- package/Models/DatabaseModels/AlertState.ts +14 -0
- package/Models/DatabaseModels/AlertStateTimeline.ts +14 -0
- package/Models/DatabaseModels/ApiKey.ts +10 -0
- package/Models/DatabaseModels/ApiKeyPermission.ts +11 -0
- package/Models/DatabaseModels/BillingInvoice.ts +16 -0
- package/Models/DatabaseModels/BillingPaymentMethod.ts +12 -0
- package/Models/DatabaseModels/CallLog.ts +29 -0
- package/Models/DatabaseModels/CodeRepository.ts +18 -0
- package/Models/DatabaseModels/Dashboard.ts +12 -0
- package/Models/DatabaseModels/DataMigration.ts +1 -0
- package/Models/DatabaseModels/Domain.ts +11 -0
- package/Models/DatabaseModels/EmailLog.ts +30 -0
- package/Models/DatabaseModels/Incident.ts +44 -0
- package/Models/DatabaseModels/IncidentCustomField.ts +10 -0
- package/Models/DatabaseModels/IncidentEpisode.ts +33 -0
- package/Models/DatabaseModels/IncidentEpisodeFeed.ts +14 -0
- package/Models/DatabaseModels/IncidentEpisodeInternalNote.ts +11 -0
- package/Models/DatabaseModels/IncidentEpisodeMember.ts +17 -0
- package/Models/DatabaseModels/IncidentEpisodeOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/IncidentEpisodeOwnerUser.ts +12 -0
- package/Models/DatabaseModels/IncidentEpisodeRoleMember.ts +514 -0
- package/Models/DatabaseModels/IncidentEpisodeStateTimeline.ts +14 -0
- package/Models/DatabaseModels/IncidentFeed.ts +16 -0
- package/Models/DatabaseModels/IncidentGroupingRule.ts +263 -0
- package/Models/DatabaseModels/IncidentInternalNote.ts +11 -0
- package/Models/DatabaseModels/IncidentMember.ts +544 -0
- package/Models/DatabaseModels/IncidentNoteTemplate.ts +8 -0
- package/Models/DatabaseModels/IncidentOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/IncidentOwnerUser.ts +12 -0
- package/Models/DatabaseModels/IncidentPostmortemTemplate.ts +8 -0
- package/Models/DatabaseModels/IncidentPublicNote.ts +15 -0
- package/Models/DatabaseModels/IncidentRole.ts +530 -0
- package/Models/DatabaseModels/IncidentSeverity.ts +12 -0
- package/Models/DatabaseModels/IncidentSla.ts +675 -0
- package/Models/DatabaseModels/IncidentSlaRule.ts +889 -0
- package/Models/DatabaseModels/IncidentState.ts +15 -0
- package/Models/DatabaseModels/IncidentStateTimeline.ts +17 -0
- package/Models/DatabaseModels/IncidentTemplate.ts +20 -0
- package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +12 -0
- package/Models/DatabaseModels/IncomingCallLog.ts +20 -0
- package/Models/DatabaseModels/IncomingCallLogItem.ts +17 -0
- package/Models/DatabaseModels/IncomingCallPolicy.ts +22 -0
- package/Models/DatabaseModels/IncomingCallPolicyEscalationRule.ts +15 -0
- package/Models/DatabaseModels/Index.ts +14 -0
- package/Models/DatabaseModels/Label.ts +11 -0
- package/Models/DatabaseModels/LlmLog.ts +28 -0
- package/Models/DatabaseModels/LlmProvider.ts +18 -13
- package/Models/DatabaseModels/MetricType.ts +11 -0
- package/Models/DatabaseModels/Monitor.ts +34 -0
- package/Models/DatabaseModels/MonitorCustomField.ts +10 -0
- package/Models/DatabaseModels/MonitorFeed.ts +14 -0
- package/Models/DatabaseModels/MonitorGroup.ts +9 -0
- package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +12 -0
- package/Models/DatabaseModels/MonitorGroupResource.ts +9 -0
- package/Models/DatabaseModels/MonitorOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/MonitorOwnerUser.ts +12 -0
- package/Models/DatabaseModels/MonitorProbe.ts +15 -0
- package/Models/DatabaseModels/MonitorSecret.ts +10 -0
- package/Models/DatabaseModels/MonitorStatus.ts +14 -0
- package/Models/DatabaseModels/MonitorStatusTimeline.ts +14 -0
- package/Models/DatabaseModels/MonitorTest.ts +14 -0
- package/Models/DatabaseModels/OnCallDutyPolicy.ts +12 -0
- package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +10 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +11 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.ts +11 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.ts +11 -0
- package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.ts +11 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +27 -0
- package/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.ts +31 -0
- package/Models/DatabaseModels/OnCallDutyPolicyFeed.ts +14 -0
- package/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.ts +12 -0
- package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +17 -0
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts +16 -0
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.ts +14 -0
- package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +14 -0
- package/Models/DatabaseModels/OnCallDutyPolicyUserOverride.ts +13 -0
- package/Models/DatabaseModels/Probe.ts +20 -9
- package/Models/DatabaseModels/ProbeOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/ProbeOwnerUser.ts +12 -0
- package/Models/DatabaseModels/Project.ts +42 -3
- package/Models/DatabaseModels/ProjectCallSMSConfig.ts +14 -0
- package/Models/DatabaseModels/ProjectSCIM.ts +14 -0
- package/Models/DatabaseModels/ProjectSCIMLog.ts +14 -0
- package/Models/DatabaseModels/ProjectSmtpConfig.ts +23 -0
- package/Models/DatabaseModels/ProjectSso.ts +17 -0
- package/Models/DatabaseModels/ProjectUserProfile.ts +355 -0
- package/Models/DatabaseModels/PromoCode.ts +5 -0
- package/Models/DatabaseModels/PushNotificationLog.ts +29 -0
- package/Models/DatabaseModels/Reseller.ts +8 -4
- package/Models/DatabaseModels/ResellerPlan.ts +1 -1
- package/Models/DatabaseModels/ScheduledMaintenance.ts +28 -0
- package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +10 -0
- package/Models/DatabaseModels/ScheduledMaintenanceFeed.ts +14 -0
- package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +11 -0
- package/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.ts +8 -0
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +12 -0
- package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +15 -0
- package/Models/DatabaseModels/ScheduledMaintenanceState.ts +16 -0
- package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +15 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +26 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.ts +11 -0
- package/Models/DatabaseModels/Service.ts +14 -0
- package/Models/DatabaseModels/ServiceCodeRepository.ts +15 -0
- package/Models/DatabaseModels/ServiceDependency.ts +11 -0
- package/Models/DatabaseModels/ServiceMonitor.ts +11 -0
- package/Models/DatabaseModels/ServiceOwnerTeam.ts +11 -0
- package/Models/DatabaseModels/ServiceOwnerUser.ts +11 -0
- package/Models/DatabaseModels/SmsLog.ts +29 -0
- package/Models/DatabaseModels/StatusPage.ts +65 -0
- package/Models/DatabaseModels/StatusPageAnnouncement.ts +17 -0
- package/Models/DatabaseModels/StatusPageAnnouncementTemplate.ts +13 -0
- package/Models/DatabaseModels/StatusPageCustomField.ts +10 -0
- package/Models/DatabaseModels/StatusPageDomain.ts +18 -0
- package/Models/DatabaseModels/StatusPageFooterLink.ts +11 -0
- package/Models/DatabaseModels/StatusPageGroup.ts +15 -0
- package/Models/DatabaseModels/StatusPageHeaderLink.ts +11 -0
- package/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.ts +10 -0
- package/Models/DatabaseModels/StatusPageOwnerTeam.ts +12 -0
- package/Models/DatabaseModels/StatusPageOwnerUser.ts +12 -0
- package/Models/DatabaseModels/StatusPagePrivateUser.ts +11 -0
- package/Models/DatabaseModels/StatusPageResource.ts +21 -0
- package/Models/DatabaseModels/StatusPageSCIM.ts +14 -0
- package/Models/DatabaseModels/StatusPageSCIMLog.ts +15 -0
- package/Models/DatabaseModels/StatusPageSso.ts +18 -0
- package/Models/DatabaseModels/StatusPageSubscriber.ts +21 -0
- package/Models/DatabaseModels/StatusPageSubscriberNotificationTemplate.ts +12 -0
- package/Models/DatabaseModels/StatusPageSubscriberNotificationTemplateStatusPage.ts +10 -0
- package/Models/DatabaseModels/TableView.ts +13 -0
- package/Models/DatabaseModels/Team.ts +12 -0
- package/Models/DatabaseModels/TeamComplianceSetting.ts +10 -0
- package/Models/DatabaseModels/TeamMember.ts +2 -0
- package/Models/DatabaseModels/TeamMemberCustomField.ts +357 -0
- package/Models/DatabaseModels/TeamPermission.ts +11 -0
- package/Models/DatabaseModels/TelemetryException.ts +28 -0
- package/Models/DatabaseModels/TelemetryIngestionKey.ts +8 -0
- package/Models/DatabaseModels/TelemetryUsageBilling.ts +14 -0
- package/Models/DatabaseModels/User.ts +2 -2
- package/Models/DatabaseModels/WhatsAppLog.ts +30 -0
- package/Models/DatabaseModels/Workflow.ts +13 -0
- package/Models/DatabaseModels/WorkflowLog.ts +9 -0
- package/Models/DatabaseModels/WorkflowVariable.ts +12 -0
- package/Models/DatabaseModels/WorkspaceNotificationLog.ts +35 -0
- package/Models/DatabaseModels/WorkspaceNotificationRule.ts +12 -0
- package/Models/DatabaseModels/WorkspaceProjectAuthToken.ts +10 -0
- package/Server/API/ProjectAPI.ts +32 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769712834410-MigrationName.ts +121 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769719135546-MigrationName.ts +35 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769719826928-MigrationName.ts +35 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769723982900-MigrationName.ts +307 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769772215532-MigrationName.ts +91 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769774527481-MigrationName.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769780297584-MigrationName.ts +245 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1769802715014-MigrationName.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +16 -0
- package/Server/Services/AlertGroupingEngineService.ts +83 -4
- package/Server/Services/IncidentEpisodeRoleMemberService.ts +227 -0
- package/Server/Services/IncidentEpisodeService.ts +1 -1
- package/Server/Services/IncidentGroupingEngineService.ts +120 -4
- package/Server/Services/IncidentMemberService.ts +251 -0
- package/Server/Services/IncidentRoleService.ts +87 -0
- package/Server/Services/IncidentService.ts +32 -0
- package/Server/Services/IncidentSlaRuleService.ts +356 -0
- package/Server/Services/IncidentSlaService.ts +550 -0
- package/Server/Services/IncidentStateTimelineService.ts +182 -1
- package/Server/Services/Index.ts +14 -0
- package/Server/Services/ProjectService.ts +90 -0
- package/Server/Services/ProjectUserProfileService.ts +9 -0
- package/Server/Services/TeamMemberCustomFieldService.ts +9 -0
- package/Server/Services/UserOnCallLogService.ts +7 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +26 -0
- package/Server/Utils/Monitor/MonitorIncident.ts +69 -0
- package/Server/Utils/WhatsAppTemplateUtil.ts +3 -0
- package/Tests/Server/Services/AlertGroupingEngineService.test.ts +11 -6
- package/Types/Email/EmailTemplateType.ts +1 -0
- package/Types/Incident/IncidentSlaStatus.ts +9 -0
- package/Types/Monitor/CriteriaAlert.ts +6 -0
- package/Types/Monitor/CriteriaIncident.ts +18 -0
- package/Types/NotificationRule/NotificationRuleType.ts +1 -0
- package/Types/NotificationSetting/NotificationSettingEventType.ts +1 -0
- package/Types/Permission.ts +243 -0
- package/Types/WhatsApp/WhatsAppTemplates.ts +5 -0
- package/UI/Components/CollapsibleSection/CollapsibleSection.tsx +153 -0
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +17 -10
- package/UI/Components/Dropdown/Dropdown.tsx +2 -0
- package/UI/Components/Forms/Fields/FormField.tsx +22 -0
- package/UI/Components/Forms/Fields/IconPicker.tsx +175 -0
- package/UI/Components/Forms/Types/FormFieldSchemaType.ts +1 -0
- package/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.ts +2 -0
- package/UI/Components/HeaderAlert/NotificationBell/NotificationBell.tsx +96 -0
- package/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.tsx +112 -0
- package/UI/Components/HeaderAlert/NotificationBell/NotificationBellItem.tsx +78 -0
- package/UI/Components/HeaderAlert/NotificationBell/NotificationBellSection.tsx +40 -0
- package/UI/Components/HeaderAlert/NotificationBell/NotificationItem.ts +13 -0
- package/UI/Components/HeaderAlert/NotificationBell/index.ts +5 -0
- package/UI/Components/Icon/Icon.tsx +23 -0
- package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +608 -0
- package/UI/Components/RoleLabel/RoleLabel.tsx +70 -0
- package/UI/Components/Types/FieldType.ts +1 -0
- package/build/dist/Models/DatabaseModels/AIAgent.js +20 -10
- package/build/dist/Models/DatabaseModels/AIAgent.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/AIAgentOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/AIAgentOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentTask.js +24 -2
- package/build/dist/Models/DatabaseModels/AIAgentTask.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js +19 -2
- package/build/dist/Models/DatabaseModels/AIAgentTaskLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js +29 -2
- package/build/dist/Models/DatabaseModels/AIAgentTaskPullRequest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js +11 -0
- package/build/dist/Models/DatabaseModels/AIAgentTaskTelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Alert.js +31 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertCustomField.js +10 -0
- package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisode.js +32 -0
- package/build/dist/Models/DatabaseModels/AlertEpisode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeFeed.js +14 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeInternalNote.js +11 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js +17 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js +14 -0
- package/build/dist/Models/DatabaseModels/AlertEpisodeStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertFeed.js +14 -0
- package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertGroupingRule.js +171 -0
- package/build/dist/Models/DatabaseModels/AlertGroupingRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js +11 -0
- package/build/dist/Models/DatabaseModels/AlertInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js +8 -0
- package/build/dist/Models/DatabaseModels/AlertNoteTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/AlertOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +12 -0
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertState.js +14 -0
- package/build/dist/Models/DatabaseModels/AlertState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js +14 -0
- package/build/dist/Models/DatabaseModels/AlertStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKey.js +10 -0
- package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +11 -0
- package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/BillingInvoice.js +16 -0
- package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js +12 -0
- package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CallLog.js +29 -0
- package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CodeRepository.js +18 -0
- package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Dashboard.js +12 -0
- package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DataMigration.js +1 -0
- package/build/dist/Models/DatabaseModels/DataMigration.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Domain.js +11 -0
- package/build/dist/Models/DatabaseModels/Domain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/EmailLog.js +30 -0
- package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +44 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js +10 -0
- package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisode.js +33 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js +14 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeInternalNote.js +11 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js +17 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentEpisodeRoleMember.js +531 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeRoleMember.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js +14 -0
- package/build/dist/Models/DatabaseModels/IncidentEpisodeStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentFeed.js +16 -0
- package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js +249 -0
- package/build/dist/Models/DatabaseModels/IncidentGroupingRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +11 -0
- package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentMember.js +566 -0
- package/build/dist/Models/DatabaseModels/IncidentMember.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +8 -0
- package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentPostmortemTemplate.js +8 -0
- package/build/dist/Models/DatabaseModels/IncidentPostmortemTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +15 -0
- package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentRole.js +558 -0
- package/build/dist/Models/DatabaseModels/IncidentRole.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js +12 -0
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentSla.js +698 -0
- package/build/dist/Models/DatabaseModels/IncidentSla.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentSlaRule.js +895 -0
- package/build/dist/Models/DatabaseModels/IncidentSlaRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentState.js +15 -0
- package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +17 -0
- package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +20 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncomingCallLog.js +20 -0
- package/build/dist/Models/DatabaseModels/IncomingCallLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncomingCallLogItem.js +17 -0
- package/build/dist/Models/DatabaseModels/IncomingCallLogItem.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncomingCallPolicy.js +22 -0
- package/build/dist/Models/DatabaseModels/IncomingCallPolicy.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncomingCallPolicyEscalationRule.js +15 -0
- package/build/dist/Models/DatabaseModels/IncomingCallPolicyEscalationRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +14 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Label.js +11 -0
- package/build/dist/Models/DatabaseModels/Label.js.map +1 -1
- package/build/dist/Models/DatabaseModels/LlmLog.js +28 -0
- package/build/dist/Models/DatabaseModels/LlmLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/LlmProvider.js +18 -13
- package/build/dist/Models/DatabaseModels/LlmProvider.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MetricType.js +11 -0
- package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Monitor.js +34 -0
- package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js +10 -0
- package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorFeed.js +14 -0
- package/build/dist/Models/DatabaseModels/MonitorFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroup.js +9 -0
- package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorGroupResource.js +9 -0
- package/build/dist/Models/DatabaseModels/MonitorGroupResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorProbe.js +15 -0
- package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorSecret.js +10 -0
- package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatus.js +14 -0
- package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +14 -0
- package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTest.js +14 -0
- package/build/dist/Models/DatabaseModels/MonitorTest.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +12 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +10 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +11 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js +11 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js +11 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +27 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js +31 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js +14 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +17 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js +16 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js +14 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +14 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js +13 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyUserOverride.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Probe.js +20 -9
- package/build/dist/Models/DatabaseModels/Probe.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +42 -3
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +14 -0
- package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSCIM.js +14 -0
- package/build/dist/Models/DatabaseModels/ProjectSCIM.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSCIMLog.js +14 -0
- package/build/dist/Models/DatabaseModels/ProjectSCIMLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +23 -0
- package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSso.js +17 -0
- package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectUserProfile.js +371 -0
- package/build/dist/Models/DatabaseModels/ProjectUserProfile.js.map +1 -0
- package/build/dist/Models/DatabaseModels/PromoCode.js +5 -0
- package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -1
- package/build/dist/Models/DatabaseModels/PushNotificationLog.js +29 -0
- package/build/dist/Models/DatabaseModels/PushNotificationLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Reseller.js +8 -4
- package/build/dist/Models/DatabaseModels/Reseller.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ResellerPlan.js +1 -1
- package/build/dist/Models/DatabaseModels/ResellerPlan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +28 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +10 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js +14 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +11 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js +8 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +15 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js +16 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +15 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +26 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplateOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Service.js +14 -0
- package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js +15 -0
- package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceDependency.js +11 -0
- package/build/dist/Models/DatabaseModels/ServiceDependency.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceMonitor.js +11 -0
- package/build/dist/Models/DatabaseModels/ServiceMonitor.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js +11 -0
- package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js +11 -0
- package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/SmsLog.js +29 -0
- package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPage.js +65 -0
- package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +17 -0
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js +13 -0
- package/build/dist/Models/DatabaseModels/StatusPageAnnouncementTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +10 -0
- package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js +18 -0
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js +11 -0
- package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js +15 -0
- package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js +11 -0
- package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js +10 -0
- package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +12 -0
- package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +12 -0
- package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +11 -0
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageResource.js +21 -0
- package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSCIM.js +14 -0
- package/build/dist/Models/DatabaseModels/StatusPageSCIM.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js +15 -0
- package/build/dist/Models/DatabaseModels/StatusPageSCIMLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSso.js +18 -0
- package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +21 -0
- package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplate.js +12 -0
- package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplateStatusPage.js +10 -0
- package/build/dist/Models/DatabaseModels/StatusPageSubscriberNotificationTemplateStatusPage.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TableView.js +13 -0
- package/build/dist/Models/DatabaseModels/TableView.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Team.js +12 -0
- package/build/dist/Models/DatabaseModels/Team.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +10 -0
- package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMember.js +2 -0
- package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +377 -0
- package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TeamPermission.js +11 -0
- package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryException.js +28 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +8 -0
- package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +14 -0
- package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +2 -2
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WhatsAppLog.js +30 -0
- package/build/dist/Models/DatabaseModels/WhatsAppLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Workflow.js +13 -0
- package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowLog.js +9 -0
- package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js +12 -0
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js +35 -0
- package/build/dist/Models/DatabaseModels/WorkspaceNotificationLog.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkspaceNotificationRule.js +12 -0
- package/build/dist/Models/DatabaseModels/WorkspaceNotificationRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js +10 -0
- package/build/dist/Models/DatabaseModels/WorkspaceProjectAuthToken.js.map +1 -1
- package/build/dist/Server/API/ProjectAPI.js +22 -0
- package/build/dist/Server/API/ProjectAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769712834410-MigrationName.js +48 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769712834410-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719135546-MigrationName.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719135546-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719826928-MigrationName.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769719826928-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769723982900-MigrationName.js +112 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769723982900-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769772215532-MigrationName.js +38 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769772215532-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769774527481-MigrationName.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769774527481-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769780297584-MigrationName.js +92 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769780297584-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769802715014-MigrationName.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1769802715014-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js +72 -4
- package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeRoleMemberService.js +209 -0
- package/build/dist/Server/Services/IncidentEpisodeRoleMemberService.js.map +1 -0
- package/build/dist/Server/Services/IncidentEpisodeService.js +1 -1
- package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js +104 -4
- package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentMemberService.js +223 -0
- package/build/dist/Server/Services/IncidentMemberService.js.map +1 -0
- package/build/dist/Server/Services/IncidentRoleService.js +59 -0
- package/build/dist/Server/Services/IncidentRoleService.js.map +1 -0
- package/build/dist/Server/Services/IncidentService.js +27 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js +303 -0
- package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -0
- package/build/dist/Server/Services/IncidentSlaService.js +471 -0
- package/build/dist/Server/Services/IncidentSlaService.js.map +1 -0
- package/build/dist/Server/Services/IncidentStateTimelineService.js +154 -2
- package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +14 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +73 -1
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ProjectUserProfileService.js +9 -0
- package/build/dist/Server/Services/ProjectUserProfileService.js.map +1 -0
- package/build/dist/Server/Services/TeamMemberCustomFieldService.js +9 -0
- package/build/dist/Server/Services/TeamMemberCustomFieldService.js.map +1 -0
- package/build/dist/Server/Services/UserOnCallLogService.js +4 -0
- package/build/dist/Server/Services/UserOnCallLogService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +23 -7
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +52 -7
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +2 -0
- package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
- package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +8 -6
- package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Incident/IncidentSlaStatus.js +10 -0
- package/build/dist/Types/Incident/IncidentSlaStatus.js.map +1 -0
- package/build/dist/Types/Monitor/CriteriaAlert.js +3 -0
- package/build/dist/Types/Monitor/CriteriaAlert.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaIncident.js +7 -0
- package/build/dist/Types/Monitor/CriteriaIncident.js.map +1 -1
- package/build/dist/Types/NotificationRule/NotificationRuleType.js +1 -0
- package/build/dist/Types/NotificationRule/NotificationRuleType.js.map +1 -1
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +1 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/Permission.js +206 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/WhatsApp/WhatsAppTemplates.js +3 -0
- package/build/dist/Types/WhatsApp/WhatsAppTemplates.js.map +1 -1
- package/build/dist/UI/Components/CollapsibleSection/CollapsibleSection.js +73 -0
- package/build/dist/UI/Components/CollapsibleSection/CollapsibleSection.js.map +1 -0
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +12 -9
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js +1 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js +9 -0
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js +64 -0
- package/build/dist/UI/Components/Forms/Fields/IconPicker.js.map +1 -0
- package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js +1 -0
- package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js.map +1 -1
- package/build/dist/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.js +2 -0
- package/build/dist/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.js.map +1 -1
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBell.js +50 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBell.js.map +1 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js +38 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellDropdown.js.map +1 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellItem.js +51 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellItem.js.map +1 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellSection.js +24 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationBellSection.js.map +1 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationItem.js +2 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/NotificationItem.js.map +1 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/index.js +5 -0
- package/build/dist/UI/Components/HeaderAlert/NotificationBell/index.js.map +1 -0
- package/build/dist/UI/Components/Icon/Icon.js +11 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +264 -0
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -0
- package/build/dist/UI/Components/RoleLabel/RoleLabel.js +40 -0
- package/build/dist/UI/Components/RoleLabel/RoleLabel.js.map +1 -0
- package/build/dist/UI/Components/Types/FieldType.js +1 -0
- package/build/dist/UI/Components/Types/FieldType.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,8 +5,11 @@ import QueryHelper from "../Types/Database/QueryHelper";
|
|
|
5
5
|
import DatabaseService from "./DatabaseService";
|
|
6
6
|
import IncidentPublicNoteService from "./IncidentPublicNoteService";
|
|
7
7
|
import IncidentService from "./IncidentService";
|
|
8
|
+
import IncidentSlaService from "./IncidentSlaService";
|
|
8
9
|
import IncidentStateService from "./IncidentStateService";
|
|
9
10
|
import UserService from "./UserService";
|
|
11
|
+
import IncidentMemberService from "./IncidentMemberService";
|
|
12
|
+
import IncidentRoleService from "./IncidentRoleService";
|
|
10
13
|
import SortOrder from "../../Types/BaseDatabase/SortOrder";
|
|
11
14
|
import OneUptimeDate from "../../Types/Date";
|
|
12
15
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
@@ -18,6 +21,8 @@ import Incident from "../../Models/DatabaseModels/Incident";
|
|
|
18
21
|
import IncidentPublicNote from "../../Models/DatabaseModels/IncidentPublicNote";
|
|
19
22
|
import IncidentState from "../../Models/DatabaseModels/IncidentState";
|
|
20
23
|
import IncidentStateTimeline from "../../Models/DatabaseModels/IncidentStateTimeline";
|
|
24
|
+
import IncidentMember from "../../Models/DatabaseModels/IncidentMember";
|
|
25
|
+
import IncidentRole from "../../Models/DatabaseModels/IncidentRole";
|
|
21
26
|
import { IsBillingEnabled } from "../EnvironmentConfig";
|
|
22
27
|
import logger from "../Utils/Logger";
|
|
23
28
|
import IncidentFeedService from "./IncidentFeedService";
|
|
@@ -136,6 +141,7 @@ export class Service extends DatabaseService<IncidentStateTimeline> {
|
|
|
136
141
|
_id: true,
|
|
137
142
|
order: true,
|
|
138
143
|
name: true,
|
|
144
|
+
isResolvedState: true,
|
|
139
145
|
},
|
|
140
146
|
startsAt: true,
|
|
141
147
|
endsAt: true,
|
|
@@ -438,7 +444,7 @@ export class Service extends DatabaseService<IncidentStateTimeline> {
|
|
|
438
444
|
` Changed **[Incident ${incidentNumber}](${(await IncidentService.getIncidentLinkInDashboard(projectId!, incidentId!)).toString()}) State** to **` +
|
|
439
445
|
stateName +
|
|
440
446
|
"**",
|
|
441
|
-
moreInformationInMarkdown: `**Cause:**
|
|
447
|
+
moreInformationInMarkdown: `**Cause:**
|
|
442
448
|
${createdItem.rootCause}`,
|
|
443
449
|
userId: createdItem.createdByUserId || onCreate.createBy.props.userId,
|
|
444
450
|
workspaceNotification: {
|
|
@@ -448,6 +454,21 @@ ${createdItem.rootCause}`,
|
|
|
448
454
|
},
|
|
449
455
|
});
|
|
450
456
|
|
|
457
|
+
// Auto-assign Incident Commander if not already assigned
|
|
458
|
+
const stateChangeUserId: ObjectID | undefined =
|
|
459
|
+
createdItem.createdByUserId || onCreate.createBy.props.userId;
|
|
460
|
+
|
|
461
|
+
if (stateChangeUserId) {
|
|
462
|
+
this.autoAssignIncidentCommander({
|
|
463
|
+
incidentId: createdItem.incidentId!,
|
|
464
|
+
projectId: createdItem.projectId!,
|
|
465
|
+
userId: stateChangeUserId,
|
|
466
|
+
}).catch((error: Error) => {
|
|
467
|
+
logger.error(`Error while auto-assigning incident commander:`);
|
|
468
|
+
logger.error(error);
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
|
|
451
472
|
const isResolvedState: boolean = incidentState?.isResolvedState || false;
|
|
452
473
|
|
|
453
474
|
if (isResolvedState) {
|
|
@@ -500,6 +521,21 @@ ${createdItem.rootCause}`,
|
|
|
500
521
|
logger.error(error);
|
|
501
522
|
});
|
|
502
523
|
|
|
524
|
+
// Track SLA response/resolution times
|
|
525
|
+
this.trackSlaStateChange({
|
|
526
|
+
incidentId: createdItem.incidentId,
|
|
527
|
+
projectId: createdItem.projectId!,
|
|
528
|
+
isAcknowledgedState: incidentState?.isAcknowledgedState || false,
|
|
529
|
+
isResolvedState: incidentState?.isResolvedState || false,
|
|
530
|
+
stateChangedAt: createdItem.startsAt || OneUptimeDate.getCurrentDate(),
|
|
531
|
+
previousStateWasResolved:
|
|
532
|
+
onCreate.carryForward.statusTimelineBeforeThisStatus?.incidentState
|
|
533
|
+
?.isResolvedState || false,
|
|
534
|
+
}).catch((error: Error) => {
|
|
535
|
+
logger.error(`Error while tracking SLA state change:`);
|
|
536
|
+
logger.error(error);
|
|
537
|
+
});
|
|
538
|
+
|
|
503
539
|
const isLastIncidentState: boolean = await this.isLastIncidentState({
|
|
504
540
|
projectId: createdItem.projectId!,
|
|
505
541
|
incidentStateId: createdItem.incidentStateId,
|
|
@@ -567,6 +603,151 @@ ${createdItem.rootCause}`,
|
|
|
567
603
|
return false;
|
|
568
604
|
}
|
|
569
605
|
|
|
606
|
+
@CaptureSpan()
|
|
607
|
+
private async autoAssignIncidentCommander(data: {
|
|
608
|
+
incidentId: ObjectID;
|
|
609
|
+
projectId: ObjectID;
|
|
610
|
+
userId: ObjectID;
|
|
611
|
+
}): Promise<void> {
|
|
612
|
+
// Find the primary role (Incident Commander) for this project
|
|
613
|
+
const primaryRole: IncidentRole | null =
|
|
614
|
+
await IncidentRoleService.findOneBy({
|
|
615
|
+
query: {
|
|
616
|
+
projectId: data.projectId,
|
|
617
|
+
isPrimaryRole: true,
|
|
618
|
+
},
|
|
619
|
+
select: {
|
|
620
|
+
_id: true,
|
|
621
|
+
},
|
|
622
|
+
props: {
|
|
623
|
+
isRoot: true,
|
|
624
|
+
},
|
|
625
|
+
});
|
|
626
|
+
|
|
627
|
+
if (!primaryRole || !primaryRole.id) {
|
|
628
|
+
// No primary role found for this project
|
|
629
|
+
return;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
// Check if there's already an Incident Commander assigned to this incident
|
|
633
|
+
const existingCommander: IncidentMember | null =
|
|
634
|
+
await IncidentMemberService.findOneBy({
|
|
635
|
+
query: {
|
|
636
|
+
incidentId: data.incidentId,
|
|
637
|
+
incidentRoleId: primaryRole.id,
|
|
638
|
+
},
|
|
639
|
+
select: {
|
|
640
|
+
_id: true,
|
|
641
|
+
},
|
|
642
|
+
props: {
|
|
643
|
+
isRoot: true,
|
|
644
|
+
},
|
|
645
|
+
});
|
|
646
|
+
|
|
647
|
+
if (existingCommander) {
|
|
648
|
+
// Already has an Incident Commander, don't assign another one
|
|
649
|
+
return;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
// Check if this user is already assigned to the incident (with any role)
|
|
653
|
+
const existingMembership: IncidentMember | null =
|
|
654
|
+
await IncidentMemberService.findOneBy({
|
|
655
|
+
query: {
|
|
656
|
+
incidentId: data.incidentId,
|
|
657
|
+
userId: data.userId,
|
|
658
|
+
},
|
|
659
|
+
select: {
|
|
660
|
+
_id: true,
|
|
661
|
+
},
|
|
662
|
+
props: {
|
|
663
|
+
isRoot: true,
|
|
664
|
+
},
|
|
665
|
+
});
|
|
666
|
+
|
|
667
|
+
if (existingMembership) {
|
|
668
|
+
// User is already assigned to this incident, don't assign again
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
// Assign the user as Incident Commander
|
|
673
|
+
const incidentMember: IncidentMember = new IncidentMember();
|
|
674
|
+
incidentMember.incidentId = data.incidentId;
|
|
675
|
+
incidentMember.projectId = data.projectId;
|
|
676
|
+
incidentMember.userId = data.userId;
|
|
677
|
+
incidentMember.incidentRoleId = primaryRole.id;
|
|
678
|
+
|
|
679
|
+
await IncidentMemberService.create({
|
|
680
|
+
data: incidentMember,
|
|
681
|
+
props: {
|
|
682
|
+
isRoot: true,
|
|
683
|
+
},
|
|
684
|
+
});
|
|
685
|
+
|
|
686
|
+
logger.debug(
|
|
687
|
+
`Auto-assigned user ${data.userId.toString()} as Incident Commander for incident ${data.incidentId.toString()}`,
|
|
688
|
+
);
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
@CaptureSpan()
|
|
692
|
+
private async trackSlaStateChange(data: {
|
|
693
|
+
incidentId: ObjectID;
|
|
694
|
+
projectId: ObjectID;
|
|
695
|
+
isAcknowledgedState: boolean;
|
|
696
|
+
isResolvedState: boolean;
|
|
697
|
+
stateChangedAt: Date;
|
|
698
|
+
previousStateWasResolved: boolean;
|
|
699
|
+
}): Promise<void> {
|
|
700
|
+
try {
|
|
701
|
+
// Check if incident is being reopened (previous state was resolved, current state is not resolved)
|
|
702
|
+
if (data.previousStateWasResolved && !data.isResolvedState) {
|
|
703
|
+
// Incident is being reopened - create a new SLA record
|
|
704
|
+
const incident: Incident | null = await IncidentService.findOneById({
|
|
705
|
+
id: data.incidentId,
|
|
706
|
+
select: {
|
|
707
|
+
declaredAt: true,
|
|
708
|
+
},
|
|
709
|
+
props: {
|
|
710
|
+
isRoot: true,
|
|
711
|
+
},
|
|
712
|
+
});
|
|
713
|
+
|
|
714
|
+
if (incident && incident.declaredAt) {
|
|
715
|
+
// Create a new SLA record starting from the reopen time
|
|
716
|
+
await IncidentSlaService.createSlaForIncident({
|
|
717
|
+
incidentId: data.incidentId,
|
|
718
|
+
projectId: data.projectId,
|
|
719
|
+
declaredAt: data.stateChangedAt, // Use reopen time as SLA start time
|
|
720
|
+
});
|
|
721
|
+
|
|
722
|
+
logger.info(
|
|
723
|
+
`Created new SLA record for reopened incident ${data.incidentId}`,
|
|
724
|
+
);
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
// Track acknowledged state
|
|
731
|
+
if (data.isAcknowledgedState) {
|
|
732
|
+
await IncidentSlaService.markResponded({
|
|
733
|
+
incidentId: data.incidentId,
|
|
734
|
+
respondedAt: data.stateChangedAt,
|
|
735
|
+
});
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
// Track resolved state
|
|
739
|
+
if (data.isResolvedState) {
|
|
740
|
+
await IncidentSlaService.markResolved({
|
|
741
|
+
incidentId: data.incidentId,
|
|
742
|
+
resolvedAt: data.stateChangedAt,
|
|
743
|
+
});
|
|
744
|
+
}
|
|
745
|
+
} catch (error) {
|
|
746
|
+
logger.error(`Error in trackSlaStateChange: ${error}`);
|
|
747
|
+
throw error;
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
|
|
570
751
|
@CaptureSpan()
|
|
571
752
|
protected override async onBeforeDelete(
|
|
572
753
|
deleteBy: DeleteBy<IncidentStateTimeline>,
|
package/Server/Services/Index.ts
CHANGED
|
@@ -23,6 +23,8 @@ import IncidentCustomFieldService from "./IncidentCustomFieldService";
|
|
|
23
23
|
import IncidentInternalNoteService from "./IncidentInternalNoteService";
|
|
24
24
|
import IncidentOwnerTeamService from "./IncidentOwnerTeamService";
|
|
25
25
|
import IncidentOwnerUserService from "./IncidentOwnerUserService";
|
|
26
|
+
import IncidentRoleService from "./IncidentRoleService";
|
|
27
|
+
import IncidentMemberService from "./IncidentMemberService";
|
|
26
28
|
import IncidentPublicNoteService from "./IncidentPublicNoteService";
|
|
27
29
|
// Incidents
|
|
28
30
|
import IncidentService from "./IncidentService";
|
|
@@ -71,6 +73,7 @@ import AIAgentTaskLogService from "./AIAgentTaskLogService";
|
|
|
71
73
|
import AIAgentTaskPullRequestService from "./AIAgentTaskPullRequestService";
|
|
72
74
|
import ProjectCallSMSConfigService from "./ProjectCallSMSConfigService";
|
|
73
75
|
import ProjectService from "./ProjectService";
|
|
76
|
+
import ProjectUserProfileService from "./ProjectUserProfileService";
|
|
74
77
|
// Project SMTP Config.
|
|
75
78
|
import ProjectSmtpConfigService from "./ProjectSmtpConfigService";
|
|
76
79
|
import ProjectSsoService from "./ProjectSsoService";
|
|
@@ -118,6 +121,7 @@ import StatusPageSubscriberService from "./StatusPageSubscriberService";
|
|
|
118
121
|
import StatusPageSubscriberNotificationTemplateService from "./StatusPageSubscriberNotificationTemplateService";
|
|
119
122
|
import StatusPageSubscriberNotificationTemplateStatusPageService from "./StatusPageSubscriberNotificationTemplateStatusPageService";
|
|
120
123
|
import TeamMemberService from "./TeamMemberService";
|
|
124
|
+
import TeamMemberCustomFieldService from "./TeamMemberCustomFieldService";
|
|
121
125
|
import TeamPermissionService from "./TeamPermissionService";
|
|
122
126
|
import TeamComplianceSettingService from "./TeamComplianceSettingService";
|
|
123
127
|
// Team
|
|
@@ -173,10 +177,13 @@ import IncidentEpisodeService from "./IncidentEpisodeService";
|
|
|
173
177
|
import IncidentEpisodeFeedService from "./IncidentEpisodeFeedService";
|
|
174
178
|
import IncidentEpisodeInternalNoteService from "./IncidentEpisodeInternalNoteService";
|
|
175
179
|
import IncidentEpisodeMemberService from "./IncidentEpisodeMemberService";
|
|
180
|
+
import IncidentEpisodeRoleMemberService from "./IncidentEpisodeRoleMemberService";
|
|
176
181
|
import IncidentEpisodeOwnerTeamService from "./IncidentEpisodeOwnerTeamService";
|
|
177
182
|
import IncidentEpisodeOwnerUserService from "./IncidentEpisodeOwnerUserService";
|
|
178
183
|
import IncidentEpisodeStateTimelineService from "./IncidentEpisodeStateTimelineService";
|
|
179
184
|
import AlertGroupingRuleService from "./AlertGroupingRuleService";
|
|
185
|
+
import IncidentSlaRuleService from "./IncidentSlaRuleService";
|
|
186
|
+
import IncidentSlaService from "./IncidentSlaService";
|
|
180
187
|
|
|
181
188
|
import TableViewService from "./TableViewService";
|
|
182
189
|
import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
|
|
@@ -232,6 +239,8 @@ const services: Array<BaseService> = [
|
|
|
232
239
|
IncidentInternalNoteService,
|
|
233
240
|
IncidentOwnerTeamService,
|
|
234
241
|
IncidentOwnerUserService,
|
|
242
|
+
IncidentRoleService,
|
|
243
|
+
IncidentMemberService,
|
|
235
244
|
IncidentPublicNoteService,
|
|
236
245
|
IncidentService,
|
|
237
246
|
IncidentSeverityService,
|
|
@@ -309,6 +318,7 @@ const services: Array<BaseService> = [
|
|
|
309
318
|
StatusPageHistoryChartBarColorRuleService,
|
|
310
319
|
|
|
311
320
|
TeamMemberService,
|
|
321
|
+
TeamMemberCustomFieldService,
|
|
312
322
|
TeamPermissionService,
|
|
313
323
|
TeamComplianceSettingService,
|
|
314
324
|
TeamService,
|
|
@@ -345,6 +355,7 @@ const services: Array<BaseService> = [
|
|
|
345
355
|
|
|
346
356
|
UsageBillingService,
|
|
347
357
|
ProjectCallSMSConfigService,
|
|
358
|
+
ProjectUserProfileService,
|
|
348
359
|
|
|
349
360
|
ServiceService,
|
|
350
361
|
ServiceOwnerTeamService,
|
|
@@ -385,10 +396,13 @@ const services: Array<BaseService> = [
|
|
|
385
396
|
IncidentEpisodeFeedService,
|
|
386
397
|
IncidentEpisodeInternalNoteService,
|
|
387
398
|
IncidentEpisodeMemberService,
|
|
399
|
+
IncidentEpisodeRoleMemberService,
|
|
388
400
|
IncidentEpisodeOwnerTeamService,
|
|
389
401
|
IncidentEpisodeOwnerUserService,
|
|
390
402
|
IncidentEpisodeStateTimelineService,
|
|
391
403
|
AlertGroupingRuleService,
|
|
404
|
+
IncidentSlaRuleService,
|
|
405
|
+
IncidentSlaService,
|
|
392
406
|
|
|
393
407
|
TableViewService,
|
|
394
408
|
MonitorTestService,
|
|
@@ -14,11 +14,13 @@ import { OnCreate, OnDelete, OnFind, OnUpdate } from "../Types/Database/Hooks";
|
|
|
14
14
|
import QueryHelper from "../Types/Database/QueryHelper";
|
|
15
15
|
import UpdateBy from "../Types/Database/UpdateBy";
|
|
16
16
|
import logger from "../Utils/Logger";
|
|
17
|
+
import Errors from "../Utils/Errors";
|
|
17
18
|
import AccessTokenService from "./AccessTokenService";
|
|
18
19
|
import BillingService from "./BillingService";
|
|
19
20
|
import DatabaseService from "./DatabaseService";
|
|
20
21
|
import IncidentSeverityService from "./IncidentSeverityService";
|
|
21
22
|
import IncidentStateService from "./IncidentStateService";
|
|
23
|
+
import IncidentRoleService from "./IncidentRoleService";
|
|
22
24
|
import MailService from "./MailService";
|
|
23
25
|
import MonitorStatusService from "./MonitorStatusService";
|
|
24
26
|
import NotificationService from "./NotificationService";
|
|
@@ -36,9 +38,13 @@ import SubscriptionPlan, {
|
|
|
36
38
|
import SubscriptionStatus from "../../Types/Billing/SubscriptionStatus";
|
|
37
39
|
import {
|
|
38
40
|
Black,
|
|
41
|
+
Blue500,
|
|
42
|
+
Gray500,
|
|
39
43
|
Green,
|
|
40
44
|
Moroon500,
|
|
45
|
+
Purple500,
|
|
41
46
|
Red,
|
|
47
|
+
Teal500,
|
|
42
48
|
Yellow,
|
|
43
49
|
Yellow500,
|
|
44
50
|
} from "../../Types/BrandColors";
|
|
@@ -48,10 +54,12 @@ import OneUptimeDate from "../../Types/Date";
|
|
|
48
54
|
import EmailTemplateType from "../../Types/Email/EmailTemplateType";
|
|
49
55
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
50
56
|
import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
|
|
57
|
+
import IconProp from "../../Types/Icon/IconProp";
|
|
51
58
|
import ObjectID from "../../Types/ObjectID";
|
|
52
59
|
import Permission from "../../Types/Permission";
|
|
53
60
|
import IncidentSeverity from "../../Models/DatabaseModels/IncidentSeverity";
|
|
54
61
|
import IncidentState from "../../Models/DatabaseModels/IncidentState";
|
|
62
|
+
import IncidentRole from "../../Models/DatabaseModels/IncidentRole";
|
|
55
63
|
import MonitorStatus from "../../Models/DatabaseModels/MonitorStatus";
|
|
56
64
|
import Model from "../../Models/DatabaseModels/Project";
|
|
57
65
|
import PromoCode from "../../Models/DatabaseModels/PromoCode";
|
|
@@ -387,6 +395,7 @@ export class ProjectService extends DatabaseService<Model> {
|
|
|
387
395
|
paymentProviderSubscriptionSeats: true,
|
|
388
396
|
paymentProviderPlanId: true,
|
|
389
397
|
trialEndsAt: true,
|
|
398
|
+
paymentProviderCustomerId: true,
|
|
390
399
|
},
|
|
391
400
|
props: {
|
|
392
401
|
isRoot: true,
|
|
@@ -407,6 +416,19 @@ export class ProjectService extends DatabaseService<Model> {
|
|
|
407
416
|
);
|
|
408
417
|
}
|
|
409
418
|
|
|
419
|
+
// Check if customer has payment methods before attempting to change plan
|
|
420
|
+
if (!project.paymentProviderCustomerId) {
|
|
421
|
+
throw new BadDataException("Payment Provider customer not found");
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
const hasPaymentMethods: boolean = await BillingService.hasPaymentMethods(
|
|
425
|
+
project.paymentProviderCustomerId,
|
|
426
|
+
);
|
|
427
|
+
|
|
428
|
+
if (!hasPaymentMethods) {
|
|
429
|
+
throw new BadDataException(Errors.BillingService.NO_PAYMENTS_METHODS);
|
|
430
|
+
}
|
|
431
|
+
|
|
410
432
|
const plan: SubscriptionPlan | undefined =
|
|
411
433
|
SubscriptionPlan.getSubscriptionPlanById(
|
|
412
434
|
params.paymentProviderPlanId,
|
|
@@ -689,6 +711,7 @@ export class ProjectService extends DatabaseService<Model> {
|
|
|
689
711
|
createdItem = await this.addDefaultIncidentState(createdItem);
|
|
690
712
|
createdItem = await this.addDefaultScheduledMaintenanceState(createdItem);
|
|
691
713
|
createdItem = await this.addDefaultAlertState(createdItem);
|
|
714
|
+
createdItem = await this.addDefaultIncidentRoles(createdItem);
|
|
692
715
|
|
|
693
716
|
if (NotificationSlackWebhookOnCreateProject) {
|
|
694
717
|
// fetch project again.
|
|
@@ -928,6 +951,73 @@ export class ProjectService extends DatabaseService<Model> {
|
|
|
928
951
|
return createdItem;
|
|
929
952
|
}
|
|
930
953
|
|
|
954
|
+
public async addDefaultIncidentRoles(createdItem: Model): Promise<Model> {
|
|
955
|
+
let incidentCommander: IncidentRole = new IncidentRole();
|
|
956
|
+
incidentCommander.name = "Incident Commander";
|
|
957
|
+
incidentCommander.description =
|
|
958
|
+
"Primary decision maker during an incident. Responsible for coordinating the response and making final decisions.";
|
|
959
|
+
incidentCommander.color = Purple500;
|
|
960
|
+
incidentCommander.roleIcon = IconProp.ShieldCheck;
|
|
961
|
+
incidentCommander.projectId = createdItem.id!;
|
|
962
|
+
incidentCommander.isPrimaryRole = true;
|
|
963
|
+
incidentCommander.isDeleteable = false;
|
|
964
|
+
|
|
965
|
+
incidentCommander = await IncidentRoleService.create({
|
|
966
|
+
data: incidentCommander,
|
|
967
|
+
props: {
|
|
968
|
+
isRoot: true,
|
|
969
|
+
},
|
|
970
|
+
});
|
|
971
|
+
|
|
972
|
+
let responder: IncidentRole = new IncidentRole();
|
|
973
|
+
responder.name = "Responder";
|
|
974
|
+
responder.description =
|
|
975
|
+
"Active participant in incident resolution. Performs hands-on work to resolve the incident.";
|
|
976
|
+
responder.color = Blue500;
|
|
977
|
+
responder.roleIcon = IconProp.Wrench;
|
|
978
|
+
responder.projectId = createdItem.id!;
|
|
979
|
+
|
|
980
|
+
responder = await IncidentRoleService.create({
|
|
981
|
+
data: responder,
|
|
982
|
+
props: {
|
|
983
|
+
isRoot: true,
|
|
984
|
+
},
|
|
985
|
+
});
|
|
986
|
+
|
|
987
|
+
let communicationsLead: IncidentRole = new IncidentRole();
|
|
988
|
+
communicationsLead.name = "Communications Lead";
|
|
989
|
+
communicationsLead.description =
|
|
990
|
+
"Handles stakeholder communication and status updates during an incident.";
|
|
991
|
+
communicationsLead.color = Teal500;
|
|
992
|
+
communicationsLead.roleIcon = IconProp.Announcement;
|
|
993
|
+
communicationsLead.projectId = createdItem.id!;
|
|
994
|
+
|
|
995
|
+
communicationsLead = await IncidentRoleService.create({
|
|
996
|
+
data: communicationsLead,
|
|
997
|
+
props: {
|
|
998
|
+
isRoot: true,
|
|
999
|
+
},
|
|
1000
|
+
});
|
|
1001
|
+
|
|
1002
|
+
let observer: IncidentRole = new IncidentRole();
|
|
1003
|
+
observer.name = "Observer";
|
|
1004
|
+
observer.description =
|
|
1005
|
+
"Read-only participant who monitors the incident without active involvement.";
|
|
1006
|
+
observer.color = Gray500;
|
|
1007
|
+
observer.roleIcon = IconProp.Activity;
|
|
1008
|
+
observer.projectId = createdItem.id!;
|
|
1009
|
+
observer.canAssignMultipleUsers = true;
|
|
1010
|
+
|
|
1011
|
+
observer = await IncidentRoleService.create({
|
|
1012
|
+
data: observer,
|
|
1013
|
+
props: {
|
|
1014
|
+
isRoot: true,
|
|
1015
|
+
},
|
|
1016
|
+
});
|
|
1017
|
+
|
|
1018
|
+
return createdItem;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
931
1021
|
private async addDefaultMonitorStatus(createdItem: Model): Promise<Model> {
|
|
932
1022
|
let operationalStatus: MonitorStatus = new MonitorStatus();
|
|
933
1023
|
operationalStatus.name = "Operational";
|
|
@@ -376,6 +376,13 @@ export class Service extends DatabaseService<Model> {
|
|
|
376
376
|
return NotificationRuleType.ON_CALL_EXECUTED_ALERT_EPISODE;
|
|
377
377
|
}
|
|
378
378
|
|
|
379
|
+
if (
|
|
380
|
+
userNotificationEventType ===
|
|
381
|
+
UserNotificationEventType.IncidentEpisodeCreated
|
|
382
|
+
) {
|
|
383
|
+
return NotificationRuleType.ON_CALL_EXECUTED_INCIDENT_EPISODE;
|
|
384
|
+
}
|
|
385
|
+
|
|
379
386
|
// Invalid user notification event type.
|
|
380
387
|
throw new BadDataException("Invalid user notification event type.");
|
|
381
388
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Alert from "../../../Models/DatabaseModels/Alert";
|
|
2
2
|
import AlertSeverity from "../../../Models/DatabaseModels/AlertSeverity";
|
|
3
3
|
import AlertStateTimeline from "../../../Models/DatabaseModels/AlertStateTimeline";
|
|
4
|
+
import Label from "../../../Models/DatabaseModels/Label";
|
|
4
5
|
import Monitor from "../../../Models/DatabaseModels/Monitor";
|
|
5
6
|
import OnCallDutyPolicy from "../../../Models/DatabaseModels/OnCallDutyPolicy";
|
|
6
7
|
import SortOrder from "../../../Types/BaseDatabase/SortOrder";
|
|
@@ -218,6 +219,14 @@ export default class MonitorAlert {
|
|
|
218
219
|
return onCallPolicy;
|
|
219
220
|
}) || [];
|
|
220
221
|
|
|
222
|
+
// Set labels from criteria
|
|
223
|
+
alert.labels =
|
|
224
|
+
criteriaAlert.labelIds?.map((id: ObjectID) => {
|
|
225
|
+
const label: Label = new Label();
|
|
226
|
+
label._id = id.toString();
|
|
227
|
+
return label;
|
|
228
|
+
}) || [];
|
|
229
|
+
|
|
221
230
|
alert.isCreatedAutomatically = true;
|
|
222
231
|
|
|
223
232
|
if (input.props.telemetryQuery) {
|
|
@@ -259,6 +268,23 @@ export default class MonitorAlert {
|
|
|
259
268
|
},
|
|
260
269
|
});
|
|
261
270
|
|
|
271
|
+
// Add owner teams and users after alert creation
|
|
272
|
+
if (
|
|
273
|
+
criteriaAlert.ownerTeamIds?.length ||
|
|
274
|
+
criteriaAlert.ownerUserIds?.length
|
|
275
|
+
) {
|
|
276
|
+
await AlertService.addOwners(
|
|
277
|
+
input.monitor.projectId!,
|
|
278
|
+
createdAlert.id!,
|
|
279
|
+
criteriaAlert.ownerUserIds || [],
|
|
280
|
+
criteriaAlert.ownerTeamIds || [],
|
|
281
|
+
true, // notify owners
|
|
282
|
+
{
|
|
283
|
+
isRoot: true,
|
|
284
|
+
},
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
|
|
262
288
|
input.evaluationSummary?.events.push({
|
|
263
289
|
type: "alert-created",
|
|
264
290
|
title: `Alert created: ${createdAlert.title || criteriaAlert.title}`,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Incident from "../../../Models/DatabaseModels/Incident";
|
|
2
2
|
import IncidentSeverity from "../../../Models/DatabaseModels/IncidentSeverity";
|
|
3
3
|
import IncidentStateTimeline from "../../../Models/DatabaseModels/IncidentStateTimeline";
|
|
4
|
+
import IncidentMember from "../../../Models/DatabaseModels/IncidentMember";
|
|
5
|
+
import Label from "../../../Models/DatabaseModels/Label";
|
|
4
6
|
import Monitor from "../../../Models/DatabaseModels/Monitor";
|
|
5
7
|
import OnCallDutyPolicy from "../../../Models/DatabaseModels/OnCallDutyPolicy";
|
|
6
8
|
import SortOrder from "../../../Types/BaseDatabase/SortOrder";
|
|
@@ -16,6 +18,7 @@ import { DisableAutomaticIncidentCreation } from "../../EnvironmentConfig";
|
|
|
16
18
|
import IncidentService from "../../Services/IncidentService";
|
|
17
19
|
import IncidentSeverityService from "../../Services/IncidentSeverityService";
|
|
18
20
|
import IncidentStateTimelineService from "../../Services/IncidentStateTimelineService";
|
|
21
|
+
import IncidentMemberService from "../../Services/IncidentMemberService";
|
|
19
22
|
import logger from "../Logger";
|
|
20
23
|
import CaptureSpan from "../Telemetry/CaptureSpan";
|
|
21
24
|
import DataToProcess from "./DataToProcess";
|
|
@@ -23,6 +26,7 @@ import MonitorTemplateUtil from "./MonitorTemplateUtil";
|
|
|
23
26
|
import { JSONObject } from "../../../Types/JSON";
|
|
24
27
|
import OneUptimeDate from "../../../Types/Date";
|
|
25
28
|
import MonitorEvaluationSummary from "../../../Types/Monitor/MonitorEvaluationSummary";
|
|
29
|
+
import { IncidentMemberRoleAssignment } from "../../../Types/Monitor/CriteriaIncident";
|
|
26
30
|
|
|
27
31
|
export default class MonitorIncident {
|
|
28
32
|
@CaptureSpan()
|
|
@@ -228,6 +232,14 @@ export default class MonitorIncident {
|
|
|
228
232
|
return onCallPolicy;
|
|
229
233
|
}) || [];
|
|
230
234
|
|
|
235
|
+
// Set labels from criteria
|
|
236
|
+
incident.labels =
|
|
237
|
+
criteriaIncident.labelIds?.map((id: ObjectID) => {
|
|
238
|
+
const label: Label = new Label();
|
|
239
|
+
label._id = id.toString();
|
|
240
|
+
return label;
|
|
241
|
+
}) || [];
|
|
242
|
+
|
|
231
243
|
incident.isCreatedAutomatically = true;
|
|
232
244
|
|
|
233
245
|
if (input.props.telemetryQuery) {
|
|
@@ -271,6 +283,63 @@ export default class MonitorIncident {
|
|
|
271
283
|
},
|
|
272
284
|
});
|
|
273
285
|
|
|
286
|
+
// Add owner teams and users after incident creation
|
|
287
|
+
if (
|
|
288
|
+
criteriaIncident.ownerTeamIds?.length ||
|
|
289
|
+
criteriaIncident.ownerUserIds?.length
|
|
290
|
+
) {
|
|
291
|
+
await IncidentService.addOwners(
|
|
292
|
+
input.monitor.projectId!,
|
|
293
|
+
createdIncident.id!,
|
|
294
|
+
criteriaIncident.ownerUserIds || [],
|
|
295
|
+
criteriaIncident.ownerTeamIds || [],
|
|
296
|
+
true, // notify owners
|
|
297
|
+
{
|
|
298
|
+
isRoot: true,
|
|
299
|
+
},
|
|
300
|
+
);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Add incident member role assignments after incident creation
|
|
304
|
+
if (
|
|
305
|
+
criteriaIncident.incidentMemberRoles &&
|
|
306
|
+
criteriaIncident.incidentMemberRoles.length > 0
|
|
307
|
+
) {
|
|
308
|
+
for (const roleAssignment of criteriaIncident.incidentMemberRoles) {
|
|
309
|
+
try {
|
|
310
|
+
const assignment: IncidentMemberRoleAssignment =
|
|
311
|
+
roleAssignment as IncidentMemberRoleAssignment;
|
|
312
|
+
|
|
313
|
+
if (assignment.roleId && assignment.userId) {
|
|
314
|
+
const incidentMember: IncidentMember = new IncidentMember();
|
|
315
|
+
incidentMember.incidentId = createdIncident.id!;
|
|
316
|
+
incidentMember.projectId = input.monitor.projectId!;
|
|
317
|
+
incidentMember.userId = new ObjectID(
|
|
318
|
+
assignment.userId.toString(),
|
|
319
|
+
);
|
|
320
|
+
incidentMember.incidentRoleId = new ObjectID(
|
|
321
|
+
assignment.roleId.toString(),
|
|
322
|
+
);
|
|
323
|
+
|
|
324
|
+
await IncidentMemberService.create({
|
|
325
|
+
data: incidentMember,
|
|
326
|
+
props: {
|
|
327
|
+
isRoot: true,
|
|
328
|
+
},
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
logger.debug(
|
|
332
|
+
`${input.monitor.id?.toString()} - Assigned incident member role ${assignment.roleId.toString()} to user ${assignment.userId.toString()}`,
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
} catch (memberError) {
|
|
336
|
+
logger.error(
|
|
337
|
+
`${input.monitor.id?.toString()} - Failed to assign incident member role: ${memberError}`,
|
|
338
|
+
);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
274
343
|
input.evaluationSummary?.events.push({
|
|
275
344
|
type: "incident-created",
|
|
276
345
|
title: `Incident created: ${createdIncident.title || criteriaIncident.title}`,
|
|
@@ -34,6 +34,7 @@ const templateDashboardLinkVariableMap: Partial<
|
|
|
34
34
|
[WhatsAppTemplateIds.IncidentNotePostedOwnerNotification]: "incident_link",
|
|
35
35
|
[WhatsAppTemplateIds.IncidentStateChangedOwnerNotification]: "incident_link",
|
|
36
36
|
[WhatsAppTemplateIds.IncidentOwnerAddedNotification]: "incident_link",
|
|
37
|
+
[WhatsAppTemplateIds.IncidentMemberAddedNotification]: "incident_link",
|
|
37
38
|
[WhatsAppTemplateIds.MonitorOwnerAddedNotification]: "monitor_link",
|
|
38
39
|
[WhatsAppTemplateIds.MonitorCreatedOwnerNotification]: "monitor_link",
|
|
39
40
|
[WhatsAppTemplateIds.MonitorStatusChangedOwnerNotification]: "monitor_link",
|
|
@@ -75,6 +76,8 @@ const templateIdByEventType: Record<
|
|
|
75
76
|
WhatsAppTemplateIds.IncidentStateChangedOwnerNotification,
|
|
76
77
|
[NotificationSettingEventType.SEND_INCIDENT_OWNER_ADDED_NOTIFICATION]:
|
|
77
78
|
WhatsAppTemplateIds.IncidentOwnerAddedNotification,
|
|
79
|
+
[NotificationSettingEventType.SEND_INCIDENT_MEMBER_ADDED_NOTIFICATION]:
|
|
80
|
+
WhatsAppTemplateIds.IncidentMemberAddedNotification,
|
|
78
81
|
[NotificationSettingEventType.SEND_ALERT_CREATED_OWNER_NOTIFICATION]:
|
|
79
82
|
WhatsAppTemplateIds.AlertCreatedOwnerNotification,
|
|
80
83
|
[NotificationSettingEventType.SEND_ALERT_NOTE_POSTED_OWNER_NOTIFICATION]:
|