@oneuptime/common 12.0.13 → 12.0.14
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/OnCallDutyPolicySchedule.ts +14 -0
- package/Models/DatabaseModels/UserCall.ts +94 -3
- package/Models/DatabaseModels/UserEmail.ts +94 -3
- package/Models/DatabaseModels/UserIncomingCallNumber.ts +94 -3
- package/Models/DatabaseModels/UserPush.ts +37 -0
- package/Models/DatabaseModels/UserSMS.ts +94 -3
- package/Models/DatabaseModels/UserWhatsApp.ts +93 -2
- package/Server/API/BaseAPI.ts +79 -14
- package/Server/API/UserCallAPI.ts +53 -45
- package/Server/API/UserEmailAPI.ts +53 -44
- package/Server/API/UserIncomingCallNumberAPI.ts +48 -38
- package/Server/API/UserNotificationMethodAdminAPI.ts +481 -0
- package/Server/API/UserPushAPI.ts +126 -2
- package/Server/API/UserSmsAPI.ts +53 -44
- package/Server/API/UserWhatsAppAPI.ts +53 -50
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.ts +154 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.ts +45 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Middleware/VerificationCodeRateLimit.ts +586 -0
- package/Server/Services/AnalyticsDatabaseService.ts +169 -0
- package/Server/Services/DatabaseService.ts +101 -0
- package/Server/Services/LogAggregationService.ts +5 -0
- package/Server/Services/PushNotificationService.ts +127 -12
- package/Server/Services/TeamMemberService.ts +53 -13
- package/Server/Services/UserCallService.ts +55 -24
- package/Server/Services/UserEmailService.ts +83 -17
- package/Server/Services/UserIncomingCallNumberService.ts +49 -85
- package/Server/Services/UserNotificationMethodAdminService.ts +1527 -0
- package/Server/Services/UserNotificationRuleService.ts +26 -0
- package/Server/Services/UserPushService.ts +89 -0
- package/Server/Services/UserSmsService.ts +50 -17
- package/Server/Services/UserWhatsAppService.ts +48 -15
- package/Server/Types/Database/QueryHelper.ts +30 -0
- package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +59 -0
- package/Server/Utils/ChannelVerification.ts +510 -0
- package/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.ts +13 -16
- package/Server/Utils/Monitor/MonitorAlert.ts +24 -21
- package/Server/Utils/Monitor/MonitorIncident.ts +21 -18
- package/Server/Utils/Monitor/MonitorResourceContext.ts +107 -0
- package/Server/Utils/Monitor/MonitorStepResourceIdentity.ts +442 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +3 -3
- package/Server/Utils/Monitor/SeriesResourceLinker.ts +96 -28
- package/Server/Utils/TotpAuth.ts +137 -9
- package/Server/Utils/UserRegistrationToken.ts +182 -0
- package/Server/Utils/VerificationCode.ts +134 -0
- package/Tests/App/Dashboard/AdminNotificationRulesPage.test.tsx +173 -94
- package/Tests/App/Dashboard/AdminUserNotificationMethodsPage.test.tsx +1151 -0
- package/Tests/App/Dashboard/AdminUserOnCallPages.test.tsx +905 -0
- package/Tests/App/Dashboard/DashboardCommandPalette.test.tsx +338 -0
- package/Tests/App/Dashboard/InvestigationPanel.test.tsx +1 -1
- package/Tests/App/Dashboard/MonitorTypePicker.test.tsx +28 -0
- package/Tests/Models/UserPushCriticalAlertColumn.test.ts +172 -0
- package/Tests/Server/API/BaseAPIGetListParallel.test.ts +519 -0
- package/Tests/Server/API/NotificationChannelVerificationAPI.test.ts +543 -0
- package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +108 -18
- package/Tests/Server/API/UserNotificationMethodAdminAPI.test.ts +963 -0
- package/Tests/Server/API/UserPushCriticalAlertsApi.test.ts +114 -0
- package/Tests/Server/API/UserSmsApi.test.ts +107 -14
- package/Tests/Server/API/UserTotpAuthAPI.test.ts +427 -0
- package/Tests/Server/Infrastructure/Postgres/FixTotpOtpUrlAlgorithmMigration.test.ts +315 -0
- package/Tests/Server/Middleware/VerificationCodeRateLimit.test.ts +775 -0
- package/Tests/Server/Services/AddNetworkDeviceReachabilityColumnsMigration.test.ts +10 -62
- package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +33 -13
- package/Tests/Server/Services/AnalyticsDatabaseSortKeyBoundary.test.ts +658 -0
- package/Tests/Server/Services/CriticalOnCallAlertDelivery.test.ts +458 -0
- package/Tests/Server/Services/CriticalPushAlertPayload.test.ts +301 -0
- package/Tests/Server/Services/DatabaseServiceAtomicIncrement.test.ts +143 -0
- package/Tests/Server/Services/DeliverNotificationForRuleExtraction.test.ts +1 -0
- package/Tests/Server/Services/LogAggregationScanMemory.test.ts +421 -0
- package/Tests/Server/Services/LogAggregationService.test.ts +2 -2
- package/Tests/Server/Services/NotificationChannelCodeIssuance.test.ts +401 -0
- package/Tests/Server/Services/PushNotificationDeliveryOptions.test.ts +204 -0
- package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +21 -1
- package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +290 -0
- package/Tests/Server/Services/UserNotificationMethodAdminService.test.ts +948 -0
- package/Tests/Server/Services/UserNotificationRuleExecuteItem.test.ts +1 -0
- package/Tests/Server/Services/UserPushCriticalAlertToggle.test.ts +255 -0
- package/Tests/Server/Services/UserTotpAuthEnrolment.test.ts +218 -0
- package/Tests/Server/TestingUtils/AuthenticatorApp.ts +248 -0
- package/Tests/Server/Types/Database/Permissions/NotificationChannelVerificationColumns.test.ts +135 -0
- package/Tests/Server/Types/Database/Permissions/OnCallScheduleRelationSelect.test.ts +504 -0
- package/Tests/Server/Types/Database/QueryHelperFindWithSameTextAnyOf.test.ts +91 -0
- package/Tests/Server/Types/Workflow/Components/JsonToText.test.ts +384 -0
- package/Tests/Server/Types/Workflow/Components/MergeJson.test.ts +403 -0
- package/Tests/Server/Utils/Browser.test.ts +162 -0
- package/Tests/Server/Utils/ChannelVerification.test.ts +689 -0
- package/Tests/Server/Utils/Express.test.ts +371 -0
- package/Tests/Server/Utils/Monitor/Criteria/CustomCodeMonitorCriteria.test.ts +707 -0
- package/Tests/Server/Utils/Monitor/Criteria/DnsMonitorCriteria.test.ts +698 -0
- package/Tests/Server/Utils/Monitor/Criteria/IncomingEmailBodyCriteria.test.ts +243 -0
- package/Tests/Server/Utils/Monitor/Criteria/IncomingRequestBodyCriteria.test.ts +278 -0
- package/Tests/Server/Utils/Monitor/MonitorAlertResourceLinking.test.ts +160 -20
- package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +13 -8
- package/Tests/Server/Utils/Monitor/MonitorIncidentResourceLinking.test.ts +162 -18
- package/Tests/Server/Utils/Monitor/MonitorResourceContext.test.ts +349 -0
- package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +690 -0
- package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +7 -2
- package/Tests/Server/Utils/Monitor/SeriesResourceLinker.test.ts +92 -18
- package/Tests/Server/Utils/PushNotificationUtilCreators.test.ts +267 -0
- package/Tests/Server/Utils/Telemetry/OneuptimeLabel.test.ts +439 -0
- package/Tests/Server/Utils/TotpAuth.test.ts +719 -0
- package/Tests/Server/Utils/UserRegistrationToken.test.ts +322 -0
- package/Tests/Server/Utils/VerificationCode.test.ts +296 -0
- package/Tests/Types/AutoRemediation/AutoRemediationSuggestionStatus.test.ts +192 -0
- package/Tests/Types/Call/CallRequest.test.ts +189 -0
- package/Tests/Types/Dashboard/DashboardSize.test.ts +226 -0
- package/Tests/Types/Incident/IncidentSlaStatus.test.ts +191 -0
- package/Tests/Types/Metrics/MetricDashboardMetricType.test.ts +278 -0
- package/Tests/Types/Metrics/MetricPipelineRuleType.test.ts +517 -0
- package/Tests/Types/Monitor/IncomingMonitorDefaultCriteria.test.ts +470 -0
- package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +6 -4
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +262 -5
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +1 -1
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +1 -1
- package/Tests/Types/Monitor/ServiceAlertTemplates.test.ts +905 -0
- package/Tests/Types/Service/ServiceLanguage.test.ts +255 -0
- package/Tests/Types/TextRandomGeneration.test.ts +211 -0
- package/Tests/UI/Components/Button.test.tsx +175 -1
- package/Tests/UI/Components/CodeBlockLanguages.test.tsx +236 -0
- package/Tests/UI/Components/CommandPalette/CommandPalette.test.tsx +568 -0
- package/Tests/UI/Components/CommandPalette/CommandPaletteKeyboard.test.tsx +239 -0
- package/Tests/UI/Components/CommandPalette/CommandPaletteProviders.test.tsx +400 -0
- package/Tests/UI/Components/CommandPalette/PaletteFilter.test.ts +234 -0
- package/Tests/UI/Components/CommandPalette/RecentCommands.test.ts +97 -0
- package/Tests/UI/Components/CountModelSideMenuItemGuard.test.tsx +198 -0
- package/Tests/UI/Components/FeedItemSafeMode.test.tsx +1 -1
- package/Tests/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.test.ts +267 -0
- package/Tests/UI/Components/List.test.tsx +9 -2
- package/Tests/UI/Components/ListLoadingStates.test.tsx +173 -0
- package/Tests/UI/Components/MarkdownLazy.test.tsx +113 -0
- package/Tests/UI/Components/MarkdownMermaidRetry.test.tsx +110 -0
- package/Tests/UI/Components/ModelTable/useCustomFieldColumns.test.tsx +8 -0
- package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +692 -0
- package/Tests/UI/Components/MoreMenuMotion.test.tsx +118 -0
- package/Tests/UI/Components/NavBarCommandKGating.test.tsx +178 -0
- package/Tests/UI/Components/OrderedStatesList.test.tsx +19 -2
- package/Tests/UI/Components/SideOverMotion.test.tsx +109 -0
- package/Tests/UI/Components/Skeleton.test.tsx +71 -0
- package/Tests/UI/Components/TableLoadingStates.test.tsx +279 -0
- package/Tests/UI/Components/Tabs.test.tsx +24 -0
- package/Tests/UI/Components/Toast.test.tsx +130 -7
- package/Tests/UI/Components/ToastStacking.test.tsx +198 -0
- package/Tests/UI/Utils/Dropdown.test.ts +423 -0
- package/Tests/UI/Utils/ModelAPITenantHeader.test.ts +122 -0
- package/Tests/UI/Utils/ModelListCache.test.ts +338 -0
- package/Tests/UI/Utils/ProjectListCacheInvalidation.test.ts +225 -0
- package/Tests/Utils/API.test.ts +16 -2
- package/Tests/Utils/Dashboard/Components/DashboardKubernetesResourceListShared.test.ts +347 -0
- package/Tests/Utils/Dashboard/Components/DashboardListSharedArgs.test.ts +259 -0
- package/Tests/Utils/Dashboard/Components/DashboardMonitorListComponent.test.ts +466 -0
- package/Tests/Utils/Rum/UrlScrubberSegments.test.ts +362 -0
- package/Types/Email/EmailTemplateType.ts +1 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +41 -20
- package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +131 -8
- package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +48 -8
- package/Types/Monitor/ServiceAlertTemplates.ts +1352 -0
- package/Types/Permission.ts +35 -0
- package/Types/PushNotification/AndroidNotificationChannel.ts +26 -0
- package/Types/PushNotification/PushNotificationMessage.ts +15 -0
- package/Types/PushNotification/PushNotificationRequest.ts +8 -16
- package/Types/Service/ServiceLanguage.ts +144 -0
- package/Types/Text.ts +111 -19
- package/UI/Components/Button/Button.tsx +27 -14
- package/UI/Components/CodeBlock/CodeBlock.tsx +54 -7
- package/UI/Components/CodeBlock/LanguageRegistry.ts +103 -0
- package/UI/Components/CommandPalette/CommandPalette.tsx +790 -0
- package/UI/Components/CommandPalette/PaletteFilter.ts +196 -0
- package/UI/Components/CommandPalette/PaletteRow.tsx +173 -0
- package/UI/Components/CommandPalette/RecentCommands.ts +57 -0
- package/UI/Components/CommandPalette/Types.ts +49 -0
- package/UI/Components/CommandPalette/UseProviderSearch.ts +129 -0
- package/UI/Components/Dropdown/Dropdown.tsx +6 -1
- package/UI/Components/Feed/FeedItem.tsx +1 -1
- package/UI/Components/List/List.tsx +37 -5
- package/UI/Components/List/ListSkeleton.tsx +54 -0
- package/UI/Components/Markdown.tsx/LazyMarkdownViewer.tsx +6 -1
- package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +71 -26
- package/UI/Components/Modal/Modal.tsx +2 -2
- package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
- package/UI/Components/ModelTable/useCustomFieldColumns.ts +11 -5
- package/UI/Components/MoreMenu/MoreMenu.tsx +39 -1
- package/UI/Components/Navbar/NavBar.tsx +14 -1
- package/UI/Components/OrderedStatesList/OrderedStatesList.tsx +50 -5
- package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +40 -1
- package/UI/Components/SideOver/SideOver.tsx +37 -2
- package/UI/Components/Skeleton/Skeleton.tsx +53 -0
- package/UI/Components/Table/Table.tsx +74 -44
- package/UI/Components/Table/TableSkeletonRows.tsx +141 -0
- package/UI/Components/Tabs/Tab.tsx +1 -1
- package/UI/Components/Toast/Toast.tsx +118 -53
- package/UI/Components/Toast/ToastInit.tsx +82 -32
- package/UI/Styles/Theme.css +40 -0
- package/UI/Utils/ModelAPI/ModelAPI.ts +20 -10
- package/UI/Utils/ModelListCache.ts +188 -0
- package/UI/Utils/Project.ts +29 -0
- package/Utils/API.ts +6 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +14 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserCall.js +101 -3
- package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserEmail.js +101 -3
- package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js +101 -3
- package/build/dist/Models/DatabaseModels/UserIncomingCallNumber.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserPush.js +38 -0
- package/build/dist/Models/DatabaseModels/UserPush.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserSMS.js +101 -3
- package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserWhatsApp.js +100 -2
- package/build/dist/Models/DatabaseModels/UserWhatsApp.js.map +1 -1
- package/build/dist/Server/API/BaseAPI.js +69 -13
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/UserCallAPI.js +42 -38
- package/build/dist/Server/API/UserCallAPI.js.map +1 -1
- package/build/dist/Server/API/UserEmailAPI.js +42 -38
- package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js +37 -32
- package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
- package/build/dist/Server/API/UserNotificationMethodAdminAPI.js +341 -0
- package/build/dist/Server/API/UserNotificationMethodAdminAPI.js.map +1 -0
- package/build/dist/Server/API/UserPushAPI.js +95 -2
- package/build/dist/Server/API/UserPushAPI.js.map +1 -1
- package/build/dist/Server/API/UserSmsAPI.js +42 -38
- package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
- package/build/dist/Server/API/UserWhatsAppAPI.js +42 -40
- package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js +89 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787142779538-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787156982416-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1787700000000-FixTotpOtpUrlAlgorithm.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/VerificationCodeRateLimit.js +393 -0
- package/build/dist/Server/Middleware/VerificationCodeRateLimit.js.map +1 -0
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +136 -0
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +74 -0
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +5 -0
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/PushNotificationService.js +69 -30
- package/build/dist/Server/Services/PushNotificationService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +43 -7
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/UserCallService.js +54 -22
- package/build/dist/Server/Services/UserCallService.js.map +1 -1
- package/build/dist/Server/Services/UserEmailService.js +78 -17
- package/build/dist/Server/Services/UserEmailService.js.map +1 -1
- package/build/dist/Server/Services/UserIncomingCallNumberService.js +45 -74
- package/build/dist/Server/Services/UserIncomingCallNumberService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationMethodAdminService.js +1117 -0
- package/build/dist/Server/Services/UserNotificationMethodAdminService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationRuleService.js +20 -0
- package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Services/UserPushService.js +77 -0
- package/build/dist/Server/Services/UserPushService.js.map +1 -1
- package/build/dist/Server/Services/UserSmsService.js +50 -17
- package/build/dist/Server/Services/UserSmsService.js.map +1 -1
- package/build/dist/Server/Services/UserWhatsAppService.js +48 -15
- package/build/dist/Server/Services/UserWhatsAppService.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +27 -0
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -1
- package/build/dist/Server/Utils/ChannelVerification.js +348 -0
- package/build/dist/Server/Utils/ChannelVerification.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js +13 -12
- package/build/dist/Server/Utils/Monitor/Criteria/IncomingRequestCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +20 -17
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +17 -14
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js +95 -0
- package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js +313 -0
- package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +3 -3
- package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js +67 -26
- package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js.map +1 -1
- package/build/dist/Server/Utils/TotpAuth.js +127 -8
- package/build/dist/Server/Utils/TotpAuth.js.map +1 -1
- package/build/dist/Server/Utils/UserRegistrationToken.js +170 -0
- package/build/dist/Server/Utils/UserRegistrationToken.js.map +1 -0
- package/build/dist/Server/Utils/VerificationCode.js +120 -0
- package/build/dist/Server/Utils/VerificationCode.js.map +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +42 -21
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +77 -5
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +18 -6
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
- package/build/dist/Types/Monitor/ServiceAlertTemplates.js +1028 -0
- package/build/dist/Types/Monitor/ServiceAlertTemplates.js.map +1 -0
- package/build/dist/Types/Permission.js +33 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/PushNotification/AndroidNotificationChannel.js +27 -0
- package/build/dist/Types/PushNotification/AndroidNotificationChannel.js.map +1 -0
- package/build/dist/Types/Service/ServiceLanguage.js +96 -0
- package/build/dist/Types/Service/ServiceLanguage.js.map +1 -0
- package/build/dist/Types/Text.js +82 -17
- package/build/dist/Types/Text.js.map +1 -1
- package/build/dist/UI/Components/Button/Button.js +22 -14
- package/build/dist/UI/Components/Button/Button.js.map +1 -1
- package/build/dist/UI/Components/CodeBlock/CodeBlock.js +35 -3
- package/build/dist/UI/Components/CodeBlock/CodeBlock.js.map +1 -1
- package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js +57 -0
- package/build/dist/UI/Components/CodeBlock/LanguageRegistry.js.map +1 -0
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js +439 -0
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -0
- package/build/dist/UI/Components/CommandPalette/PaletteFilter.js +135 -0
- package/build/dist/UI/Components/CommandPalette/PaletteFilter.js.map +1 -0
- package/build/dist/UI/Components/CommandPalette/PaletteRow.js +83 -0
- package/build/dist/UI/Components/CommandPalette/PaletteRow.js.map +1 -0
- package/build/dist/UI/Components/CommandPalette/RecentCommands.js +47 -0
- package/build/dist/UI/Components/CommandPalette/RecentCommands.js.map +1 -0
- package/build/dist/UI/Components/CommandPalette/Types.js +2 -0
- package/build/dist/UI/Components/CommandPalette/Types.js.map +1 -0
- package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js +88 -0
- package/build/dist/UI/Components/CommandPalette/UseProviderSearch.js.map +1 -0
- package/build/dist/UI/Components/Dropdown/Dropdown.js +6 -1
- package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
- package/build/dist/UI/Components/Feed/FeedItem.js +1 -1
- package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
- package/build/dist/UI/Components/List/List.js +19 -5
- package/build/dist/UI/Components/List/List.js.map +1 -1
- package/build/dist/UI/Components/List/ListSkeleton.js +21 -0
- package/build/dist/UI/Components/List/ListSkeleton.js.map +1 -0
- package/build/dist/UI/Components/Markdown.tsx/LazyMarkdownViewer.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +52 -25
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
- package/build/dist/UI/Components/Modal/Modal.js +2 -2
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js +9 -2
- package/build/dist/UI/Components/ModelTable/useCustomFieldColumns.js.map +1 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js +32 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBar.js +5 -1
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js +29 -5
- package/build/dist/UI/Components/OrderedStatesList/OrderedStatesList.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js +23 -1
- package/build/dist/UI/Components/SideMenu/CountModelSideMenuItem.js.map +1 -1
- package/build/dist/UI/Components/SideOver/SideOver.js +23 -2
- package/build/dist/UI/Components/SideOver/SideOver.js.map +1 -1
- package/build/dist/UI/Components/Skeleton/Skeleton.js +23 -0
- package/build/dist/UI/Components/Skeleton/Skeleton.js.map +1 -0
- package/build/dist/UI/Components/Table/Table.js +35 -24
- package/build/dist/UI/Components/Table/Table.js.map +1 -1
- package/build/dist/UI/Components/Table/TableSkeletonRows.js +52 -0
- package/build/dist/UI/Components/Table/TableSkeletonRows.js.map +1 -0
- package/build/dist/UI/Components/Tabs/Tab.js +1 -1
- package/build/dist/UI/Components/Tabs/Tab.js.map +1 -1
- package/build/dist/UI/Components/Toast/Toast.js +77 -23
- package/build/dist/UI/Components/Toast/Toast.js.map +1 -1
- package/build/dist/UI/Components/Toast/ToastInit.js +37 -15
- package/build/dist/UI/Components/Toast/ToastInit.js.map +1 -1
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +18 -9
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
- package/build/dist/UI/Utils/ModelListCache.js +126 -0
- package/build/dist/UI/Utils/ModelListCache.js.map +1 -0
- package/build/dist/UI/Utils/Project.js +24 -1
- package/build/dist/UI/Utils/Project.js.map +1 -1
- package/build/dist/Utils/API.js +6 -1
- package/build/dist/Utils/API.js.map +1 -1
- package/jest.config.json +1 -1
- package/package.json +2 -3
- package/Server/Utils/Monitor/MonitorClusterContext.ts +0 -182
- package/Tests/__mocks__/otpauth.js +0 -30
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +0 -141
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +0 -1
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, {
|
|
2
|
+
FunctionComponent,
|
|
3
|
+
ReactElement,
|
|
4
|
+
useEffect,
|
|
5
|
+
useRef,
|
|
6
|
+
} from "react";
|
|
2
7
|
import Toast, { ComponentProps as ToastComponentProps } from "./Toast";
|
|
3
8
|
import GlobalEvents from "../../Utils/GlobalEvents";
|
|
4
9
|
|
|
@@ -10,21 +15,60 @@ export const ShowToastNotification: ShowToastNotificationFunction = (
|
|
|
10
15
|
GlobalEvents.dispatchEvent("toast", toast as any);
|
|
11
16
|
};
|
|
12
17
|
|
|
18
|
+
/*
|
|
19
|
+
* Each queued toast gets a stable id so removals key correctly — keying by
|
|
20
|
+
* array index would re-key (and so re-mount and re-animate) every toast below
|
|
21
|
+
* the one that was dismissed.
|
|
22
|
+
*/
|
|
23
|
+
interface ToastEntry {
|
|
24
|
+
id: number;
|
|
25
|
+
toast: ToastComponentProps;
|
|
26
|
+
/*
|
|
27
|
+
* Built once at dispatch and stable for the toast's lifetime: recreating
|
|
28
|
+
* onClose per render would hand every Toast a fresh prop on each stack
|
|
29
|
+
* re-render, which used to restart the exit-unmount timer of any toast
|
|
30
|
+
* mid-fade.
|
|
31
|
+
*/
|
|
32
|
+
onClose: () => void;
|
|
33
|
+
}
|
|
34
|
+
|
|
13
35
|
const ToastLayout: FunctionComponent = (): ReactElement => {
|
|
14
|
-
const [currentToasts, setCurrentToasts] = React.useState<
|
|
15
|
-
|
|
16
|
-
|
|
36
|
+
const [currentToasts, setCurrentToasts] = React.useState<Array<ToastEntry>>(
|
|
37
|
+
[],
|
|
38
|
+
);
|
|
39
|
+
const nextToastIdRef: React.MutableRefObject<number> = useRef<number>(0);
|
|
17
40
|
|
|
18
|
-
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
const addToastNotification: (event: CustomEvent) => void = (
|
|
43
|
+
event: CustomEvent,
|
|
44
|
+
): void => {
|
|
45
|
+
const toast: ToastComponentProps = event.detail;
|
|
46
|
+
const id: number = nextToastIdRef.current;
|
|
47
|
+
nextToastIdRef.current += 1;
|
|
19
48
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
49
|
+
// setCurrentToasts is stable, so this closure never goes stale.
|
|
50
|
+
const onClose: () => void = (): void => {
|
|
51
|
+
if (toast.onClose) {
|
|
52
|
+
toast.onClose();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
setCurrentToasts((toasts: Array<ToastEntry>) => {
|
|
56
|
+
return toasts.filter((candidate: ToastEntry) => {
|
|
57
|
+
return candidate.id !== id;
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/*
|
|
63
|
+
* Functional update: this listener is registered once, so reading
|
|
64
|
+
* currentToasts from its closure would always see the mount-time empty
|
|
65
|
+
* array and every new toast would clobber the ones before it.
|
|
66
|
+
*/
|
|
67
|
+
setCurrentToasts((toasts: Array<ToastEntry>) => {
|
|
68
|
+
return [...toasts, { id, toast, onClose }];
|
|
69
|
+
});
|
|
70
|
+
};
|
|
26
71
|
|
|
27
|
-
useEffect(() => {
|
|
28
72
|
GlobalEvents.addEventListener("toast", addToastNotification);
|
|
29
73
|
|
|
30
74
|
return () => {
|
|
@@ -32,27 +76,33 @@ const ToastLayout: FunctionComponent = (): ReactElement => {
|
|
|
32
76
|
};
|
|
33
77
|
}, []);
|
|
34
78
|
|
|
79
|
+
/*
|
|
80
|
+
* ONE fixed container for every toast. Each toast used to render its own
|
|
81
|
+
* fixed strip at top-0 (the index prop that offset them was never passed),
|
|
82
|
+
* so stacked toasts painted on top of each other. A single region stacking
|
|
83
|
+
* cards with flex-col gap makes the order self-evident and keeps the
|
|
84
|
+
* z-index ladder in exactly one place (Toast z-40, under Modal z-50).
|
|
85
|
+
*/
|
|
35
86
|
return (
|
|
36
|
-
<div
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
})}
|
|
87
|
+
<div
|
|
88
|
+
data-testid="toast-region"
|
|
89
|
+
aria-live="assertive"
|
|
90
|
+
className="pointer-events-none fixed z-40 top-0 left-0 right-0 flex items-end px-4 py-6 sm:items-start sm:p-6"
|
|
91
|
+
>
|
|
92
|
+
<div className="flex w-full flex-col items-center gap-4 sm:items-end">
|
|
93
|
+
{currentToasts.map((entry: ToastEntry) => {
|
|
94
|
+
return (
|
|
95
|
+
<Toast
|
|
96
|
+
key={entry.id}
|
|
97
|
+
title={entry.toast.title}
|
|
98
|
+
description={entry.toast.description}
|
|
99
|
+
type={entry.toast.type}
|
|
100
|
+
icon={entry.toast.icon}
|
|
101
|
+
onClose={entry.onClose}
|
|
102
|
+
/>
|
|
103
|
+
);
|
|
104
|
+
})}
|
|
105
|
+
</div>
|
|
56
106
|
</div>
|
|
57
107
|
);
|
|
58
108
|
};
|
package/UI/Styles/Theme.css
CHANGED
|
@@ -127,6 +127,7 @@ html.dark [class~="!bg-white"] {
|
|
|
127
127
|
|
|
128
128
|
html.dark :is(
|
|
129
129
|
[class~="bg-white/60"],
|
|
130
|
+
[class~="bg-white/70"],
|
|
130
131
|
[class~="bg-white/80"],
|
|
131
132
|
[class~="bg-white/90"],
|
|
132
133
|
[class~="bg-white/95"]
|
|
@@ -204,6 +205,14 @@ html.dark [class~="bg-gray-900/5"] {
|
|
|
204
205
|
background-color: rgb(148 163 184 / 12%);
|
|
205
206
|
}
|
|
206
207
|
|
|
208
|
+
/*
|
|
209
|
+
* Overlay scrims built from a mid-gray: literal gray-500 at 25% paints a LIGHT
|
|
210
|
+
* veil over a dark page, so the command palette backdrop deepens instead.
|
|
211
|
+
*/
|
|
212
|
+
html.dark [class~="bg-gray-500/25"] {
|
|
213
|
+
background-color: rgb(2 6 23 / 55%);
|
|
214
|
+
}
|
|
215
|
+
|
|
207
216
|
/* State variants that otherwise flash back to literal light Tailwind colors. */
|
|
208
217
|
html.dark :is(
|
|
209
218
|
[class~="hover:bg-gray-50"],
|
|
@@ -1340,3 +1349,34 @@ html.dark :fullscreen,
|
|
|
1340
1349
|
html.dark ::backdrop {
|
|
1341
1350
|
background-color: var(--ou-background-primary);
|
|
1342
1351
|
}
|
|
1352
|
+
|
|
1353
|
+
/*
|
|
1354
|
+
* Motion. Tailwind here is the Play-CDN runtime configured inline per app, so
|
|
1355
|
+
* a new animate-* utility name would silently generate nothing unless its
|
|
1356
|
+
* keyframes were duplicated into every EJS config. Plain CSS in this one
|
|
1357
|
+
* shared stylesheet sidesteps that entirely.
|
|
1358
|
+
*
|
|
1359
|
+
* ou-animate-pop-in exists for surfaces that MOUNT already open (react-select
|
|
1360
|
+
* portals its menu fully formed), where a transition has no closed state to
|
|
1361
|
+
* start from. It is an animation, so it ends by reverting to the element's
|
|
1362
|
+
* own style — no transform lingers to become a containing block for
|
|
1363
|
+
* position:fixed descendants. Surfaces that control their own mount use the
|
|
1364
|
+
* Modal hasEntered transition pattern instead.
|
|
1365
|
+
*/
|
|
1366
|
+
@keyframes ou-pop-in {
|
|
1367
|
+
from {
|
|
1368
|
+
opacity: 0;
|
|
1369
|
+
transform: scale(0.98);
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
to {
|
|
1373
|
+
opacity: 1;
|
|
1374
|
+
transform: scale(1);
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
1379
|
+
.ou-animate-pop-in {
|
|
1380
|
+
animation: ou-pop-in 120ms ease-out;
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
@@ -347,19 +347,29 @@ export default class ModelAPI {
|
|
|
347
347
|
!requestOptions.isMultiTenantRequest ||
|
|
348
348
|
Object.keys(requestOptions).length === 0
|
|
349
349
|
) {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
350
|
+
/*
|
|
351
|
+
* Read the tenant id via getCurrentProjectId() first - a plain string
|
|
352
|
+
* read off the URL/SessionStorage/LocalStorage id keys. This is what
|
|
353
|
+
* makes requests work in the SSO-login window where the project ID is
|
|
354
|
+
* already available in URL/SessionStorage but the full project data
|
|
355
|
+
* hasn't been fetched yet, and it avoids hydrating the entire Project
|
|
356
|
+
* model from LocalStorage on every single request just for the id.
|
|
357
|
+
*/
|
|
358
|
+
const projectId: ObjectID | null = ProjectUtil.getCurrentProjectId();
|
|
359
|
+
|
|
360
|
+
if (projectId) {
|
|
361
|
+
headers["tenantid"] = projectId.toString();
|
|
354
362
|
} else {
|
|
355
363
|
/*
|
|
356
|
-
* Fallback to
|
|
357
|
-
*
|
|
358
|
-
*
|
|
364
|
+
* Fallback to the stored project. getCurrentProject() resolves its id
|
|
365
|
+
* through getCurrentProjectId() too, so this only matters if that
|
|
366
|
+
* resolution ever diverges - kept to preserve the historical fallback
|
|
367
|
+
* chain.
|
|
359
368
|
*/
|
|
360
|
-
const
|
|
361
|
-
|
|
362
|
-
|
|
369
|
+
const project: Project | null = ProjectUtil.getCurrentProject();
|
|
370
|
+
|
|
371
|
+
if (project && project.id) {
|
|
372
|
+
headers["tenantid"] = project.id.toString();
|
|
363
373
|
}
|
|
364
374
|
}
|
|
365
375
|
}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import ListResult from "../../Types/BaseDatabase/ListResult";
|
|
2
|
+
import Query from "../../Types/BaseDatabase/Query";
|
|
3
|
+
import Select from "../../Types/BaseDatabase/Select";
|
|
4
|
+
import Sort from "../../Types/BaseDatabase/Sort";
|
|
5
|
+
import Dictionary from "../../Types/Dictionary";
|
|
6
|
+
import { JSONObject } from "../../Types/JSON";
|
|
7
|
+
import JSONFunctions from "../../Types/JSONFunctions";
|
|
8
|
+
import ObjectID from "../../Types/ObjectID";
|
|
9
|
+
import BaseModel from "../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
|
|
10
|
+
import ModelAPI, { RequestOptions } from "./ModelAPI/ModelAPI";
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* A tiny read-through cache for reference-data lists (incident states, alert
|
|
14
|
+
* states, custom-field definitions, ...): tables that hold a handful of rows
|
|
15
|
+
* per project and change approximately never, yet are fetched independently by
|
|
16
|
+
* every component that needs them - the Home view alone used to request the
|
|
17
|
+
* IncidentState list three times.
|
|
18
|
+
*
|
|
19
|
+
* Modeled on GlobalConfigUtil (./GlobalConfig.ts): a module-level cache plus
|
|
20
|
+
* in-flight promise dedup, so concurrent callers share one request and
|
|
21
|
+
* callers within the TTL share one response. Entries are keyed by the model's
|
|
22
|
+
* table name, the project id and the serialized query/select/sort/paging, so
|
|
23
|
+
* different projects and different shapes of the same list never collide.
|
|
24
|
+
*
|
|
25
|
+
* Callers share the returned ListResult (and the model instances inside it) -
|
|
26
|
+
* treat it as read-only and copy before mutating.
|
|
27
|
+
*
|
|
28
|
+
* Invalidation: the key carries the project id, so a project switch can never
|
|
29
|
+
* be served another project's rows even before anything is invalidated; the
|
|
30
|
+
* 60-second TTL bounds staleness after someone edits the underlying rows in
|
|
31
|
+
* settings. Screens that edit reference data and need to see the change
|
|
32
|
+
* immediately should call invalidate(modelType) on success.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
const TTL_IN_MS: number = 60 * 1000;
|
|
36
|
+
|
|
37
|
+
interface CacheEntry {
|
|
38
|
+
tableName: string;
|
|
39
|
+
expiresAt: number;
|
|
40
|
+
result: ListResult<BaseModel>;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface InFlightEntry {
|
|
44
|
+
tableName: string;
|
|
45
|
+
promise: Promise<ListResult<BaseModel>>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default class ModelListCache {
|
|
49
|
+
private static cache: Dictionary<CacheEntry> = {};
|
|
50
|
+
private static inFlight: Dictionary<InFlightEntry> = {};
|
|
51
|
+
|
|
52
|
+
public static async getList<TBaseModel extends BaseModel>(data: {
|
|
53
|
+
modelType: { new (): TBaseModel };
|
|
54
|
+
query: Query<TBaseModel>;
|
|
55
|
+
limit: number;
|
|
56
|
+
skip: number;
|
|
57
|
+
select: Select<TBaseModel>;
|
|
58
|
+
sort: Sort<TBaseModel>;
|
|
59
|
+
projectId?: ObjectID | null | undefined;
|
|
60
|
+
requestOptions?: RequestOptions | undefined;
|
|
61
|
+
}): Promise<ListResult<TBaseModel>> {
|
|
62
|
+
const tableName: string = new data.modelType().tableName || "";
|
|
63
|
+
const key: string = ModelListCache.buildKey({
|
|
64
|
+
tableName: tableName,
|
|
65
|
+
projectId: data.projectId,
|
|
66
|
+
query: data.query,
|
|
67
|
+
select: data.select,
|
|
68
|
+
sort: data.sort,
|
|
69
|
+
skip: data.skip,
|
|
70
|
+
limit: data.limit,
|
|
71
|
+
requestOptions: data.requestOptions,
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
const cached: CacheEntry | undefined = ModelListCache.cache[key];
|
|
75
|
+
|
|
76
|
+
if (cached) {
|
|
77
|
+
if (cached.expiresAt > Date.now()) {
|
|
78
|
+
return cached.result as ListResult<TBaseModel>;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
delete ModelListCache.cache[key];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const existing: InFlightEntry | undefined = ModelListCache.inFlight[key];
|
|
85
|
+
|
|
86
|
+
if (existing) {
|
|
87
|
+
return existing.promise as Promise<ListResult<TBaseModel>>;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const promise: Promise<ListResult<TBaseModel>> =
|
|
91
|
+
ModelAPI.getList<TBaseModel>({
|
|
92
|
+
modelType: data.modelType,
|
|
93
|
+
query: data.query,
|
|
94
|
+
limit: data.limit,
|
|
95
|
+
skip: data.skip,
|
|
96
|
+
select: data.select,
|
|
97
|
+
sort: data.sort,
|
|
98
|
+
...(data.requestOptions ? { requestOptions: data.requestOptions } : {}),
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
const entry: InFlightEntry = {
|
|
102
|
+
tableName: tableName,
|
|
103
|
+
promise: promise as Promise<ListResult<BaseModel>>,
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
ModelListCache.inFlight[key] = entry;
|
|
107
|
+
|
|
108
|
+
try {
|
|
109
|
+
const result: ListResult<TBaseModel> = await promise;
|
|
110
|
+
|
|
111
|
+
/*
|
|
112
|
+
* Only cache while this request is still the current one for its key -
|
|
113
|
+
* an invalidate() that ran mid-flight must not have its effect undone
|
|
114
|
+
* by a stale response landing afterwards. (Failures are never cached:
|
|
115
|
+
* the next caller simply issues a fresh request.)
|
|
116
|
+
*/
|
|
117
|
+
if (ModelListCache.inFlight[key] === entry) {
|
|
118
|
+
ModelListCache.cache[key] = {
|
|
119
|
+
tableName: tableName,
|
|
120
|
+
expiresAt: Date.now() + TTL_IN_MS,
|
|
121
|
+
result: result as ListResult<BaseModel>,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return result;
|
|
126
|
+
} finally {
|
|
127
|
+
if (ModelListCache.inFlight[key] === entry) {
|
|
128
|
+
delete ModelListCache.inFlight[key];
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Drop every entry for one model type, or everything when none is given.
|
|
134
|
+
public static invalidate(modelType?: { new (): BaseModel }): void {
|
|
135
|
+
if (!modelType) {
|
|
136
|
+
ModelListCache.invalidateAll();
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
const tableName: string = new modelType().tableName || "";
|
|
141
|
+
|
|
142
|
+
for (const key of Object.keys(ModelListCache.cache)) {
|
|
143
|
+
if (ModelListCache.cache[key]?.tableName === tableName) {
|
|
144
|
+
delete ModelListCache.cache[key];
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
for (const key of Object.keys(ModelListCache.inFlight)) {
|
|
149
|
+
if (ModelListCache.inFlight[key]?.tableName === tableName) {
|
|
150
|
+
delete ModelListCache.inFlight[key];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Call on project switch (and logout): the next reads refetch everything.
|
|
156
|
+
public static invalidateAll(): void {
|
|
157
|
+
ModelListCache.cache = {};
|
|
158
|
+
ModelListCache.inFlight = {};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
private static buildKey(data: {
|
|
162
|
+
tableName: string;
|
|
163
|
+
projectId?: ObjectID | null | undefined;
|
|
164
|
+
query: Query<BaseModel>;
|
|
165
|
+
select: Select<BaseModel>;
|
|
166
|
+
sort: Sort<BaseModel>;
|
|
167
|
+
skip: number;
|
|
168
|
+
limit: number;
|
|
169
|
+
requestOptions?: RequestOptions | undefined;
|
|
170
|
+
}): string {
|
|
171
|
+
/*
|
|
172
|
+
* JSONFunctions.serialize is the same serialization ModelAPI sends over
|
|
173
|
+
* the wire, so two requests get one key exactly when the server would see
|
|
174
|
+
* the same request body. Key order inside the literals is stable because
|
|
175
|
+
* call sites are static object literals.
|
|
176
|
+
*/
|
|
177
|
+
return JSON.stringify({
|
|
178
|
+
tableName: data.tableName,
|
|
179
|
+
projectId: data.projectId?.toString() || "",
|
|
180
|
+
query: JSONFunctions.serialize(data.query as JSONObject),
|
|
181
|
+
select: JSONFunctions.serialize(data.select as JSONObject),
|
|
182
|
+
sort: JSONFunctions.serialize(data.sort as JSONObject),
|
|
183
|
+
skip: data.skip,
|
|
184
|
+
limit: data.limit,
|
|
185
|
+
url: data.requestOptions?.overrideRequestUrl?.toString() || "",
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
package/UI/Utils/Project.ts
CHANGED
|
@@ -10,6 +10,7 @@ import Project from "../../Models/DatabaseModels/Project";
|
|
|
10
10
|
import SubscriptionStatus, {
|
|
11
11
|
SubscriptionStatusUtil,
|
|
12
12
|
} from "../../Types/Billing/SubscriptionStatus";
|
|
13
|
+
import ModelListCache from "./ModelListCache";
|
|
13
14
|
import Navigation from "./Navigation";
|
|
14
15
|
import SessionStorage from "./SessionStorage";
|
|
15
16
|
import Telemetry from "./Telemetry/Telemetry";
|
|
@@ -278,12 +279,37 @@ export default class ProjectUtil {
|
|
|
278
279
|
public static setCurrentProject(project: JSONObject | Project): void {
|
|
279
280
|
const currentProjectId: string | undefined =
|
|
280
281
|
project._id?.toString() || this.getCurrentProjectId()?.toString();
|
|
282
|
+
|
|
283
|
+
/*
|
|
284
|
+
* What this tab was showing BEFORE this call, read straight off session
|
|
285
|
+
* storage (not getCurrentProjectId(), whose URL fallback may already
|
|
286
|
+
* carry the NEW project mid-switch) so it can be compared after the
|
|
287
|
+
* overwrite below.
|
|
288
|
+
*/
|
|
289
|
+
const previousProjectId: string | undefined = this.toProjectId(
|
|
290
|
+
SessionStorage.getItem(CURRENT_PROJECT_ID_STORAGE_KEY),
|
|
291
|
+
)?.toString();
|
|
292
|
+
|
|
281
293
|
if (project instanceof Project) {
|
|
282
294
|
project = BaseModel.toJSON(project, Project);
|
|
283
295
|
}
|
|
284
296
|
LocalStorage.setItem(`project_${currentProjectId}`, project);
|
|
285
297
|
SessionStorage.setItem(CURRENT_PROJECT_ID_STORAGE_KEY, currentProjectId);
|
|
286
298
|
|
|
299
|
+
/*
|
|
300
|
+
* Cached reference lists (incident/alert states, custom fields...) are
|
|
301
|
+
* keyed by project id, so a switch could never serve another project's
|
|
302
|
+
* rows — invalidation just guarantees fresh reads and frees the old
|
|
303
|
+
* entries now that project selection can happen without a full page
|
|
304
|
+
* reload. Only on an actual CHANGE though: setCurrentProject also runs
|
|
305
|
+
* on every boot, in the same commit as the Header/Home mounts whose
|
|
306
|
+
* reference-list requests are already in flight, and wiping the cache
|
|
307
|
+
* then would discard its very first fill.
|
|
308
|
+
*/
|
|
309
|
+
if (previousProjectId !== currentProjectId) {
|
|
310
|
+
ModelListCache.invalidateAll();
|
|
311
|
+
}
|
|
312
|
+
|
|
287
313
|
// Remember this project for the next time the user opens the dashboard.
|
|
288
314
|
this.setLastAccessedProjectId(currentProjectId);
|
|
289
315
|
|
|
@@ -303,6 +329,9 @@ export default class ProjectUtil {
|
|
|
303
329
|
|
|
304
330
|
SessionStorage.removeItem(CURRENT_PROJECT_ID_STORAGE_KEY);
|
|
305
331
|
|
|
332
|
+
// Project-scoped cached reference lists must not outlive the project.
|
|
333
|
+
ModelListCache.invalidateAll();
|
|
334
|
+
|
|
306
335
|
/*
|
|
307
336
|
* The project is gone (or the user is leaving it), so it must not be
|
|
308
337
|
* reopened the next time the dashboard loads.
|
package/Utils/API.ts
CHANGED
|
@@ -226,8 +226,13 @@ export default class API {
|
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
public static getDefaultHeaders(_props?: any): Headers {
|
|
229
|
+
/*
|
|
230
|
+
* NOTE: no "Access-Control-Allow-Origin" here - that is a RESPONSE-only
|
|
231
|
+
* header. Sending it as a request header forces a CORS preflight on every
|
|
232
|
+
* cross-origin call (self-hosted setups where the API is on a different
|
|
233
|
+
* origin), doubling the request count for zero benefit.
|
|
234
|
+
*/
|
|
229
235
|
const defaultHeaders: Headers = {
|
|
230
|
-
"Access-Control-Allow-Origin": "*",
|
|
231
236
|
Accept: "application/json",
|
|
232
237
|
"Content-Type": "application/json;charset=UTF-8",
|
|
233
238
|
};
|
|
@@ -538,6 +538,20 @@ __decorate([
|
|
|
538
538
|
}),
|
|
539
539
|
TableColumn({
|
|
540
540
|
type: TableColumnType.ObjectID,
|
|
541
|
+
/*
|
|
542
|
+
* Read through a relation, alongside `name`, so a joined schedule row can
|
|
543
|
+
* say whether it would page anybody right now. An escalation rule lists
|
|
544
|
+
* schedules by name and has to mark the ones that are currently uncovered;
|
|
545
|
+
* that is one join away from the rule, and without this flag
|
|
546
|
+
* QueryPermission rejects the whole select rather than dropping the column
|
|
547
|
+
* - the escalation rule page fails to load at all.
|
|
548
|
+
*
|
|
549
|
+
* The disclosure is a user id belonging to the same project as the
|
|
550
|
+
* schedule, to a caller who is already reading the schedule's name off the
|
|
551
|
+
* same joined row. It is not an @OwnerOnlyColumn: who is on call is
|
|
552
|
+
* operational state the team is meant to see, not a personal credential.
|
|
553
|
+
*/
|
|
554
|
+
canReadOnRelationQuery: true,
|
|
541
555
|
title: "Current User ID On Roster",
|
|
542
556
|
description: "User ID who is currently on roster",
|
|
543
557
|
example: "c3d4e5f6-a7b8-9012-cdef-123456789012",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnCallDutyPolicySchedule.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/OnCallDutyPolicySchedule.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OnCallDutyPolicySchedule.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/OnCallDutyPolicySchedule.ts"],"names":[],"mappings":"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"}
|