@oneuptime/common 13.0.7 → 13.0.8

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.
Files changed (463) hide show
  1. package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +1 -1
  2. package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +1 -1
  3. package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +1 -1
  4. package/Server/API/AIBillingAPI.ts +1 -0
  5. package/Server/API/AIInsightAPI.ts +1 -4
  6. package/Server/API/AIInvestigationAPI.ts +1 -4
  7. package/Server/API/AIReadinessAPI.ts +4 -5
  8. package/Server/API/AlertAPI.ts +1 -0
  9. package/Server/API/AutoRemediationAPI.ts +1 -4
  10. package/Server/API/BaseAPI.ts +13 -0
  11. package/Server/API/BaseAnalyticsAPI.ts +80 -9
  12. package/Server/API/BillingAPI.ts +2 -0
  13. package/Server/API/BillingInvoiceAPI.ts +1 -0
  14. package/Server/API/BillingPaymentMethodAPI.ts +2 -0
  15. package/Server/API/CodeFixRunAPI.ts +1 -3
  16. package/Server/API/CommonAPI.ts +68 -4
  17. package/Server/API/DashboardAPI.ts +12 -12
  18. package/Server/API/GlobalConfigAPI.ts +17 -0
  19. package/Server/API/IncidentAPI.ts +2 -0
  20. package/Server/API/IncidentEpisodeAPI.ts +1 -0
  21. package/Server/API/NotificationAPI.ts +1 -0
  22. package/Server/API/OnCallCalendarAPI.ts +4 -5
  23. package/Server/API/OnCallDutyPolicyAPI.ts +7 -0
  24. package/Server/API/OnCallReadinessAPI.ts +4 -1
  25. package/Server/API/OnCallScheduleTimelineAPI.ts +731 -0
  26. package/Server/API/ProjectAPI.ts +1 -0
  27. package/Server/API/ScheduledMaintenanceAPI.ts +1 -0
  28. package/Server/API/StatusPageAPI.ts +161 -32
  29. package/Server/API/TeamMemberAPI.ts +3 -0
  30. package/Server/API/UserCallAPI.ts +2 -0
  31. package/Server/API/UserEmailAPI.ts +2 -0
  32. package/Server/API/UserIncomingCallNumberAPI.ts +2 -0
  33. package/Server/API/UserMicrosoftTeamsAPI.ts +1 -0
  34. package/Server/API/UserSlackAPI.ts +1 -0
  35. package/Server/API/UserSmsAPI.ts +2 -0
  36. package/Server/API/UserTotpAuthAPI.ts +1 -0
  37. package/Server/API/UserWebAuthnAPI.ts +2 -0
  38. package/Server/API/UserWebhookAPI.ts +1 -0
  39. package/Server/API/UserWhatsAppAPI.ts +2 -0
  40. package/Server/Middleware/MasterAdminAuthorization.ts +13 -2
  41. package/Server/Middleware/UserAuthorization.ts +79 -5
  42. package/Server/Services/ApiKeyPermissionService.ts +101 -4
  43. package/Server/Services/DatabaseService.ts +245 -0
  44. package/Server/Services/DetectionRuleService.ts +5 -4
  45. package/Server/Services/OnCallDutyPolicyChildService.ts +261 -0
  46. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +2 -2
  47. package/Server/Services/OnCallDutyPolicyEscalationRuleService.ts +2 -2
  48. package/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.ts +2 -2
  49. package/Server/Services/OnCallDutyPolicyEscalationRuleUserService.ts +2 -2
  50. package/Server/Services/PayAsYouGoBillingService.ts +23 -28
  51. package/Server/Services/ProjectService.ts +18 -0
  52. package/Server/Services/RumSessionPinService.ts +274 -22
  53. package/Server/Services/TeamPermissionService.ts +120 -26
  54. package/Server/Services/ThreatIntelFeedService.ts +6 -3
  55. package/Server/Types/Database/Permissions/BasePermission.ts +9 -7
  56. package/Server/Types/Database/Permissions/Index.ts +75 -11
  57. package/Server/Types/Database/Permissions/TablePermission.ts +24 -28
  58. package/Server/Utils/AI/AIChatPrivacyFilter.ts +8 -0
  59. package/Server/Utils/AI/AIRunPrivacyFilter.ts +8 -0
  60. package/Server/Utils/MasterAdminPageAccess.ts +61 -0
  61. package/Server/Utils/Monitor/MonitorAlert.ts +3 -1
  62. package/Server/Utils/Monitor/MonitorIncident.ts +3 -1
  63. package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1 -1
  64. package/Server/Utils/Realtime.ts +163 -45
  65. package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +11 -28
  66. package/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.ts +170 -0
  67. package/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.ts +1 -1
  68. package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.ts +6 -2
  69. package/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.ts +10 -9
  70. package/Tests/App/Dashboard/AffectedResourcesPicker.test.tsx +1059 -0
  71. package/Tests/App/Dashboard/AffectedResourcesPickerEditForm.test.tsx +376 -0
  72. package/Tests/App/Dashboard/AffectedResourcesPickerHiddenTypes.test.tsx +757 -0
  73. package/Tests/App/Dashboard/AffectedResourcesSummaryStep.test.tsx +307 -0
  74. package/Tests/App/Dashboard/ArgumentsFormGroupByUnlistedAttributes.test.tsx +131 -0
  75. package/Tests/App/Dashboard/DashboardHeaderRequests.test.tsx +1 -1
  76. package/Tests/App/Dashboard/DashboardMonitorLabelVariable.test.tsx +9 -1
  77. package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +24 -0
  78. package/Tests/App/Dashboard/DashboardVariableSelector.test.tsx +162 -8
  79. package/Tests/App/Dashboard/EntityFilterDropdownArchivedSlos.test.tsx +105 -6
  80. package/Tests/App/Dashboard/EntityFilterDropdownUnlistedSelection.test.tsx +434 -0
  81. package/Tests/App/Dashboard/EscalationRuleReadiness.test.tsx +276 -1
  82. package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +9 -1
  83. package/Tests/App/Dashboard/PayAsYouGoConsentGate.test.tsx +58 -42
  84. package/Tests/App/Dashboard/PayAsYouGoNotices.test.tsx +42 -5
  85. package/Tests/App/Dashboard/ResourceAuditLogsSideMenus.test.tsx +34 -23
  86. package/Tests/App/Dashboard/ScheduleTimeline.test.tsx +1580 -0
  87. package/Tests/App/Dashboard/ScheduleTimelineAPI.test.ts +280 -0
  88. package/Tests/App/Dashboard/ScheduleTimelineModel.test.ts +673 -0
  89. package/Tests/App/Dashboard/SecurityEventConnectionDiagnostics.test.tsx +95 -68
  90. package/Tests/App/Dashboard/SecurityEventsDetectionRulesPage.test.tsx +86 -3
  91. package/Tests/App/Dashboard/SecurityEventsEmptyState.test.tsx +28 -3
  92. package/Tests/App/Dashboard/SecurityEventsExplorer.test.tsx +761 -0
  93. package/Tests/App/Dashboard/SecurityEventsGuideContent.test.ts +1313 -0
  94. package/Tests/App/Dashboard/SecurityEventsHowItWorksCard.test.tsx +536 -0
  95. package/Tests/App/Dashboard/SecurityEventsNoResults.test.tsx +222 -0
  96. package/Tests/App/Dashboard/SecurityEventsThreatIntelPage.test.tsx +199 -0
  97. package/Tests/App/Dashboard/SecurityEventsVolumeChart.test.tsx +321 -0
  98. package/Tests/App/Dashboard/SloOverviewHero.test.tsx +171 -36
  99. package/Tests/App/Dashboard/SloViewSideMenu.test.tsx +215 -0
  100. package/Tests/App/Dashboard/SloViewSideMenuCounts.test.tsx +40 -3
  101. package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +12 -4
  102. package/Tests/App/PublicDashboard/PublicDashboardWidgetListAuth.test.tsx +623 -0
  103. package/Tests/Models/OnCallCalendarFeedModels.test.ts +23 -1
  104. package/Tests/Server/API/AIChatRouteAuthorization.test.ts +138 -5
  105. package/Tests/Server/API/AIGenerationProjectAIToggle.test.ts +187 -0
  106. package/Tests/Server/API/AIInvestigationAvailabilityAuthorization.test.ts +51 -3
  107. package/Tests/Server/API/AIInvestigationEvidenceAPI.test.ts +55 -2
  108. package/Tests/Server/API/BaseAnalyticsAPIAggregateCache.test.ts +729 -0
  109. package/Tests/Server/API/BillingPayAsYouGoStatus.test.ts +93 -7
  110. package/Tests/Server/API/BillingPaymentMethodAPI.test.ts +36 -3
  111. package/Tests/Server/API/CommonAPIAuthGuard.test.ts +1003 -24
  112. package/Tests/Server/API/DashboardPublicRateLimit.test.ts +6 -3
  113. package/Tests/Server/API/ExpiredSessionAIRoutes.test.ts +708 -0
  114. package/Tests/Server/API/ExpiredSessionCustomRoutes.test.ts +928 -0
  115. package/Tests/Server/API/ExpiredSessionMonitorTemplate.test.ts +319 -0
  116. package/Tests/Server/API/ExpiredSessionOnCallDutyPolicy.test.ts +336 -0
  117. package/Tests/Server/API/ExpiredSessionRouteGuards.test.ts +820 -0
  118. package/Tests/Server/API/GlobalConfigLicense.test.ts +140 -0
  119. package/Tests/Server/API/NotificationChannelVerificationAPI.test.ts +115 -12
  120. package/Tests/Server/API/OnCallCalendarAPI.test.ts +375 -8
  121. package/Tests/Server/API/OnCallReadinessAPI.test.ts +175 -17
  122. package/Tests/Server/API/OnCallScheduleTimelineAPI.test.ts +1513 -0
  123. package/Tests/Server/API/OnCallSetupReminderAPI.test.ts +119 -7
  124. package/Tests/Server/API/ProjectScopedCustomRouteAuth.test.ts +111 -4
  125. package/Tests/Server/API/PublicRouteInvalidAccessToken.test.ts +615 -0
  126. package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +89 -2
  127. package/Tests/Server/API/SessionReplayAPI.test.ts +121 -0
  128. package/Tests/Server/API/StatusPageMasterPasswordRateLimit.test.ts +4 -2
  129. package/Tests/Server/API/StatusPagePostmortemVisibility.test.ts +441 -0
  130. package/Tests/Server/API/StatusPageTestEmailReportAuth.test.ts +664 -0
  131. package/Tests/Server/API/TeamMemberRemoveUserFromProjectAPI.test.ts +7 -0
  132. package/Tests/Server/API/UserIncomingCallNumberApi.test.ts +6 -0
  133. package/Tests/Server/API/UserNotificationSettingAPI.test.ts +65 -4
  134. package/Tests/Server/API/UserProjectsAPI.test.ts +63 -3
  135. package/Tests/Server/API/UserTotpAuthAPI.test.ts +48 -2
  136. package/Tests/Server/API/UserWebAuthnAuthenticationOptionsRoute.test.ts +11 -2
  137. package/Tests/Server/API/UserWebAuthnBackupCodeMinting.test.ts +46 -3
  138. package/Tests/Server/API/UserWebAuthnPasskeyAPI.test.ts +18 -2
  139. package/Tests/Server/API/ZZVerifyChatsAuth.test.ts +24 -7
  140. package/Tests/Server/Middleware/ExpiredSessionUserMiddleware.test.ts +563 -0
  141. package/Tests/Server/Middleware/MasterAdminAuthorization.test.ts +299 -19
  142. package/Tests/Server/Middleware/PublicRouteUserMiddleware.test.ts +453 -0
  143. package/Tests/Server/Services/AIChatPrivacyPin.test.ts +24 -0
  144. package/Tests/Server/Services/ApiKeyPermissionSecurity.test.ts +2 -0
  145. package/Tests/Server/Services/ApiKeyPermissionService.test.ts +3 -3
  146. package/Tests/Server/Services/DatabaseServiceCreateSuppliedId.test.ts +147 -0
  147. package/Tests/Server/Services/DatabaseServiceLoginBeforeHooks.test.ts +1078 -0
  148. package/Tests/Server/Services/DatabaseServiceTenantRelationGuard.test.ts +259 -0
  149. package/Tests/Server/Services/DatabaseServiceWriteOperatorValues.test.ts +147 -0
  150. package/Tests/Server/Services/MonitorPayAsYouGoBilling.test.ts +115 -1
  151. package/Tests/Server/Services/OnCallChildCreateAuthorizationPostgres.test.ts +711 -0
  152. package/Tests/Server/Services/OnCallDutyPolicyChildService.test.ts +733 -0
  153. package/Tests/Server/Services/PayAsYouGoBillingService.test.ts +190 -140
  154. package/Tests/Server/Services/PayAsYouGoStripeRateLimitBudget.test.ts +4 -9
  155. package/Tests/Server/Services/PermissionBlockDeletion.test.ts +780 -0
  156. package/Tests/Server/Services/PermissionBlockDeletionPostgres.test.ts +628 -0
  157. package/Tests/Server/Services/ProjectServiceCreateSubscriptionStarted.test.ts +77 -1
  158. package/Tests/Server/Services/RumSessionPinCreatePermission.test.ts +715 -0
  159. package/Tests/Server/Services/TeamMemberMultiTenantReadPostgres.test.ts +394 -0
  160. package/Tests/Server/Services/TeamPrivilegeEscalation.test.ts +6 -0
  161. package/Tests/Server/Services/TelemetryPayAsYouGoBilling.test.ts +131 -0
  162. package/Tests/Server/Services/UserNotificationRuleAdminGuards.test.ts +13 -2
  163. package/Tests/Server/Types/Database/Permissions/ModelPermissionAnonymousRefusal.test.ts +518 -0
  164. package/Tests/Server/Types/Database/Permissions/MultiTenantPermissions.test.ts +350 -0
  165. package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +282 -25
  166. package/Tests/Server/Types/Database/Permissions/TableLevelBlockPermission.test.ts +459 -0
  167. package/Tests/Server/Utils/AI/AIRunPrivacyFilter.test.ts +101 -9
  168. package/Tests/Server/Utils/AI/ChatAgentHelpers.test.ts +88 -4
  169. package/Tests/Server/Utils/AI/Toolbox/ExceptionTools.test.ts +459 -0
  170. package/Tests/Server/Utils/AI/Toolbox/LogTools.test.ts +794 -0
  171. package/Tests/Server/Utils/AI/Toolbox/RecentChangesTools.test.ts +574 -0
  172. package/Tests/Server/Utils/AI/Toolbox/SecurityEventTools.test.ts +596 -0
  173. package/Tests/Server/Utils/CaptchaRequestAndLogging.test.ts +395 -0
  174. package/Tests/Server/Utils/MasterAdminPageAccess.test.ts +251 -0
  175. package/Tests/Server/Utils/Monitor/MonitorActionTimestamps.test.ts +616 -0
  176. package/Tests/Server/Utils/Realtime.test.ts +502 -0
  177. package/Tests/Server/Utils/SecurityEvent/Connectors/GoogleSecOps/GoogleSecOpsConnectorSeverity.test.ts +216 -0
  178. package/Tests/Server/Utils/SecurityEvent/DetectionRuleEvaluator.test.ts +142 -0
  179. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.test.ts +140 -0
  180. package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepairClickhouseIntegration.test.ts +542 -0
  181. package/Tests/Server/Utils/Telemetry/ChangeEventRow.test.ts +743 -0
  182. package/Tests/Server/Utils/Telemetry/RuntimeMetrics.test.ts +465 -0
  183. package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/Alert.test.ts +202 -0
  184. package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/Incident.test.ts +194 -0
  185. package/Tests/Server/Utils/Workspace/MicrosoftTeams/Messages/ScheduledMaintenance.test.ts +231 -0
  186. package/Tests/Server/Utils/Workspace/Slack/Messages/Alert.test.ts +194 -0
  187. package/Tests/Server/Utils/Workspace/Slack/Messages/AlertEpisode.test.ts +194 -0
  188. package/Tests/Server/Utils/Workspace/Slack/Messages/Incident.test.ts +194 -0
  189. package/Tests/Server/Utils/Workspace/Slack/Messages/IncidentEpisode.test.ts +194 -0
  190. package/Tests/Server/Utils/Workspace/Slack/Messages/ScheduledMaintenance.test.ts +247 -0
  191. package/Tests/Types/AI/AIInsightEvidence.test.ts +206 -0
  192. package/Tests/Types/BaseDatabase/DatabaseCommonInteractionPropsUtilAnonymous.test.ts +144 -0
  193. package/Tests/Types/Call/CallProvider.test.ts +528 -0
  194. package/Tests/Types/Kubernetes/KubernetesCostIngest.test.ts +236 -0
  195. package/Tests/Types/OnCallDutyPolicy/ScheduleTimeline.test.ts +736 -0
  196. package/Tests/Types/OnCallDutyPolicy/ScheduleTimelineLayout.test.ts +996 -0
  197. package/Tests/Types/SecurityEvent/SigmaRule.test.ts +142 -0
  198. package/Tests/Types/Workflow/Components/JSON.test.ts +182 -0
  199. package/Tests/UI/Components/BasicFormDropdownNormalization.test.tsx +116 -1
  200. package/Tests/UI/Components/Dropdown/DropdownAsyncOptions.test.tsx +81 -0
  201. package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +89 -1
  202. package/Tests/UI/Components/EventAttachmentList.test.tsx +174 -0
  203. package/Tests/UI/Components/Forms/BasicFormBurnRateTemplateDefaults.test.tsx +395 -0
  204. package/Tests/UI/Components/Forms/BasicFormCollapsibleSections.test.tsx +286 -0
  205. package/Tests/UI/Components/Forms/FormSummary.test.tsx +128 -0
  206. package/Tests/UI/Components/ModelTable/BaseModelTableQueryChange.test.tsx +365 -0
  207. package/Tests/UI/Components/OpenAuthenticatedUrl.test.ts +358 -0
  208. package/Tests/UI/Components/SessionAwareImage.test.tsx +496 -0
  209. package/Tests/UI/Components/TelemetryHistogramZeroBuckets.test.tsx +190 -0
  210. package/Tests/UI/Components/TooltipInteractive.test.tsx +97 -0
  211. package/Tests/UI/MicrosoftTeams/MicrosoftTeamsChatsCardInstallGuidance.test.tsx +1 -1
  212. package/Tests/UI/Monitor/EvaluationLogListTimestamps.test.tsx +367 -0
  213. package/Tests/UI/Utils/API/BaseAPIRefreshSession.test.ts +1087 -0
  214. package/Tests/UI/Utils/API/DashboardHost.ts +12 -0
  215. package/Tests/UI/Utils/API/FakeAxiosServer.ts +183 -0
  216. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
  217. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
  218. package/Tests/UI/Utils/Cookie.test.ts +440 -0
  219. package/Tests/UI/Utils/ModelAPIRequestClient.test.ts +278 -0
  220. package/Tests/UI/Utils/Navigation.test.ts +33 -0
  221. package/Tests/UI/Utils/PricingPlan.test.ts +295 -0
  222. package/Tests/UI/Utils/Realtime.test.ts +759 -0
  223. package/Tests/UI/Utils/Telemetry/Telemetry.test.ts +500 -0
  224. package/Tests/Utils/APIInstanceDispatch.test.ts +311 -0
  225. package/Tests/Utils/SecurityEvent/GoogleSecOpsAlertNormalizerSeverity.test.ts +565 -0
  226. package/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.ts +40 -0
  227. package/Types/Monitor/MonitorEvaluationSummary.ts +3 -0
  228. package/Types/OnCallDutyPolicy/ScheduleTimeline.ts +507 -0
  229. package/Types/OnCallDutyPolicy/ScheduleTimelineLayout.ts +589 -0
  230. package/Types/Realtime/EventName.ts +11 -0
  231. package/Types/SecurityEvent/DetectionFindingConstants.ts +14 -0
  232. package/Types/SecurityEvent/OcsfSeverity.ts +31 -26
  233. package/Types/SecurityEvent/SigmaRule.ts +51 -0
  234. package/Types/SecurityEvent/ThreatIntelConstants.ts +18 -0
  235. package/UI/Components/AttachmentList/EventAttachmentList.tsx +30 -2
  236. package/UI/Components/Dashboard/DashboardVariableControl.tsx +12 -2
  237. package/UI/Components/Dropdown/Dropdown.tsx +6 -1
  238. package/UI/Components/EditionLabel/EditionLabel.tsx +12 -0
  239. package/UI/Components/EventItem/EventItem.tsx +12 -1
  240. package/UI/Components/Forms/BasicForm.tsx +151 -126
  241. package/UI/Components/Forms/CollapsibleFormSection.tsx +63 -0
  242. package/UI/Components/Forms/Fields/FormField.tsx +10 -4
  243. package/UI/Components/Forms/FormSummary.tsx +7 -0
  244. package/UI/Components/Forms/Types/Field.ts +10 -0
  245. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +2 -1
  246. package/UI/Components/Markdown.tsx/SessionAwareImage.tsx +122 -0
  247. package/UI/Components/ModelTable/BaseModelTable.tsx +34 -5
  248. package/UI/Components/ModelTable/TableView.tsx +1 -1
  249. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +8 -1
  250. package/UI/Components/Tooltip/Tooltip.tsx +8 -1
  251. package/UI/Utils/API/API.ts +173 -12
  252. package/UI/Utils/API/RequestOptions.ts +11 -0
  253. package/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.ts +31 -7
  254. package/UI/Utils/ModelAPI/ModelAPI.ts +30 -9
  255. package/UI/Utils/Navigation.ts +9 -0
  256. package/UI/Utils/OpenAuthenticatedUrl.ts +154 -0
  257. package/UI/Utils/Realtime.ts +176 -30
  258. package/Utils/API.ts +14 -5
  259. package/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.ts +157 -7
  260. package/Utils/SecurityEvent/Sigma/SigmaRuleParser.ts +9 -17
  261. package/Utils/Slo/SloBurnRateTemplate.ts +2 -2
  262. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +1 -1
  263. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -1
  264. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +1 -1
  265. package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -1
  266. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +1 -1
  267. package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -1
  268. package/build/dist/Server/API/AIBillingAPI.js +1 -1
  269. package/build/dist/Server/API/AIBillingAPI.js.map +1 -1
  270. package/build/dist/Server/API/AIInsightAPI.js +1 -4
  271. package/build/dist/Server/API/AIInsightAPI.js.map +1 -1
  272. package/build/dist/Server/API/AIInvestigationAPI.js +1 -4
  273. package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
  274. package/build/dist/Server/API/AIReadinessAPI.js +1 -3
  275. package/build/dist/Server/API/AIReadinessAPI.js.map +1 -1
  276. package/build/dist/Server/API/AlertAPI.js +1 -1
  277. package/build/dist/Server/API/AlertAPI.js.map +1 -1
  278. package/build/dist/Server/API/AutoRemediationAPI.js +1 -4
  279. package/build/dist/Server/API/AutoRemediationAPI.js.map +1 -1
  280. package/build/dist/Server/API/BaseAPI.js +12 -0
  281. package/build/dist/Server/API/BaseAPI.js.map +1 -1
  282. package/build/dist/Server/API/BaseAnalyticsAPI.js +55 -10
  283. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  284. package/build/dist/Server/API/BillingAPI.js +2 -2
  285. package/build/dist/Server/API/BillingAPI.js.map +1 -1
  286. package/build/dist/Server/API/BillingInvoiceAPI.js +1 -1
  287. package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
  288. package/build/dist/Server/API/BillingPaymentMethodAPI.js +2 -2
  289. package/build/dist/Server/API/BillingPaymentMethodAPI.js.map +1 -1
  290. package/build/dist/Server/API/CodeFixRunAPI.js +1 -3
  291. package/build/dist/Server/API/CodeFixRunAPI.js.map +1 -1
  292. package/build/dist/Server/API/CommonAPI.js +50 -5
  293. package/build/dist/Server/API/CommonAPI.js.map +1 -1
  294. package/build/dist/Server/API/DashboardAPI.js +12 -12
  295. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  296. package/build/dist/Server/API/GlobalConfigAPI.js +12 -0
  297. package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
  298. package/build/dist/Server/API/IncidentAPI.js +2 -2
  299. package/build/dist/Server/API/IncidentAPI.js.map +1 -1
  300. package/build/dist/Server/API/IncidentEpisodeAPI.js +1 -1
  301. package/build/dist/Server/API/IncidentEpisodeAPI.js.map +1 -1
  302. package/build/dist/Server/API/NotificationAPI.js +1 -1
  303. package/build/dist/Server/API/NotificationAPI.js.map +1 -1
  304. package/build/dist/Server/API/OnCallCalendarAPI.js +1 -4
  305. package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -1
  306. package/build/dist/Server/API/OnCallDutyPolicyAPI.js +6 -0
  307. package/build/dist/Server/API/OnCallDutyPolicyAPI.js.map +1 -1
  308. package/build/dist/Server/API/OnCallReadinessAPI.js +4 -1
  309. package/build/dist/Server/API/OnCallReadinessAPI.js.map +1 -1
  310. package/build/dist/Server/API/OnCallScheduleTimelineAPI.js +494 -0
  311. package/build/dist/Server/API/OnCallScheduleTimelineAPI.js.map +1 -0
  312. package/build/dist/Server/API/ProjectAPI.js +1 -1
  313. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  314. package/build/dist/Server/API/ScheduledMaintenanceAPI.js +1 -1
  315. package/build/dist/Server/API/ScheduledMaintenanceAPI.js.map +1 -1
  316. package/build/dist/Server/API/StatusPageAPI.js +125 -33
  317. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  318. package/build/dist/Server/API/TeamMemberAPI.js +3 -3
  319. package/build/dist/Server/API/TeamMemberAPI.js.map +1 -1
  320. package/build/dist/Server/API/UserCallAPI.js +2 -2
  321. package/build/dist/Server/API/UserCallAPI.js.map +1 -1
  322. package/build/dist/Server/API/UserEmailAPI.js +2 -2
  323. package/build/dist/Server/API/UserEmailAPI.js.map +1 -1
  324. package/build/dist/Server/API/UserIncomingCallNumberAPI.js +2 -2
  325. package/build/dist/Server/API/UserIncomingCallNumberAPI.js.map +1 -1
  326. package/build/dist/Server/API/UserMicrosoftTeamsAPI.js +1 -1
  327. package/build/dist/Server/API/UserMicrosoftTeamsAPI.js.map +1 -1
  328. package/build/dist/Server/API/UserSlackAPI.js +1 -1
  329. package/build/dist/Server/API/UserSlackAPI.js.map +1 -1
  330. package/build/dist/Server/API/UserSmsAPI.js +2 -2
  331. package/build/dist/Server/API/UserSmsAPI.js.map +1 -1
  332. package/build/dist/Server/API/UserTotpAuthAPI.js +1 -1
  333. package/build/dist/Server/API/UserTotpAuthAPI.js.map +1 -1
  334. package/build/dist/Server/API/UserWebAuthnAPI.js +2 -2
  335. package/build/dist/Server/API/UserWebAuthnAPI.js.map +1 -1
  336. package/build/dist/Server/API/UserWebhookAPI.js +1 -1
  337. package/build/dist/Server/API/UserWebhookAPI.js.map +1 -1
  338. package/build/dist/Server/API/UserWhatsAppAPI.js +2 -2
  339. package/build/dist/Server/API/UserWhatsAppAPI.js.map +1 -1
  340. package/build/dist/Server/Middleware/MasterAdminAuthorization.js +11 -2
  341. package/build/dist/Server/Middleware/MasterAdminAuthorization.js.map +1 -1
  342. package/build/dist/Server/Middleware/UserAuthorization.js +64 -4
  343. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  344. package/build/dist/Server/Services/ApiKeyPermissionService.js +80 -4
  345. package/build/dist/Server/Services/ApiKeyPermissionService.js.map +1 -1
  346. package/build/dist/Server/Services/DatabaseService.js +171 -0
  347. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  348. package/build/dist/Server/Services/DetectionRuleService.js +4 -4
  349. package/build/dist/Server/Services/DetectionRuleService.js.map +1 -1
  350. package/build/dist/Server/Services/OnCallDutyPolicyChildService.js +170 -0
  351. package/build/dist/Server/Services/OnCallDutyPolicyChildService.js.map +1 -0
  352. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +2 -2
  353. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  354. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js +2 -2
  355. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js.map +1 -1
  356. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.js +2 -2
  357. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleTeamService.js.map +1 -1
  358. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js +2 -2
  359. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleUserService.js.map +1 -1
  360. package/build/dist/Server/Services/PayAsYouGoBillingService.js +20 -27
  361. package/build/dist/Server/Services/PayAsYouGoBillingService.js.map +1 -1
  362. package/build/dist/Server/Services/ProjectService.js +17 -0
  363. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  364. package/build/dist/Server/Services/RumSessionPinService.js +180 -16
  365. package/build/dist/Server/Services/RumSessionPinService.js.map +1 -1
  366. package/build/dist/Server/Services/TeamPermissionService.js +89 -27
  367. package/build/dist/Server/Services/TeamPermissionService.js.map +1 -1
  368. package/build/dist/Server/Services/ThreatIntelFeedService.js +5 -4
  369. package/build/dist/Server/Services/ThreatIntelFeedService.js.map +1 -1
  370. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +9 -6
  371. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  372. package/build/dist/Server/Types/Database/Permissions/Index.js +60 -6
  373. package/build/dist/Server/Types/Database/Permissions/Index.js.map +1 -1
  374. package/build/dist/Server/Types/Database/Permissions/TablePermission.js +14 -13
  375. package/build/dist/Server/Types/Database/Permissions/TablePermission.js.map +1 -1
  376. package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js +7 -0
  377. package/build/dist/Server/Utils/AI/AIChatPrivacyFilter.js.map +1 -1
  378. package/build/dist/Server/Utils/AI/AIRunPrivacyFilter.js +7 -0
  379. package/build/dist/Server/Utils/AI/AIRunPrivacyFilter.js.map +1 -1
  380. package/build/dist/Server/Utils/MasterAdminPageAccess.js +39 -0
  381. package/build/dist/Server/Utils/MasterAdminPageAccess.js.map +1 -0
  382. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +3 -1
  383. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  384. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +3 -1
  385. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  386. package/build/dist/Server/Utils/Realtime.js +126 -37
  387. package/build/dist/Server/Utils/Realtime.js.map +1 -1
  388. package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +7 -25
  389. package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js.map +1 -1
  390. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.js +127 -0
  391. package/build/dist/Server/Utils/SecurityEvent/GoogleSecOpsSeverityRepair.js.map +1 -0
  392. package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js +1 -1
  393. package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js.map +1 -1
  394. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js +3 -2
  395. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelFeedPoller.js.map +1 -1
  396. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js +4 -8
  397. package/build/dist/Server/Utils/SecurityEvent/ThreatIntel/ThreatIntelMatcher.js.map +1 -1
  398. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js +31 -1
  399. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js.map +1 -1
  400. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimeline.js +321 -0
  401. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimeline.js.map +1 -0
  402. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimelineLayout.js +372 -0
  403. package/build/dist/Types/OnCallDutyPolicy/ScheduleTimelineLayout.js.map +1 -0
  404. package/build/dist/Types/Realtime/EventName.js +10 -0
  405. package/build/dist/Types/Realtime/EventName.js.map +1 -1
  406. package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js +11 -0
  407. package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js.map +1 -1
  408. package/build/dist/Types/SecurityEvent/OcsfSeverity.js +30 -25
  409. package/build/dist/Types/SecurityEvent/OcsfSeverity.js.map +1 -1
  410. package/build/dist/Types/SecurityEvent/SigmaRule.js +47 -0
  411. package/build/dist/Types/SecurityEvent/SigmaRule.js.map +1 -1
  412. package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js +14 -0
  413. package/build/dist/Types/SecurityEvent/ThreatIntelConstants.js.map +1 -1
  414. package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js +9 -4
  415. package/build/dist/UI/Components/AttachmentList/EventAttachmentList.js.map +1 -1
  416. package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js +10 -2
  417. package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js.map +1 -1
  418. package/build/dist/UI/Components/Dropdown/Dropdown.js +5 -1
  419. package/build/dist/UI/Components/Dropdown/Dropdown.js.map +1 -1
  420. package/build/dist/UI/Components/EditionLabel/EditionLabel.js +11 -0
  421. package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
  422. package/build/dist/UI/Components/EventItem/EventItem.js +2 -2
  423. package/build/dist/UI/Components/EventItem/EventItem.js.map +1 -1
  424. package/build/dist/UI/Components/Forms/BasicForm.js +70 -64
  425. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  426. package/build/dist/UI/Components/Forms/CollapsibleFormSection.js +27 -0
  427. package/build/dist/UI/Components/Forms/CollapsibleFormSection.js.map +1 -0
  428. package/build/dist/UI/Components/Forms/Fields/FormField.js +10 -7
  429. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  430. package/build/dist/UI/Components/Forms/FormSummary.js +7 -0
  431. package/build/dist/UI/Components/Forms/FormSummary.js.map +1 -1
  432. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +2 -1
  433. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  434. package/build/dist/UI/Components/Markdown.tsx/SessionAwareImage.js +84 -0
  435. package/build/dist/UI/Components/Markdown.tsx/SessionAwareImage.js.map +1 -0
  436. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +14 -1
  437. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  438. package/build/dist/UI/Components/ModelTable/TableView.js +1 -1
  439. package/build/dist/UI/Components/ModelTable/TableView.js.map +1 -1
  440. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +8 -1
  441. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  442. package/build/dist/UI/Components/Tooltip/Tooltip.js +2 -1
  443. package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
  444. package/build/dist/UI/Utils/API/API.js +143 -19
  445. package/build/dist/UI/Utils/API/API.js.map +1 -1
  446. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js +21 -7
  447. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js.map +1 -1
  448. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +26 -9
  449. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  450. package/build/dist/UI/Utils/Navigation.js +8 -0
  451. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  452. package/build/dist/UI/Utils/OpenAuthenticatedUrl.js +92 -0
  453. package/build/dist/UI/Utils/OpenAuthenticatedUrl.js.map +1 -0
  454. package/build/dist/UI/Utils/Realtime.js +120 -15
  455. package/build/dist/UI/Utils/Realtime.js.map +1 -1
  456. package/build/dist/Utils/API.js +13 -5
  457. package/build/dist/Utils/API.js.map +1 -1
  458. package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js +123 -6
  459. package/build/dist/Utils/SecurityEvent/GoogleSecOpsAlertNormalizer.js.map +1 -1
  460. package/build/dist/Utils/SecurityEvent/Sigma/SigmaRuleParser.js +4 -18
  461. package/build/dist/Utils/SecurityEvent/Sigma/SigmaRuleParser.js.map +1 -1
  462. package/build/dist/Utils/Slo/SloBurnRateTemplate.js +2 -2
  463. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"UserAuthorization.js","sourceRoot":"","sources":["../../../../Server/Middleware/UserAuthorization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserAuthorization.js","sourceRoot":"","sources":["../../../../Server/Middleware/UserAuthorization.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import QueryHelper from "../Types/Database/QueryHelper";
11
+ import ModelPermission from "../Types/Database/Permissions/Index";
11
12
  import ApiKeyService from "./ApiKeyService";
12
13
  import DatabaseService from "./DatabaseService";
13
14
  import DatabaseCommonInteractionPropsUtil, { PermissionType, } from "../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
14
15
  import PermissionScope from "../../Types/Database/AccessControl/PermissionScope";
15
- import LIMIT_MAX, { LIMIT_PER_PROJECT } from "../../Types/Database/LimitMax";
16
+ import LIMIT_MAX from "../../Types/Database/LimitMax";
16
17
  import BadDataException from "../../Types/Exception/BadDataException";
17
18
  import NotAuthorizedException from "../../Types/Exception/NotAuthorizedException";
18
19
  import Model from "../../Models/DatabaseModels/ApiKeyPermission";
@@ -342,8 +343,20 @@ export class Service extends DatabaseService {
342
343
  * are rare so clearing is cheap.
343
344
  */
344
345
  this.clearCache();
345
- const existingPermissions = await this.findBy({
346
+ updateBy.query = await ModelPermission.checkUpdateQueryPermissions(Model, updateBy.query, updateBy.data, updateBy.props);
347
+ const selectedPermissions = await this.findAllBy({
346
348
  query: updateBy.query,
349
+ select: { _id: true },
350
+ skip: updateBy.skip,
351
+ limit: updateBy.limit,
352
+ props: { isRoot: true },
353
+ });
354
+ const selectedIds = selectedPermissions.map((row) => {
355
+ return row.id;
356
+ });
357
+ // Reload by ID so a label filter cannot hide part of a saved block's scope.
358
+ const existingPermissions = await this.findAllBy({
359
+ query: { _id: QueryHelper.any(selectedIds) },
347
360
  select: {
348
361
  _id: true,
349
362
  labels: true,
@@ -352,8 +365,6 @@ export class Service extends DatabaseService {
352
365
  apiKeyId: true,
353
366
  permission: true,
354
367
  },
355
- limit: LIMIT_PER_PROJECT,
356
- skip: 0,
357
368
  props: {
358
369
  isRoot: true,
359
370
  },
@@ -393,6 +404,15 @@ export class Service extends DatabaseService {
393
404
  throw new BadDataException("Invalid API Key ID for this project");
394
405
  }
395
406
  await this.assertApiKeyBelongsToProject(apiKeyId, projectId);
407
+ // Changing a block's permission or labels can restore its old scope.
408
+ if (existingPermission.isBlockPermission) {
409
+ this.assertCallerCanGrantPermission({
410
+ permission: existingPermission.permission,
411
+ labels: existingPermission.labels,
412
+ projectId,
413
+ props: updateBy.props,
414
+ });
415
+ }
396
416
  this.assertCallerCanGrantPermission({
397
417
  permission,
398
418
  labels: isLabelsUpdateRequested
@@ -456,10 +476,66 @@ export class Service extends DatabaseService {
456
476
  }
457
477
  }
458
478
  }
479
+ updateBy.query = Object.assign(Object.assign({}, updateBy.query), { _id: QueryHelper.any(selectedIds) });
480
+ updateBy.skip = 0;
459
481
  return { updateBy, carryForward: null };
460
482
  }
461
483
  async onBeforeDelete(deleteBy) {
462
484
  this.clearCache();
485
+ if (!deleteBy.props.isRoot && !deleteBy.props.isMasterAdmin) {
486
+ // Hooks run before DatabaseService applies the delete ACL and tenant.
487
+ deleteBy.query = await ModelPermission.checkDeleteQueryPermission(Model, deleteBy.query, deleteBy.props);
488
+ const selectedPermissions = await this.findAllBy({
489
+ query: deleteBy.query,
490
+ select: { _id: true },
491
+ skip: deleteBy.skip,
492
+ limit: deleteBy.limit,
493
+ props: { isRoot: true },
494
+ });
495
+ const selectedIds = selectedPermissions.map((row) => {
496
+ return row.id;
497
+ });
498
+ // A relation filter may select a row, but must not trim its saved labels.
499
+ const permissions = await this.findAllBy({
500
+ query: { _id: QueryHelper.any(selectedIds) },
501
+ select: {
502
+ _id: true,
503
+ projectId: true,
504
+ permission: true,
505
+ labels: { _id: true },
506
+ isBlockPermission: true,
507
+ },
508
+ props: { isRoot: true },
509
+ });
510
+ for (const permission of permissions) {
511
+ /*
512
+ * Revoking an allow cannot expand access. Removing a deny can expose
513
+ * an existing allow, so it requires authority over the entire deny.
514
+ */
515
+ if (permission.isBlockPermission) {
516
+ if (!permission.projectId || !permission.permission) {
517
+ throw new BadDataException("Invalid API Key permission");
518
+ }
519
+ if (!deleteBy.props.tenantId ||
520
+ deleteBy.props.tenantId.toString() !==
521
+ permission.projectId.toString()) {
522
+ throw new BadDataException("Invalid API Key ID for this project");
523
+ }
524
+ this.assertCallerCanGrantPermission({
525
+ permission: permission.permission,
526
+ labels: permission.labels,
527
+ projectId: permission.projectId,
528
+ props: deleteBy.props,
529
+ });
530
+ }
531
+ }
532
+ /*
533
+ * Delete exactly the checked page, even when the query matches more
534
+ * than one batch. The original offset has already been applied.
535
+ */
536
+ deleteBy.query = Object.assign(Object.assign({}, deleteBy.query), { _id: QueryHelper.any(selectedIds) });
537
+ deleteBy.skip = 0;
538
+ }
463
539
  return { deleteBy, carryForward: null };
464
540
  }
465
541
  async onCreateSuccess(_onCreate, createdItem) {
@@ -1 +1 @@
1
- {"version":3,"file":"ApiKeyPermissionService.js","sourceRoot":"","sources":["../../../../Server/Services/ApiKeyPermissionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiKeyPermissionService.js","sourceRoot":"","sources":["../../../../Server/Services/ApiKeyPermissionService.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ import { EncryptionSecret, WorkflowHostname } from "../EnvironmentConfig";
22
22
  import PostgresAppInstance from "../Infrastructure/PostgresDatabase";
23
23
  import ClusterKeyAuthorization from "../Middleware/ClusterKeyAuthorization";
24
24
  import ModelPermission from "../Types/Database/Permissions/Index";
25
+ import PublicPermission from "../Types/Database/Permissions/PublicPermission";
26
+ import DatabaseRequestType from "../Types/BaseDatabase/DatabaseRequestType";
25
27
  import OwnerOnlyColumnPermission from "../Types/Database/Permissions/OwnerOnlyColumnPermission";
26
28
  import QueryHelper from "../Types/Database/QueryHelper";
27
29
  import Encryption from "../Utils/Encryption";
@@ -42,6 +44,7 @@ import { getMaxLengthFromTableColumnType } from "../../Types/Database/ColumnLeng
42
44
  import LIMIT_MAX from "../../Types/Database/LimitMax";
43
45
  import TableColumnType from "../../Types/Database/TableColumnType";
44
46
  import { getUniqueColumnsBy } from "../../Types/Database/UniqueColumnBy";
47
+ import QueryOperator from "../../Types/BaseDatabase/QueryOperator";
45
48
  import OneUptimeDate from "../../Types/Date";
46
49
  import BadDataException from "../../Types/Exception/BadDataException";
47
50
  import DatabaseNotConnectedException from "../../Types/Exception/DatabaseNotConnectedException";
@@ -63,6 +66,7 @@ import Realtime from "../Utils/Realtime";
63
66
  import ModelEventType from "../../Types/Realtime/ModelEventType";
64
67
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
65
68
  import RelationValueUtil from "../Utils/Database/RelationValueUtil";
69
+ import RelationIdUtil from "../Utils/Database/RelationIdUtil";
66
70
  const RULE_CRITERIA_RELATION_OPERATORS = new Set([
67
71
  RuleCriteriaOperator.HasAnyOf,
68
72
  RuleCriteriaOperator.HasAllOf,
@@ -202,6 +206,26 @@ class DatabaseService extends BaseService {
202
206
  }
203
207
  return data;
204
208
  }
209
+ /*
210
+ * The permission layer's login check, run BEFORE the hooks instead of only
211
+ * after them.
212
+ *
213
+ * The hooks run first, and many of them key off props.userId: a missing one
214
+ * reads as "userId is required" (400), "User should be logged in" (422), or,
215
+ * for Project reads, an empty list with a 200. For an anonymous caller that
216
+ * is almost always a dashboard tab whose access-token cookie expired, and
217
+ * only a 401 makes the browser client refresh the session and replay the
218
+ * request. Everything this admits, the permission check would have admitted
219
+ * too (same condition, same exemptions for API keys and public models), so
220
+ * it only changes which refusal an anonymous caller gets, and it keeps hooks
221
+ * with side effects from running for them at all.
222
+ */
223
+ checkIfUserIsLoggedInBeforeHooks(props, type) {
224
+ if (props.isRoot || props.isMasterAdmin) {
225
+ return;
226
+ }
227
+ PublicPermission.checkIfUserIsLoggedIn(this.modelType, props, type);
228
+ }
205
229
  async onBeforeCreate(createBy) {
206
230
  // A place holder method used for overriding.
207
231
  return Promise.resolve({
@@ -240,6 +264,38 @@ class DatabaseService extends BaseService {
240
264
  }
241
265
  }
242
266
  }
267
+ /*
268
+ * Query operators (StartsWith, NotNull, Search, GreaterThan, Includes...)
269
+ * belong in the `query` of a read/update, never in the `data` of a write.
270
+ * They can reach create/update data because JSONFunctions.deserialize - run
271
+ * on every request body while building the model - turns
272
+ * `{"_type":"StartsWith","value":"a"}` into a real operator instance, and
273
+ * DatabaseBaseModel._fromJSON assigns it to an id/text column unchanged.
274
+ *
275
+ * An operator is never a valid stored value, and leaving one on a write
276
+ * payload also feeds it to the lookups built from that data - the uniqueness
277
+ * check here and the findBy/countBy calls in service hooks - where QueryUtil
278
+ * turns the intended exact comparison into a pattern match, quietly matching
279
+ * rows the caller never named. Refuse such a write up front instead. JSON
280
+ * columns are exempt: they legitimately hold arbitrary objects, and their
281
+ * values are not used to build a query.
282
+ */
283
+ rejectQueryOperatorsInData(data) {
284
+ for (const columnName of Object.keys(data)) {
285
+ const value = data[columnName];
286
+ if (!(value instanceof QueryOperator)) {
287
+ continue;
288
+ }
289
+ if (!this.model.isTableColumn(columnName)) {
290
+ continue;
291
+ }
292
+ const metadata = this.model.getTableColumnMetadata(columnName);
293
+ if (metadata && metadata.type === TableColumnType.JSON) {
294
+ continue;
295
+ }
296
+ throw new BadDataException(`Invalid value for ${columnName}. A query operator cannot be used as a value when creating or updating ${this.model.singularName}.`);
297
+ }
298
+ }
243
299
  /*
244
300
  * Rows written before the fix above hold their ciphertext inside that
245
301
  * HashedString envelope. Decrypting the envelope itself is not just wrong
@@ -674,6 +730,78 @@ class DatabaseService extends BaseService {
674
730
  data[safetyPatternField] =
675
731
  RULE_CRITERIA_LEGACY_NEVER_MATCH_PATTERN;
676
732
  }
733
+ /*
734
+ * A tenant model declares its tenant TWICE: a scalar column (e.g.
735
+ * `projectId`) AND a ManyToOne relation (`project`) whose @JoinColumn names
736
+ * that same scalar. Both are separately writable through the public API, and
737
+ * both land on the entity that reaches getRepository().save()/update().
738
+ * TypeORM (metadata/ColumnMetadata.js getEntityValue) resolves the relation
739
+ * object to the join-column value with PRECEDENCE over the scalar, so a
740
+ * request carrying `project: { _id: <another project> }` is persisted under
741
+ * THAT project even though create() has just stamped the scalar to
742
+ * props.tenantId. That is a cross-tenant write of the whole row (reproduced
743
+ * end to end: the generated INSERT binds `projectId` to the relation's id,
744
+ * not the stamped scalar).
745
+ *
746
+ * The stamped scalar is the authoritative tenant for every non-root write,
747
+ * and no `project` relation in the schema legitimately points at a project
748
+ * other than the tenant (every one joins on `projectId`; there is no second,
749
+ * foreign-project reference to preserve). So neutralize the relation
750
+ * spelling: reject a tenant relation that points anywhere other than the
751
+ * request tenant, then delete it so the scalar is the single source of truth
752
+ * and no TypeORM precedence rule between the two can move the row. This is
753
+ * the framework-level generalisation of the per-service fixes already
754
+ * shipped in ApiKeyPermissionService and UserTelegramService.
755
+ *
756
+ * Root / master-admin / internal callers are left untouched — they have no
757
+ * request tenant (props.tenantId is unset) and legitimately set the tenant
758
+ * relation for another project during seeding, migrations and
759
+ * invitation-acceptance. This mirrors the create() scalar stamp, which is
760
+ * likewise gated on props.tenantId.
761
+ */
762
+ enforceTenantRelationMatchesScalar(data, props) {
763
+ if (props.isRoot || props.isMasterAdmin) {
764
+ return;
765
+ }
766
+ const tenantColumn = this.model.getTenantColumn();
767
+ if (!tenantColumn || !props.tenantId) {
768
+ return;
769
+ }
770
+ const tenantRelationProperty = this.getTenantRelationProperty(tenantColumn);
771
+ if (!tenantRelationProperty) {
772
+ /*
773
+ * e.g. Project itself, whose tenant column is its own `_id`, has no such
774
+ * relation; global (non-tenant) models return null from getTenantColumn.
775
+ */
776
+ return;
777
+ }
778
+ const suppliedRelation = data[tenantRelationProperty];
779
+ if (suppliedRelation === undefined) {
780
+ return;
781
+ }
782
+ const relationTenantId = RelationIdUtil.read(data, [tenantRelationProperty]);
783
+ if (relationTenantId &&
784
+ relationTenantId.toString() !== props.tenantId.toString()) {
785
+ throw new BadDataException(`The ${tenantRelationProperty} relation does not belong to this project.`);
786
+ }
787
+ delete data[tenantRelationProperty];
788
+ }
789
+ /*
790
+ * Property name of the ManyToOne relation that shares the tenant scalar
791
+ * column as its join column (`project` for the `projectId` tenant column),
792
+ * or null when the model has no such relation.
793
+ */
794
+ getTenantRelationProperty(tenantColumn) {
795
+ for (const columnName of this.model.getTableColumns().columns) {
796
+ const metadata = this.model.getTableColumnMetadata(columnName);
797
+ if (metadata &&
798
+ metadata.type === TableColumnType.Entity &&
799
+ metadata.manyToOneRelationColumn === tenantColumn) {
800
+ return columnName;
801
+ }
802
+ }
803
+ return null;
804
+ }
677
805
  async sanitizeCreateOrUpdate(data, props, isUpdate = false) {
678
806
  var _a;
679
807
  const criteriaValue = data["criteria"];
@@ -954,6 +1082,24 @@ class DatabaseService extends BaseService {
954
1082
  }
955
1083
  async create(createBy) {
956
1084
  var _a, _b;
1085
+ this.checkIfUserIsLoggedInBeforeHooks(createBy.props, DatabaseRequestType.Create);
1086
+ /*
1087
+ * A non-root create must not pin the row's own primary key. save() treats
1088
+ * an entity carrying an existing id as an update of that row rather than an
1089
+ * insert, so a supplied `_id` turns a create into an in-place modification
1090
+ * of a record the caller never named. BaseAPI.createItem already strips it;
1091
+ * this guards every other non-root caller (custom routes, workflow
1092
+ * components) too. Root/internal seeding legitimately assigns ids and is
1093
+ * exempt. Only the top-level primary key is checked - nested relation
1094
+ * `_id`s reference existing related rows and are fine.
1095
+ */
1096
+ if (!createBy.props.isRoot &&
1097
+ !createBy.props.isMasterAdmin &&
1098
+ createBy.data._id) {
1099
+ throw new BadDataException(`An id cannot be supplied when creating ${this.model.singularName}.`);
1100
+ }
1101
+ // Query operators are for queries, not for write payloads. See the helper.
1102
+ this.rejectQueryOperatorsInData(createBy.data);
957
1103
  this.unwrapHashedStringsForUnhashedColumns(createBy.data);
958
1104
  const onCreate = createBy.props.ignoreHooks
959
1105
  ? { createBy, carryForward: [] }
@@ -967,6 +1113,14 @@ class DatabaseService extends BaseService {
967
1113
  if (tenantColumnName && _createdBy.props.tenantId) {
968
1114
  data.setColumnValue(tenantColumnName, _createdBy.props.tenantId);
969
1115
  }
1116
+ /*
1117
+ * The tenant scalar has just been stamped to the request tenant, but the
1118
+ * matching tenant RELATION object (e.g. `project`) is still whatever the
1119
+ * caller sent, and TypeORM lets that relation override the scalar on the
1120
+ * INSERT. Force the relation to agree with — or be dropped in favour of —
1121
+ * the stamped scalar so a caller cannot write the row into another tenant.
1122
+ */
1123
+ this.enforceTenantRelationMatchesScalar(data, _createdBy.props);
970
1124
  data = this.generateDefaultValues(data);
971
1125
  data = this.checkRequiredFields(data);
972
1126
  await this.checkForUniqueValues(data);
@@ -1601,6 +1755,7 @@ class DatabaseService extends BaseService {
1601
1755
  }
1602
1756
  async hardDeleteBy(deleteBy) {
1603
1757
  try {
1758
+ this.checkIfUserIsLoggedInBeforeHooks(deleteBy.props, DatabaseRequestType.Delete);
1604
1759
  const onDelete = deleteBy.props.ignoreHooks
1605
1760
  ? { deleteBy, carryForward: [] }
1606
1761
  : await this.onBeforeDelete(deleteBy);
@@ -1640,6 +1795,7 @@ class DatabaseService extends BaseService {
1640
1795
  var _a, _b, _c, _d;
1641
1796
  try {
1642
1797
  this.setTelemetryContextFromProps(deleteBy.props);
1798
+ this.checkIfUserIsLoggedInBeforeHooks(deleteBy.props, DatabaseRequestType.Delete);
1643
1799
  if (this.doNotAllowDelete && !deleteBy.props.isRoot) {
1644
1800
  throw new BadDataException("Delete not allowed");
1645
1801
  }
@@ -1800,6 +1956,7 @@ class DatabaseService extends BaseService {
1800
1956
  var _a;
1801
1957
  try {
1802
1958
  this.setTelemetryContextFromProps(findBy.props);
1959
+ this.checkIfUserIsLoggedInBeforeHooks(findBy.props, DatabaseRequestType.Read);
1803
1960
  if (!findBy.sort || Object.keys(findBy.sort).length === 0) {
1804
1961
  findBy.sort = {
1805
1962
  createdAt: SortOrder.Descending,
@@ -2070,7 +2227,21 @@ class DatabaseService extends BaseService {
2070
2227
  var _a, _b, _c, _d, _e;
2071
2228
  try {
2072
2229
  this.setTelemetryContextFromProps(updateBy.props);
2230
+ this.checkIfUserIsLoggedInBeforeHooks(updateBy.props, DatabaseRequestType.Update);
2073
2231
  updateBy.data = this.sanitizeUpdateData(updateBy.data);
2232
+ // Query operators are for queries, not for write payloads. See the helper.
2233
+ this.rejectQueryOperatorsInData(updateBy.data);
2234
+ /*
2235
+ * Defense in depth for the tenant confused-deputy on the update path.
2236
+ * Unlike create(), _updateBy() never re-stamps the tenant scalar, and a
2237
+ * tenant relation object would likewise override the scalar join column
2238
+ * on the UPDATE. Today the tenant columns carry `update: []` so the
2239
+ * column-permission check rejects them first, but that is incidental —
2240
+ * this keeps the row's tenant immutable even if a model ever grants
2241
+ * update on the tenant relation. Runs before the permission check so the
2242
+ * ACL stays a redundant second line rather than the only one.
2243
+ */
2244
+ this.enforceTenantRelationMatchesScalar(updateBy.data, updateBy.props);
2074
2245
  this.unwrapHashedStringsForUnhashedColumns(updateBy.data);
2075
2246
  const onUpdate = updateBy.props.ignoreHooks
2076
2247
  ? { updateBy, carryForward: [] }