@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
|
@@ -18,6 +18,7 @@ import RadioButtons from "../../RadioButtons/GroupRadioButtons";
|
|
|
18
18
|
import TextArea from "../../TextArea/TextArea";
|
|
19
19
|
import Toggle from "../../Toggle/Toggle";
|
|
20
20
|
import ColorPicker from "../Fields/ColorPicker";
|
|
21
|
+
import IconPicker from "../Fields/IconPicker";
|
|
21
22
|
import FieldLabelElement from "../Fields/FieldLabel";
|
|
22
23
|
import Field, { FormFieldStyleType } from "../Types/Field";
|
|
23
24
|
import FormFieldSchemaType from "../Types/FormFieldSchemaType";
|
|
@@ -25,6 +26,7 @@ import FormValues from "../Types/FormValues";
|
|
|
25
26
|
import FileModel from "../../../../Models/DatabaseModels/DatabaseBaseModel/FileModel";
|
|
26
27
|
import CodeType from "../../../../Types/Code/CodeType";
|
|
27
28
|
import Color from "../../../../Types/Color";
|
|
29
|
+
import IconProp from "../../../../Types/Icon/IconProp";
|
|
28
30
|
import OneUptimeDate from "../../../../Types/Date";
|
|
29
31
|
import BadDataException from "../../../../Types/Exception/BadDataException";
|
|
30
32
|
import MimeType from "../../../../Types/File/MimeType";
|
|
@@ -358,6 +360,26 @@ const FormField: <T extends GenericObject>(
|
|
|
358
360
|
/>
|
|
359
361
|
)}
|
|
360
362
|
|
|
363
|
+
{props.field.fieldType === FormFieldSchemaType.Icon && (
|
|
364
|
+
<IconPicker
|
|
365
|
+
error={props.touched && props.error ? props.error : undefined}
|
|
366
|
+
dataTestId={props.field.dataTestId}
|
|
367
|
+
onChange={async (value: IconProp | null) => {
|
|
368
|
+
onChange(value);
|
|
369
|
+
props.setFieldValue(props.fieldName, value);
|
|
370
|
+
props.setFieldTouched(props.fieldName, true);
|
|
371
|
+
}}
|
|
372
|
+
tabIndex={index}
|
|
373
|
+
placeholder={props.field.placeholder || ""}
|
|
374
|
+
initialValue={
|
|
375
|
+
props.currentValues &&
|
|
376
|
+
(props.currentValues as any)[props.fieldName]
|
|
377
|
+
? (props.currentValues as any)[props.fieldName]
|
|
378
|
+
: undefined
|
|
379
|
+
}
|
|
380
|
+
/>
|
|
381
|
+
)}
|
|
382
|
+
|
|
361
383
|
{(props.field.fieldType === FormFieldSchemaType.Dropdown ||
|
|
362
384
|
props.field.fieldType ===
|
|
363
385
|
FormFieldSchemaType.MultiSelectDropdown) && (
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import useComponentOutsideClick from "../../../Types/UseComponentOutsideClick";
|
|
2
|
+
import Icon from "../../Icon/Icon";
|
|
3
|
+
import Input, { InputType } from "../../Input/Input";
|
|
4
|
+
import IconProp from "../../../../Types/Icon/IconProp";
|
|
5
|
+
import React, {
|
|
6
|
+
FunctionComponent,
|
|
7
|
+
ReactElement,
|
|
8
|
+
useEffect,
|
|
9
|
+
useState,
|
|
10
|
+
} from "react";
|
|
11
|
+
|
|
12
|
+
export interface ComponentProps {
|
|
13
|
+
onChange: (value: IconProp | null) => void;
|
|
14
|
+
initialValue?: undefined | IconProp;
|
|
15
|
+
placeholder: string;
|
|
16
|
+
onFocus?: (() => void) | undefined;
|
|
17
|
+
tabIndex?: number | undefined;
|
|
18
|
+
value?: string | undefined;
|
|
19
|
+
readOnly?: boolean | undefined;
|
|
20
|
+
disabled?: boolean | undefined;
|
|
21
|
+
onBlur?: (() => void) | undefined;
|
|
22
|
+
dataTestId?: string | undefined;
|
|
23
|
+
onEnterPress?: (() => void) | undefined;
|
|
24
|
+
error?: string | undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const IconPicker: FunctionComponent<ComponentProps> = (
|
|
28
|
+
props: ComponentProps,
|
|
29
|
+
): ReactElement => {
|
|
30
|
+
const [selectedIcon, setSelectedIcon] = useState<IconProp | null>(null);
|
|
31
|
+
const [searchQuery, setSearchQuery] = useState<string>("");
|
|
32
|
+
const { ref, isComponentVisible, setIsComponentVisible } =
|
|
33
|
+
useComponentOutsideClick(false);
|
|
34
|
+
|
|
35
|
+
const [isInitialValuesInitialized, setIsInitialValuesInitialized] =
|
|
36
|
+
useState<boolean>(false);
|
|
37
|
+
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (props.initialValue && !isInitialValuesInitialized) {
|
|
40
|
+
setSelectedIcon(props.initialValue);
|
|
41
|
+
setIsInitialValuesInitialized(true);
|
|
42
|
+
}
|
|
43
|
+
}, [props.initialValue]);
|
|
44
|
+
|
|
45
|
+
type HandleChangeFunction = (icon: IconProp | null) => void;
|
|
46
|
+
|
|
47
|
+
const handleChange: HandleChangeFunction = (icon: IconProp | null): void => {
|
|
48
|
+
setSelectedIcon(icon);
|
|
49
|
+
props.onChange(icon);
|
|
50
|
+
setIsComponentVisible(false);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Get all icons from IconProp enum
|
|
54
|
+
const allIcons: Array<IconProp> = Object.values(IconProp);
|
|
55
|
+
|
|
56
|
+
// Filter icons based on search query
|
|
57
|
+
const filteredIcons: Array<IconProp> = allIcons.filter((icon: IconProp) => {
|
|
58
|
+
return icon.toLowerCase().includes(searchQuery.toLowerCase());
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<div>
|
|
63
|
+
<div className="flex block w-full rounded-md border border-gray-300 bg-white py-2 pl-3 pr-3 text-sm placeholder-gray-500 focus:border-indigo-500 focus:text-gray-900 focus:placeholder-gray-400 focus:outline-none focus:ring-1 focus:ring-indigo-500 sm:text-sm">
|
|
64
|
+
<div
|
|
65
|
+
onClick={() => {
|
|
66
|
+
if (!props.readOnly && !props.disabled) {
|
|
67
|
+
setIsComponentVisible(!isComponentVisible);
|
|
68
|
+
}
|
|
69
|
+
}}
|
|
70
|
+
className="flex items-center justify-center h-5 w-5 cursor-pointer"
|
|
71
|
+
>
|
|
72
|
+
{selectedIcon ? (
|
|
73
|
+
<Icon icon={selectedIcon} className="h-5 w-5 text-gray-600" />
|
|
74
|
+
) : (
|
|
75
|
+
<div className="h-5 w-5 border border-dashed border-gray-300 rounded"></div>
|
|
76
|
+
)}
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<Input
|
|
80
|
+
onClick={() => {
|
|
81
|
+
if (!props.readOnly && !props.disabled) {
|
|
82
|
+
setIsComponentVisible(!isComponentVisible);
|
|
83
|
+
}
|
|
84
|
+
}}
|
|
85
|
+
disabled={props.disabled}
|
|
86
|
+
dataTestId={props.dataTestId}
|
|
87
|
+
onBlur={props.onBlur}
|
|
88
|
+
onEnterPress={props.onEnterPress}
|
|
89
|
+
className="border-none focus:outline-none w-full pl-2 text-gray-500 cursor-pointer"
|
|
90
|
+
outerDivClassName='className="border-none focus:outline-none w-full pl-2 text-gray-500 cursor-pointer"'
|
|
91
|
+
placeholder={props.placeholder}
|
|
92
|
+
value={selectedIcon || props.value || ""}
|
|
93
|
+
readOnly={true}
|
|
94
|
+
type={InputType.TEXT}
|
|
95
|
+
tabIndex={props.tabIndex}
|
|
96
|
+
onChange={() => {}}
|
|
97
|
+
onFocus={props.onFocus || undefined}
|
|
98
|
+
/>
|
|
99
|
+
{selectedIcon && !props.disabled && (
|
|
100
|
+
<Icon
|
|
101
|
+
icon={IconProp.Close}
|
|
102
|
+
className="text-gray-400 h-5 w-5 cursor-pointer hover:text-gray-600"
|
|
103
|
+
onClick={() => {
|
|
104
|
+
setSelectedIcon(null);
|
|
105
|
+
props.onChange(null);
|
|
106
|
+
}}
|
|
107
|
+
/>
|
|
108
|
+
)}
|
|
109
|
+
{isComponentVisible ? (
|
|
110
|
+
<div
|
|
111
|
+
ref={ref}
|
|
112
|
+
className="absolute z-50 mt-8 bg-white border border-gray-200 rounded-lg shadow-lg p-3"
|
|
113
|
+
style={{
|
|
114
|
+
width: "320px",
|
|
115
|
+
maxHeight: "400px",
|
|
116
|
+
}}
|
|
117
|
+
>
|
|
118
|
+
{/* Search input */}
|
|
119
|
+
<div className="mb-3">
|
|
120
|
+
<Input
|
|
121
|
+
type={InputType.TEXT}
|
|
122
|
+
placeholder="Search icons..."
|
|
123
|
+
value={searchQuery}
|
|
124
|
+
onChange={(value: string) => {
|
|
125
|
+
setSearchQuery(value);
|
|
126
|
+
}}
|
|
127
|
+
className="w-full px-3 py-2 border border-gray-300 rounded-md text-sm"
|
|
128
|
+
/>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
{/* Icons grid */}
|
|
132
|
+
<div
|
|
133
|
+
className="grid grid-cols-6 gap-2 overflow-y-auto"
|
|
134
|
+
style={{ maxHeight: "300px" }}
|
|
135
|
+
>
|
|
136
|
+
{filteredIcons.map((icon: IconProp) => {
|
|
137
|
+
return (
|
|
138
|
+
<div
|
|
139
|
+
key={icon}
|
|
140
|
+
onClick={() => {
|
|
141
|
+
handleChange(icon);
|
|
142
|
+
}}
|
|
143
|
+
className={`flex items-center justify-center p-2 rounded cursor-pointer hover:bg-gray-100 ${
|
|
144
|
+
selectedIcon === icon
|
|
145
|
+
? "bg-indigo-100 ring-2 ring-indigo-500"
|
|
146
|
+
: ""
|
|
147
|
+
}`}
|
|
148
|
+
title={icon}
|
|
149
|
+
>
|
|
150
|
+
<Icon icon={icon} className="h-5 w-5 text-gray-600" />
|
|
151
|
+
</div>
|
|
152
|
+
);
|
|
153
|
+
})}
|
|
154
|
+
</div>
|
|
155
|
+
|
|
156
|
+
{filteredIcons.length === 0 && (
|
|
157
|
+
<div className="text-center text-gray-500 py-4">
|
|
158
|
+
No icons found
|
|
159
|
+
</div>
|
|
160
|
+
)}
|
|
161
|
+
</div>
|
|
162
|
+
) : (
|
|
163
|
+
<></>
|
|
164
|
+
)}
|
|
165
|
+
</div>
|
|
166
|
+
{props.error && (
|
|
167
|
+
<p data-testid="error-message" className="mt-1 text-sm text-red-400">
|
|
168
|
+
{props.error}
|
|
169
|
+
</p>
|
|
170
|
+
)}
|
|
171
|
+
</div>
|
|
172
|
+
);
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export default IconPicker;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import React, { ReactElement } from "react";
|
|
2
|
+
import Icon from "../../Icon/Icon";
|
|
3
|
+
import IconProp from "../../../../Types/Icon/IconProp";
|
|
4
|
+
import useComponentOutsideClick from "../../../Types/UseComponentOutsideClick";
|
|
5
|
+
import { NotificationItem } from "./NotificationItem";
|
|
6
|
+
import NotificationBellDropdown from "./NotificationBellDropdown";
|
|
7
|
+
import { HeaderAlertType } from "../HeaderAlert";
|
|
8
|
+
|
|
9
|
+
export interface ComponentProps {
|
|
10
|
+
items: Array<NotificationItem>;
|
|
11
|
+
onItemClick: (item: NotificationItem) => void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const NotificationBell: (props: ComponentProps) => ReactElement = (
|
|
15
|
+
props: ComponentProps,
|
|
16
|
+
): ReactElement => {
|
|
17
|
+
const { ref, isComponentVisible, setIsComponentVisible } =
|
|
18
|
+
useComponentOutsideClick(false);
|
|
19
|
+
|
|
20
|
+
const itemsWithCount: Array<NotificationItem> = props.items.filter(
|
|
21
|
+
(item: NotificationItem) => {
|
|
22
|
+
return item.count > 0;
|
|
23
|
+
},
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
// Count items by type
|
|
27
|
+
const criticalItemsCount: number = itemsWithCount.filter(
|
|
28
|
+
(item: NotificationItem) => {
|
|
29
|
+
return item.alertType === HeaderAlertType.ERROR;
|
|
30
|
+
},
|
|
31
|
+
).length;
|
|
32
|
+
|
|
33
|
+
const successItemsCount: number = itemsWithCount.filter(
|
|
34
|
+
(item: NotificationItem) => {
|
|
35
|
+
return item.alertType === HeaderAlertType.SUCCESS;
|
|
36
|
+
},
|
|
37
|
+
).length;
|
|
38
|
+
|
|
39
|
+
const infoItemsCount: number = itemsWithCount.filter(
|
|
40
|
+
(item: NotificationItem) => {
|
|
41
|
+
return item.alertType === HeaderAlertType.INFO;
|
|
42
|
+
},
|
|
43
|
+
).length;
|
|
44
|
+
|
|
45
|
+
// Determine badge count and color based on priority: Critical > Success > Info
|
|
46
|
+
let badgeCount: number = 0;
|
|
47
|
+
let badgeColor: string = "bg-gray-500";
|
|
48
|
+
|
|
49
|
+
if (criticalItemsCount > 0) {
|
|
50
|
+
badgeCount = criticalItemsCount;
|
|
51
|
+
badgeColor = "bg-red-500";
|
|
52
|
+
} else if (successItemsCount > 0) {
|
|
53
|
+
badgeCount = successItemsCount;
|
|
54
|
+
badgeColor = "bg-emerald-500";
|
|
55
|
+
} else if (infoItemsCount > 0) {
|
|
56
|
+
badgeCount = infoItemsCount;
|
|
57
|
+
badgeColor = "bg-gray-500";
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<div className="relative ml-4 flex-shrink-0" ref={ref}>
|
|
62
|
+
<button
|
|
63
|
+
type="button"
|
|
64
|
+
className="flex items-center justify-center h-9 w-9 rounded-lg bg-gray-50 border border-gray-200 hover:bg-gray-100 hover:border-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-1 transition-all duration-150"
|
|
65
|
+
onClick={() => {
|
|
66
|
+
setIsComponentVisible(!isComponentVisible);
|
|
67
|
+
}}
|
|
68
|
+
aria-expanded={isComponentVisible}
|
|
69
|
+
aria-haspopup="true"
|
|
70
|
+
>
|
|
71
|
+
<span className="sr-only">View notifications</span>
|
|
72
|
+
<Icon className="h-5 w-5 text-gray-500" icon={IconProp.Bell} />
|
|
73
|
+
</button>
|
|
74
|
+
|
|
75
|
+
{badgeCount > 0 && (
|
|
76
|
+
<span
|
|
77
|
+
className={`absolute -top-1 -right-1 flex h-5 w-5 items-center justify-center rounded-full ${badgeColor} text-xs font-semibold text-white ring-2 ring-white`}
|
|
78
|
+
>
|
|
79
|
+
{badgeCount > 99 ? "99+" : badgeCount}
|
|
80
|
+
</span>
|
|
81
|
+
)}
|
|
82
|
+
|
|
83
|
+
{isComponentVisible && (
|
|
84
|
+
<NotificationBellDropdown
|
|
85
|
+
items={props.items}
|
|
86
|
+
onItemClick={(item: NotificationItem) => {
|
|
87
|
+
setIsComponentVisible(false);
|
|
88
|
+
props.onItemClick(item);
|
|
89
|
+
}}
|
|
90
|
+
/>
|
|
91
|
+
)}
|
|
92
|
+
</div>
|
|
93
|
+
);
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export default NotificationBell;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import React, { ReactElement } from "react";
|
|
2
|
+
import { NotificationItem } from "./NotificationItem";
|
|
3
|
+
import NotificationBellItem from "./NotificationBellItem";
|
|
4
|
+
import NotificationBellSection from "./NotificationBellSection";
|
|
5
|
+
import { HeaderAlertType } from "../HeaderAlert";
|
|
6
|
+
|
|
7
|
+
export interface ComponentProps {
|
|
8
|
+
items: Array<NotificationItem>;
|
|
9
|
+
onItemClick: (item: NotificationItem) => void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const NotificationBellDropdown: (props: ComponentProps) => ReactElement = (
|
|
13
|
+
props: ComponentProps,
|
|
14
|
+
): ReactElement => {
|
|
15
|
+
const errorItems: Array<NotificationItem> = props.items.filter(
|
|
16
|
+
(item: NotificationItem) => {
|
|
17
|
+
return item.alertType === HeaderAlertType.ERROR && item.count > 0;
|
|
18
|
+
},
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
const infoItems: Array<NotificationItem> = props.items.filter(
|
|
22
|
+
(item: NotificationItem) => {
|
|
23
|
+
return item.alertType === HeaderAlertType.INFO && item.count > 0;
|
|
24
|
+
},
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
const successItems: Array<NotificationItem> = props.items.filter(
|
|
28
|
+
(item: NotificationItem) => {
|
|
29
|
+
return item.alertType === HeaderAlertType.SUCCESS && item.count > 0;
|
|
30
|
+
},
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
const hasItems: boolean =
|
|
34
|
+
errorItems.length > 0 || infoItems.length > 0 || successItems.length > 0;
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<div className="absolute right-0 z-10 mt-2 w-80 rounded-xl bg-white shadow-lg ring-1 ring-gray-200 max-h-96 overflow-y-auto">
|
|
38
|
+
<div className="py-2">
|
|
39
|
+
<div className="px-4 py-2 border-b border-gray-100">
|
|
40
|
+
<span className="text-sm font-semibold text-gray-900">
|
|
41
|
+
Notifications
|
|
42
|
+
</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
{!hasItems && (
|
|
46
|
+
<div className="px-4 py-6 text-center text-sm text-gray-500">
|
|
47
|
+
No notifications
|
|
48
|
+
</div>
|
|
49
|
+
)}
|
|
50
|
+
|
|
51
|
+
{errorItems.length > 0 && (
|
|
52
|
+
<NotificationBellSection
|
|
53
|
+
title="Critical"
|
|
54
|
+
alertType={HeaderAlertType.ERROR}
|
|
55
|
+
>
|
|
56
|
+
{errorItems.map((item: NotificationItem) => {
|
|
57
|
+
return (
|
|
58
|
+
<NotificationBellItem
|
|
59
|
+
key={item.id}
|
|
60
|
+
item={item}
|
|
61
|
+
onClick={() => {
|
|
62
|
+
props.onItemClick(item);
|
|
63
|
+
}}
|
|
64
|
+
/>
|
|
65
|
+
);
|
|
66
|
+
})}
|
|
67
|
+
</NotificationBellSection>
|
|
68
|
+
)}
|
|
69
|
+
|
|
70
|
+
{successItems.length > 0 && (
|
|
71
|
+
<NotificationBellSection
|
|
72
|
+
title="On-Call"
|
|
73
|
+
alertType={HeaderAlertType.SUCCESS}
|
|
74
|
+
>
|
|
75
|
+
{successItems.map((item: NotificationItem) => {
|
|
76
|
+
return (
|
|
77
|
+
<NotificationBellItem
|
|
78
|
+
key={item.id}
|
|
79
|
+
item={item}
|
|
80
|
+
onClick={() => {
|
|
81
|
+
props.onItemClick(item);
|
|
82
|
+
}}
|
|
83
|
+
/>
|
|
84
|
+
);
|
|
85
|
+
})}
|
|
86
|
+
</NotificationBellSection>
|
|
87
|
+
)}
|
|
88
|
+
|
|
89
|
+
{infoItems.length > 0 && (
|
|
90
|
+
<NotificationBellSection
|
|
91
|
+
title="Information"
|
|
92
|
+
alertType={HeaderAlertType.INFO}
|
|
93
|
+
>
|
|
94
|
+
{infoItems.map((item: NotificationItem) => {
|
|
95
|
+
return (
|
|
96
|
+
<NotificationBellItem
|
|
97
|
+
key={item.id}
|
|
98
|
+
item={item}
|
|
99
|
+
onClick={() => {
|
|
100
|
+
props.onItemClick(item);
|
|
101
|
+
}}
|
|
102
|
+
/>
|
|
103
|
+
);
|
|
104
|
+
})}
|
|
105
|
+
</NotificationBellSection>
|
|
106
|
+
)}
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export default NotificationBellDropdown;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import Icon, { ThickProp } from "../../Icon/Icon";
|
|
2
|
+
import React, { ReactElement } from "react";
|
|
3
|
+
import { NotificationItem } from "./NotificationItem";
|
|
4
|
+
import { HeaderAlertType } from "../HeaderAlert";
|
|
5
|
+
|
|
6
|
+
export interface ComponentProps {
|
|
7
|
+
item: NotificationItem;
|
|
8
|
+
onClick?: () => void;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const NotificationBellItem: (props: ComponentProps) => ReactElement = (
|
|
12
|
+
props: ComponentProps,
|
|
13
|
+
): ReactElement => {
|
|
14
|
+
const { item } = props;
|
|
15
|
+
|
|
16
|
+
let textColor: string = "text-indigo-600";
|
|
17
|
+
let bgColor: string = "bg-indigo-50";
|
|
18
|
+
let hoverBgColor: string = "hover:bg-indigo-100";
|
|
19
|
+
let borderColor: string = "border-indigo-200";
|
|
20
|
+
|
|
21
|
+
switch (item.alertType) {
|
|
22
|
+
case HeaderAlertType.SUCCESS:
|
|
23
|
+
textColor = "text-emerald-600";
|
|
24
|
+
bgColor = "bg-emerald-50";
|
|
25
|
+
hoverBgColor = "hover:bg-emerald-100";
|
|
26
|
+
borderColor = "border-emerald-200";
|
|
27
|
+
break;
|
|
28
|
+
case HeaderAlertType.ERROR:
|
|
29
|
+
textColor = "text-red-600";
|
|
30
|
+
bgColor = "bg-red-50";
|
|
31
|
+
hoverBgColor = "hover:bg-red-100";
|
|
32
|
+
borderColor = "border-red-200";
|
|
33
|
+
break;
|
|
34
|
+
case HeaderAlertType.WARNING:
|
|
35
|
+
textColor = "text-amber-600";
|
|
36
|
+
bgColor = "bg-amber-50";
|
|
37
|
+
hoverBgColor = "hover:bg-amber-100";
|
|
38
|
+
borderColor = "border-amber-200";
|
|
39
|
+
break;
|
|
40
|
+
case HeaderAlertType.INFO:
|
|
41
|
+
textColor = "text-gray-600";
|
|
42
|
+
bgColor = "bg-gray-50";
|
|
43
|
+
hoverBgColor = "hover:bg-gray-100";
|
|
44
|
+
borderColor = "border-gray-200";
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<div
|
|
50
|
+
className={`cursor-pointer ${bgColor} ${hoverBgColor} border ${borderColor} py-2 px-3 rounded-lg transition-all duration-150`}
|
|
51
|
+
onClick={() => {
|
|
52
|
+
if (props.onClick) {
|
|
53
|
+
props.onClick();
|
|
54
|
+
} else if (item.onClick) {
|
|
55
|
+
item.onClick();
|
|
56
|
+
}
|
|
57
|
+
}}
|
|
58
|
+
title={item.tooltip}
|
|
59
|
+
>
|
|
60
|
+
<div className="flex items-center gap-2">
|
|
61
|
+
<div className={`flex-shrink-0 ${textColor}`}>
|
|
62
|
+
<Icon
|
|
63
|
+
icon={item.icon}
|
|
64
|
+
thick={ThickProp.Thick}
|
|
65
|
+
className={`h-4 w-4 stroke-[2.5px] ${textColor}`}
|
|
66
|
+
/>
|
|
67
|
+
</div>
|
|
68
|
+
<div className="flex-1">
|
|
69
|
+
<span className={`text-sm font-medium ${textColor}`}>
|
|
70
|
+
{item.title}
|
|
71
|
+
</span>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default NotificationBellItem;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React, { ReactElement, ReactNode } from "react";
|
|
2
|
+
import { HeaderAlertType } from "../HeaderAlert";
|
|
3
|
+
|
|
4
|
+
export interface ComponentProps {
|
|
5
|
+
title: string;
|
|
6
|
+
alertType: HeaderAlertType;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const NotificationBellSection: (props: ComponentProps) => ReactElement = (
|
|
11
|
+
props: ComponentProps,
|
|
12
|
+
): ReactElement => {
|
|
13
|
+
let textColor: string = "text-indigo-600";
|
|
14
|
+
|
|
15
|
+
switch (props.alertType) {
|
|
16
|
+
case HeaderAlertType.SUCCESS:
|
|
17
|
+
textColor = "text-emerald-600";
|
|
18
|
+
break;
|
|
19
|
+
case HeaderAlertType.ERROR:
|
|
20
|
+
textColor = "text-red-600";
|
|
21
|
+
break;
|
|
22
|
+
case HeaderAlertType.WARNING:
|
|
23
|
+
textColor = "text-amber-600";
|
|
24
|
+
break;
|
|
25
|
+
case HeaderAlertType.INFO:
|
|
26
|
+
textColor = "text-gray-500";
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<div className="py-2">
|
|
32
|
+
<div className={`px-3 py-1 text-xs font-semibold uppercase ${textColor}`}>
|
|
33
|
+
{props.title}
|
|
34
|
+
</div>
|
|
35
|
+
<div className="space-y-2 px-3 py-1">{props.children}</div>
|
|
36
|
+
</div>
|
|
37
|
+
);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default NotificationBellSection;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import IconProp from "../../../../Types/Icon/IconProp";
|
|
2
|
+
import { HeaderAlertType } from "../HeaderAlert";
|
|
3
|
+
|
|
4
|
+
export interface NotificationItem {
|
|
5
|
+
id: string;
|
|
6
|
+
icon: IconProp;
|
|
7
|
+
title: string;
|
|
8
|
+
count: number;
|
|
9
|
+
alertType: HeaderAlertType;
|
|
10
|
+
tooltip?: string;
|
|
11
|
+
onClick?: () => void;
|
|
12
|
+
suffix?: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as NotificationBell } from "./NotificationBell";
|
|
2
|
+
export { default as NotificationBellDropdown } from "./NotificationBellDropdown";
|
|
3
|
+
export { default as NotificationBellItem } from "./NotificationBellItem";
|
|
4
|
+
export { default as NotificationBellSection } from "./NotificationBellSection";
|
|
5
|
+
export type { NotificationItem } from "./NotificationItem";
|
|
@@ -1378,6 +1378,29 @@ const Icon: FunctionComponent<ComponentProps> = ({
|
|
|
1378
1378
|
<rect x="17" y="17" width="5" height="4" rx="0.5" />
|
|
1379
1379
|
</>,
|
|
1380
1380
|
);
|
|
1381
|
+
} else if (icon === IconProp.Compass) {
|
|
1382
|
+
return getSvgWrapper(
|
|
1383
|
+
<path
|
|
1384
|
+
strokeLinecap="round"
|
|
1385
|
+
strokeLinejoin="round"
|
|
1386
|
+
d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm3.5 13.5-5-2.5-2.5-5 5 2.5 2.5 5Z"
|
|
1387
|
+
/>,
|
|
1388
|
+
);
|
|
1389
|
+
} else if (icon === IconProp.Disc) {
|
|
1390
|
+
return getSvgWrapper(
|
|
1391
|
+
<>
|
|
1392
|
+
<circle cx="12" cy="12" r="10" />
|
|
1393
|
+
<circle cx="12" cy="12" r="3" />
|
|
1394
|
+
</>,
|
|
1395
|
+
);
|
|
1396
|
+
} else if (icon === IconProp.Grid) {
|
|
1397
|
+
return getSvgWrapper(
|
|
1398
|
+
<path
|
|
1399
|
+
strokeLinecap="round"
|
|
1400
|
+
strokeLinejoin="round"
|
|
1401
|
+
d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z"
|
|
1402
|
+
/>,
|
|
1403
|
+
);
|
|
1381
1404
|
}
|
|
1382
1405
|
|
|
1383
1406
|
return <></>;
|