@oneuptime/common 12.0.34 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/Models/DatabaseModels/GlobalConfig.ts +12 -12
  2. package/Models/DatabaseModels/InventoryItem.ts +44 -1
  3. package/Models/DatabaseModels/NetworkDevice.ts +126 -0
  4. package/Server/EnvironmentConfig.ts +47 -16
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/1791700000000-AddMacAddressToNetworkDevice.ts +25 -0
  6. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  7. package/Server/Infrastructure/Redis.ts +8 -8
  8. package/Server/Infrastructure/Status.ts +10 -4
  9. package/Server/Services/DatabaseService.ts +65 -13
  10. package/Server/Services/InventoryItemService.ts +31 -1
  11. package/Server/Services/MonitorTemplateService.ts +140 -19
  12. package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +349 -41
  13. package/Server/Services/NetworkDeviceDiscoveryScanService.ts +87 -2
  14. package/Server/Services/NetworkDeviceService.ts +69 -0
  15. package/Server/Services/UserNotificationRuleService.ts +76 -25
  16. package/Server/Types/Database/Permissions/ReadPermission.ts +45 -5
  17. package/Server/Types/Database/QueryUtil.ts +56 -0
  18. package/Server/Types/Markdown.ts +93 -1
  19. package/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.ts +82 -17
  20. package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +10 -1
  21. package/Server/Utils/EmailRollup/EmailRollupRenderer.ts +2 -2
  22. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +82 -35
  23. package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +31 -5
  24. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +202 -37
  25. package/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.ts +82 -9
  26. package/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.ts +16 -7
  27. package/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.ts +29 -17
  28. package/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.ts +107 -48
  29. package/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.ts +158 -0
  30. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +27 -0
  31. package/Server/Utils/Telemetry/EntityRegistry.ts +11 -1
  32. package/Server/Utils/Telemetry/TelemetryEntity.ts +83 -9
  33. package/Tests/App/Dashboard/AddNeighborToMonitoringModal.test.tsx +32 -0
  34. package/Tests/App/Dashboard/AdoptedDeviceDrawer.test.tsx +374 -0
  35. package/Tests/App/Dashboard/DashboardLabelVariables.test.tsx +580 -0
  36. package/Tests/App/Dashboard/DashboardMonitorLabelVariable.test.tsx +438 -0
  37. package/Tests/App/Dashboard/DashboardVariableAllContract.test.tsx +5 -2
  38. package/Tests/App/Dashboard/DeviceAttachmentCard.test.tsx +273 -0
  39. package/Tests/App/Dashboard/DiscoveryReviewInventoryRefresh.test.tsx +505 -0
  40. package/Tests/App/Dashboard/EntityDetailPanel.test.tsx +163 -0
  41. package/Tests/App/Dashboard/InfrastructureExplorer.test.tsx +401 -0
  42. package/Tests/App/Dashboard/InfrastructureGraph.test.tsx +232 -0
  43. package/Tests/App/Dashboard/InventoryItems.test.tsx +201 -0
  44. package/Tests/App/Dashboard/InventoryTypeAndStatusFacets.test.tsx +798 -0
  45. package/Tests/App/Dashboard/NetworkTopologyLiveView.test.tsx +320 -0
  46. package/Tests/App/Dashboard/NetworkTopologyToolbar.test.tsx +275 -0
  47. package/Tests/App/Dashboard/OnCallCalendarFeedEmptyState.test.tsx +975 -0
  48. package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +63 -0
  49. package/Tests/App/Dashboard/ServiceMapGraph.test.tsx +626 -0
  50. package/Tests/App/Dashboard/TopologyDataLoading.test.tsx +348 -0
  51. package/Tests/App/Dashboard/TopologyPageNavigation.test.tsx +331 -0
  52. package/Tests/App/Dashboard/UserSettingsEmailPreferences.test.tsx +603 -0
  53. package/Tests/App/Dashboard/UserSettingsNotificationSettings.test.tsx +324 -0
  54. package/Tests/App/PublicDashboard/DashboardVariableSelector.test.tsx +13 -4
  55. package/Tests/App/StatusPage/StatusPageOidcOrigin.test.tsx +223 -0
  56. package/Tests/Models/InventoryItemStatus.test.ts +147 -0
  57. package/Tests/Models/NetworkDeviceMacAddressColumn.test.ts +294 -0
  58. package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +129 -0
  59. package/Tests/Server/EnvironmentConfigValkey.test.ts +227 -0
  60. package/Tests/Server/Infrastructure/Postgres/AddMacAddressToNetworkDeviceMigration.test.ts +365 -0
  61. package/Tests/Server/Infrastructure/Postgres/CustomFieldValueMappingMigration.test.ts +62 -23
  62. package/Tests/Server/Infrastructure/ValkeyDeploymentConfig.test.ts +265 -0
  63. package/Tests/Server/Middleware/HttpMetricsMiddleware.test.ts +382 -0
  64. package/Tests/Server/Middleware/SCIMAuthorization.test.ts +525 -0
  65. package/Tests/Server/Services/DatabaseServiceAggregateBy.test.ts +291 -56
  66. package/Tests/Server/Services/DatabaseServiceSortTiebreaker.test.ts +151 -0
  67. package/Tests/Server/Services/InventoryItemManualCreate.test.ts +105 -0
  68. package/Tests/Server/Services/InventoryItemPromotionGate.test.ts +178 -0
  69. package/Tests/Server/Services/MonitorTemplateServiceCustomFieldSync.test.ts +502 -0
  70. package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +1133 -81
  71. package/Tests/Server/Services/NetworkDeviceDiscoveryScanRegistration.test.ts +520 -0
  72. package/Tests/Server/Services/NetworkDeviceMacAddressNormalization.test.ts +572 -0
  73. package/Tests/Server/Types/Database/InventoryStatusPostgres.test.ts +368 -0
  74. package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +261 -14
  75. package/Tests/Server/Types/Database/QueryUtilIncludesAnyOfGroups.test.ts +169 -0
  76. package/Tests/Server/Types/Database/QueryUtilIncludesAnyOfGroupsPostgres.test.ts +297 -0
  77. package/Tests/Server/Types/Markdown.test.ts +194 -1
  78. package/Tests/Server/Types/Workflow/Components/IncomingWebhookUtils.test.ts +279 -0
  79. package/Tests/Server/Types/Workflow/Components/TextToJson.test.ts +212 -0
  80. package/Tests/Server/Utils/CustomField/CustomFieldMappingRegistry.test.ts +436 -0
  81. package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +214 -0
  82. package/Tests/Server/Utils/EmailRollup/EmailRollupFlushRunnerBehaviour.test.ts +1 -1
  83. package/Tests/Server/Utils/EmailRollup/EmailRollupRenderer.test.ts +10 -3
  84. package/Tests/Server/Utils/EventLoop.test.ts +359 -0
  85. package/Tests/Server/Utils/JsonWebToken.test.ts +30 -0
  86. package/Tests/Server/Utils/Monitor/Criteria/CompareCriteria.test.ts +242 -0
  87. package/Tests/Server/Utils/Monitor/Criteria/CompareCriteriaAggregation.test.ts +13 -7
  88. package/Tests/Server/Utils/Monitor/Criteria/DatabaseMonitorCriteria.test.ts +29 -0
  89. package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.ts +30 -6
  90. package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteriaAnomalyUnits.test.ts +246 -0
  91. package/Tests/Server/Utils/Monitor/MonitorCriteriaEmailEvalLogAgreement.test.ts +280 -0
  92. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +224 -10
  93. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorMetricUnits.test.ts +570 -0
  94. package/Tests/Server/Utils/Monitor/MonitorCriteriaExpectationBuilderUnits.test.ts +30 -5
  95. package/Tests/Server/Utils/Monitor/MonitorCriteriaMessageBuilderUnits.test.ts +68 -21
  96. package/Tests/Server/Utils/Monitor/MonitorCriteriaObservationBuilderUnits.test.ts +36 -19
  97. package/Tests/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.test.ts +573 -0
  98. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +317 -0
  99. package/Tests/Server/Utils/Telemetry/ContextSpanProcessor.test.ts +281 -0
  100. package/Tests/Server/Utils/Telemetry/InventoryDuplicateIdentity.test.ts +316 -0
  101. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +111 -8
  102. package/Tests/Types/Database/IncludesAnyOfGroups.test.ts +106 -0
  103. package/Tests/Types/JSONFunctions.test.ts +40 -0
  104. package/Tests/Types/NetworkAutomation/AutoImportRunMerge.test.ts +235 -0
  105. package/Tests/Types/NetworkAutomation/RuleRunResult.test.ts +66 -0
  106. package/Tests/Types/NetworkAutomation/RuleRunResultDescribe.test.ts +309 -1
  107. package/Tests/Types/Telemetry/InventoryLiveness.test.ts +99 -0
  108. package/Tests/UI/Components/CustomFields/CustomFieldsDetail.test.tsx +160 -0
  109. package/Tests/UI/ReactRouterSingletonBuild.test.ts +133 -0
  110. package/Tests/UI/Rum/ReplayHeader.test.tsx +10 -2
  111. package/Tests/UI/Rum/ReplayPlayerChrome.test.tsx +514 -0
  112. package/Tests/UI/Rum/ReplayTimeFormat.test.ts +94 -0
  113. package/Tests/UI/Rum/ReplayUi.test.tsx +559 -0
  114. package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +5 -0
  115. package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +1 -0
  116. package/Tests/Utils/Dashboard/Components/DashboardMonitorListComponent.test.ts +11 -1
  117. package/Tests/Utils/Dashboard/LabelVariable.test.ts +257 -0
  118. package/Tests/Utils/Dashboard/VariableUrlState.test.ts +144 -14
  119. package/Tests/Utils/MetricUnitUtil.test.ts +81 -0
  120. package/Tests/Utils/Monitor/DeviceMacLearningUtil.test.ts +497 -0
  121. package/Tests/Utils/Monitor/MetricValueFormatter.test.ts +546 -0
  122. package/Tests/Utils/Monitor/MonitorTemplateCustomFieldUtil.test.ts +218 -0
  123. package/Tests/Utils/Monitor/NetworkTopologyEndpointAdoption.test.ts +1755 -0
  124. package/Tests/Utils/NetworkAutomation/AutoImportRunChain.test.ts +320 -0
  125. package/Types/BaseDatabase/IncludesAnyOfGroups.ts +77 -0
  126. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
  127. package/Types/Dashboard/DashboardComponents/DashboardMonitorListComponent.ts +1 -0
  128. package/Types/Dashboard/DashboardVariable.ts +8 -0
  129. package/Types/JSON.ts +4 -0
  130. package/Types/JSONFunctions.ts +16 -0
  131. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +13 -0
  132. package/Types/NetworkAutomation/RuleRunResult.ts +402 -13
  133. package/Types/SerializableObjectDictionary.ts +4 -0
  134. package/Types/Telemetry/InventoryLiveness.ts +56 -0
  135. package/UI/Components/CSVFileUpload/CSVFileUpload.tsx +9 -2
  136. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +46 -21
  137. package/UI/Components/Dashboard/DashboardVariableControl.tsx +285 -0
  138. package/UI/esbuild-config.js +6 -0
  139. package/Utils/Dashboard/Components/DashboardMonitorListComponent.ts +12 -1
  140. package/Utils/Dashboard/LabelVariable.ts +152 -0
  141. package/Utils/Dashboard/VariableUrlState.ts +27 -5
  142. package/Utils/MetricUnitUtil.ts +34 -0
  143. package/Utils/Monitor/DeviceMacLearningUtil.ts +177 -0
  144. package/Utils/Monitor/MetricValueFormatter.ts +342 -0
  145. package/Utils/Monitor/MonitorTemplateCustomFieldUtil.ts +124 -0
  146. package/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.ts +7 -2
  147. package/Utils/Monitor/NetworkTopologyUtil.ts +693 -0
  148. package/Utils/NetworkAutomation/AutoImportRunChain.ts +138 -0
  149. package/build/dist/Models/DatabaseModels/GlobalConfig.js +12 -12
  150. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  151. package/build/dist/Models/DatabaseModels/InventoryItem.js +34 -1
  152. package/build/dist/Models/DatabaseModels/InventoryItem.js.map +1 -1
  153. package/build/dist/Models/DatabaseModels/NetworkDevice.js +128 -0
  154. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  155. package/build/dist/Server/EnvironmentConfig.js +44 -12
  156. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  157. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791700000000-AddMacAddressToNetworkDevice.js +14 -0
  158. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791700000000-AddMacAddressToNetworkDevice.js.map +1 -0
  159. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  160. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  161. package/build/dist/Server/Infrastructure/Redis.js +8 -8
  162. package/build/dist/Server/Infrastructure/Redis.js.map +1 -1
  163. package/build/dist/Server/Infrastructure/Status.js +10 -4
  164. package/build/dist/Server/Infrastructure/Status.js.map +1 -1
  165. package/build/dist/Server/Services/DatabaseService.js +58 -13
  166. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  167. package/build/dist/Server/Services/InventoryItemService.js +28 -1
  168. package/build/dist/Server/Services/InventoryItemService.js.map +1 -1
  169. package/build/dist/Server/Services/MonitorTemplateService.js +116 -17
  170. package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
  171. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +270 -37
  172. package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
  173. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +65 -0
  174. package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -1
  175. package/build/dist/Server/Services/NetworkDeviceService.js +54 -0
  176. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  177. package/build/dist/Server/Services/UserNotificationRuleService.js +60 -25
  178. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  179. package/build/dist/Server/Types/Database/Permissions/ReadPermission.js +29 -4
  180. package/build/dist/Server/Types/Database/Permissions/ReadPermission.js.map +1 -1
  181. package/build/dist/Server/Types/Database/QueryUtil.js +36 -0
  182. package/build/dist/Server/Types/Database/QueryUtil.js.map +1 -1
  183. package/build/dist/Server/Types/Markdown.js +75 -0
  184. package/build/dist/Server/Types/Markdown.js.map +1 -1
  185. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js +53 -18
  186. package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -1
  187. package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +10 -1
  188. package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -1
  189. package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js +2 -2
  190. package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js.map +1 -1
  191. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +58 -35
  192. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  193. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js +29 -5
  194. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js.map +1 -1
  195. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +166 -35
  196. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  197. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js +58 -9
  198. package/build/dist/Server/Utils/Monitor/MonitorCriteriaExpectationBuilder.js.map +1 -1
  199. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js +9 -3
  200. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageBuilder.js.map +1 -1
  201. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js +26 -12
  202. package/build/dist/Server/Utils/Monitor/MonitorCriteriaMessageFormatter.js.map +1 -1
  203. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js +74 -33
  204. package/build/dist/Server/Utils/Monitor/MonitorCriteriaObservationBuilder.js.map +1 -1
  205. package/build/dist/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.js +114 -0
  206. package/build/dist/Server/Utils/Monitor/NetworkDeviceMacLearningUtil.js.map +1 -0
  207. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +25 -0
  208. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  209. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +9 -1
  210. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  211. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +70 -13
  212. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  213. package/build/dist/Types/BaseDatabase/IncludesAnyOfGroups.js +54 -0
  214. package/build/dist/Types/BaseDatabase/IncludesAnyOfGroups.js.map +1 -0
  215. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  216. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  217. package/build/dist/Types/Dashboard/DashboardVariable.js +1 -0
  218. package/build/dist/Types/Dashboard/DashboardVariable.js.map +1 -1
  219. package/build/dist/Types/JSON.js +1 -0
  220. package/build/dist/Types/JSON.js.map +1 -1
  221. package/build/dist/Types/JSONFunctions.js +13 -0
  222. package/build/dist/Types/JSONFunctions.js.map +1 -1
  223. package/build/dist/Types/NetworkAutomation/RuleRunResult.js +291 -6
  224. package/build/dist/Types/NetworkAutomation/RuleRunResult.js.map +1 -1
  225. package/build/dist/Types/SerializableObjectDictionary.js +4 -0
  226. package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
  227. package/build/dist/Types/Telemetry/InventoryLiveness.js +37 -0
  228. package/build/dist/Types/Telemetry/InventoryLiveness.js.map +1 -0
  229. package/build/dist/UI/Components/CSVFileUpload/CSVFileUpload.js +7 -0
  230. package/build/dist/UI/Components/CSVFileUpload/CSVFileUpload.js.map +1 -1
  231. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +9 -2
  232. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  233. package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js +137 -0
  234. package/build/dist/UI/Components/Dashboard/DashboardVariableControl.js.map +1 -0
  235. package/build/dist/Utils/Dashboard/Components/DashboardMonitorListComponent.js +9 -1
  236. package/build/dist/Utils/Dashboard/Components/DashboardMonitorListComponent.js.map +1 -1
  237. package/build/dist/Utils/Dashboard/LabelVariable.js +96 -0
  238. package/build/dist/Utils/Dashboard/LabelVariable.js.map +1 -0
  239. package/build/dist/Utils/Dashboard/VariableUrlState.js +19 -4
  240. package/build/dist/Utils/Dashboard/VariableUrlState.js.map +1 -1
  241. package/build/dist/Utils/MetricUnitUtil.js +26 -0
  242. package/build/dist/Utils/MetricUnitUtil.js.map +1 -1
  243. package/build/dist/Utils/Monitor/DeviceMacLearningUtil.js +112 -0
  244. package/build/dist/Utils/Monitor/DeviceMacLearningUtil.js.map +1 -0
  245. package/build/dist/Utils/Monitor/MetricValueFormatter.js +276 -0
  246. package/build/dist/Utils/Monitor/MetricValueFormatter.js.map +1 -0
  247. package/build/dist/Utils/Monitor/MonitorTemplateCustomFieldUtil.js +101 -0
  248. package/build/dist/Utils/Monitor/MonitorTemplateCustomFieldUtil.js.map +1 -0
  249. package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js +7 -2
  250. package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js.map +1 -1
  251. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +484 -0
  252. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  253. package/build/dist/Utils/NetworkAutomation/AutoImportRunChain.js +59 -0
  254. package/build/dist/Utils/NetworkAutomation/AutoImportRunChain.js.map +1 -0
  255. package/jest.config.json +2 -0
  256. package/package.json +1 -1
  257. package/test-setup.sh +9 -9
  258. package/tsconfig.json +51 -11
  259. package/Tests/App/Dashboard/NotificationEmailPreferences.test.tsx +0 -399
@@ -9,11 +9,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import DatabaseRequestType from "../../BaseDatabase/DatabaseRequestType";
11
11
  import QueryHelper from "../QueryHelper";
12
+ import QueryUtil from "../QueryUtil";
12
13
  import SelectUtil from "../SelectUtil";
13
14
  import BasePermission from "./BasePermission";
14
15
  import TablePermission from "./TablePermission";
15
16
  import DatabaseCommonInteractionPropsUtil, { PermissionType, } from "../../../../Types/BaseDatabase/DatabaseCommonInteractionPropsUtil";
17
+ import BadDataException from "../../../../Types/Exception/BadDataException";
16
18
  import CaptureSpan from "../../../Utils/Telemetry/CaptureSpan";
19
+ import { combineWithPrivacyClause } from "../../../Utils/PrivacyFilterUtil";
20
+ import { FindOperator } from "typeorm";
17
21
  export default class ReadPermission {
18
22
  static async checkReadPermission(modelType, query, select, props) {
19
23
  // Block and base permission checks both add predicates to the query.
@@ -63,11 +67,32 @@ export default class ReadPermission {
63
67
  labelIds = [...labelIds, ...blockPermissionBelongToThisModel.labelIds];
64
68
  }
65
69
  }
66
- // now add these to query
67
70
  const model = new modelType();
68
- query[model.getAccessControlColumn()] = {
69
- _id: QueryHelper.notInOrNull(labelIds),
70
- };
71
+ const accessControlColumn = model.getAccessControlColumn();
72
+ const manyToManyMeta = accessControlColumn
73
+ ? QueryUtil.getManyToManyRelationMetadata(modelType, accessControlColumn)
74
+ : null;
75
+ if (!manyToManyMeta) {
76
+ throw new BadDataException("Cannot apply read label restrictions without access-control relation metadata.");
77
+ }
78
+ const idQuery = QueryUtil.serializeQuery(modelType, {
79
+ _id: query._id,
80
+ });
81
+ const existingIdFilter = idQuery._id;
82
+ if (existingIdFilter !== undefined &&
83
+ typeof existingIdFilter !== "string" &&
84
+ !(existingIdFilter instanceof FindOperator)) {
85
+ throw new BadDataException("Cannot combine read label restrictions with an unsupported ID filter.");
86
+ }
87
+ /*
88
+ * Keep the caller's label selection intact. Blocking labels is a separate
89
+ * condition on the owner: it must have none of the blocked label links.
90
+ * Applying that condition to _id also lets grouped dashboard label filters
91
+ * and existing record selectors reach QueryUtil without being replaced.
92
+ * Serialize the ID condition first because QueryUtil does not descend into
93
+ * the database AND operator to convert application query operators later.
94
+ */
95
+ query._id = combineWithPrivacyClause(existingIdFilter, QueryHelper.noneEntitiesInManyToMany(Object.assign({ values: labelIds }, manyToManyMeta)));
71
96
  return { query };
72
97
  }
73
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReadPermission.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/ReadPermission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReadPermission.js","sourceRoot":"","sources":["../../../../../../Server/Types/Database/Permissions/ReadPermission.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import GreaterThanOrEqual from "../../../Types/BaseDatabase/GreaterThanOrEqual";
14
14
  import InBetween from "../../../Types/BaseDatabase/InBetween";
15
15
  import Includes from "../../../Types/BaseDatabase/Includes";
16
16
  import IncludesAll from "../../../Types/BaseDatabase/IncludesAll";
17
+ import IncludesAnyOfGroups from "../../../Types/BaseDatabase/IncludesAnyOfGroups";
17
18
  import IncludesNone from "../../../Types/BaseDatabase/IncludesNone";
18
19
  import StartsWith from "../../../Types/BaseDatabase/StartsWith";
19
20
  import EndsWith from "../../../Types/BaseDatabase/EndsWith";
@@ -29,6 +30,7 @@ import Search from "../../../Types/BaseDatabase/Search";
29
30
  import MultiSearch from "../../../Types/BaseDatabase/MultiSearch";
30
31
  import TableColumnType from "../../../Types/Database/TableColumnType";
31
32
  import ObjectID from "../../../Types/ObjectID";
33
+ import BadDataException from "../../../Types/Exception/BadDataException";
32
34
  import Typeof from "../../../Types/Typeof";
33
35
  import { And } from "typeorm";
34
36
  import { FindOperator } from "typeorm/find-options/FindOperator";
@@ -41,6 +43,7 @@ export default class QueryUtil {
41
43
  static serializeQuery(modelType, query) {
42
44
  const model = new modelType();
43
45
  query = query;
46
+ const groupedRelationFilters = [];
44
47
  /*
45
48
  * Multi-field text search:
46
49
  * A MultiSearch operator on any key fans out into an ILIKE OR across the
@@ -106,6 +109,20 @@ export default class QueryUtil {
106
109
  }
107
110
  for (const key in query) {
108
111
  const tableColumnMetadata = model.getTableColumnMetadata(key);
112
+ if (query[key] instanceof IncludesAnyOfGroups) {
113
+ if ((tableColumnMetadata === null || tableColumnMetadata === void 0 ? void 0 : tableColumnMetadata.type) !== TableColumnType.EntityArray) {
114
+ throw new BadDataException("IncludesAnyOfGroups requires a many-to-many entity relation.");
115
+ }
116
+ const relation = QueryUtil.getManyToManyRelationMetadata(modelType, key);
117
+ if (!relation) {
118
+ throw new BadDataException("IncludesAnyOfGroups requires available many-to-many relation metadata.");
119
+ }
120
+ for (const group of query[key].groups) {
121
+ groupedRelationFilters.push(QueryHelper.anyOfEntitiesInManyToMany(Object.assign(Object.assign({}, relation), { values: group })));
122
+ }
123
+ delete query[key];
124
+ continue;
125
+ }
109
126
  if (tableColumnMetadata && query[key] === null) {
110
127
  query[key] = QueryHelper.isNull();
111
128
  }
@@ -473,6 +490,25 @@ export default class QueryUtil {
473
490
  }
474
491
  }
475
492
  }
493
+ if (groupedRelationFilters.length > 0) {
494
+ /*
495
+ * Apply these only after scalar operators have been serialized, so an
496
+ * existing id condition survives regardless of the query's key order.
497
+ */
498
+ const existingIdFilter = query._id;
499
+ if (existingIdFilter !== undefined) {
500
+ if (existingIdFilter instanceof FindOperator) {
501
+ groupedRelationFilters.unshift(existingIdFilter);
502
+ }
503
+ else if (typeof existingIdFilter === "string") {
504
+ groupedRelationFilters.unshift(QueryHelper.equalTo(existingIdFilter));
505
+ }
506
+ else {
507
+ throw new BadDataException("IncludesAnyOfGroups cannot combine an unsupported id filter.");
508
+ }
509
+ }
510
+ query._id = And(...groupedRelationFilters);
511
+ }
476
512
  return query;
477
513
  }
478
514
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"QueryUtil.js","sourceRoot":"","sources":["../../../../../Server/Types/Database/QueryUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryUtil.js","sourceRoot":"","sources":["../../../../../Server/Types/Database/QueryUtil.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,14 @@ class Markdown {
92
92
  });
93
93
  return htmlBody;
94
94
  }
95
+ /**
96
+ * Escape the five characters that can break out of HTML text or an
97
+ * attribute value.
98
+ *
99
+ * Public because it is not only marked's business: code that hand-builds
100
+ * an email fragment by string interpolation needs the same escaping, and
101
+ * a second implementation is a second thing to get wrong.
102
+ */
95
103
  static escapeHtml(text) {
96
104
  return text
97
105
  .replace(/&/g, "&")
@@ -100,11 +108,78 @@ class Markdown {
100
108
  .replace(/"/g, """)
101
109
  .replace(/'/g, "'");
102
110
  }
111
+ /*
112
+ * The email renderer.
113
+ *
114
+ * Everything here is an INLINE style, and that is not a preference.
115
+ * MailService compiles the Handlebars template and sends it — there is no
116
+ * CSS inlining step anywhere in the pipeline — and Gmail strips <style>
117
+ * blocks from the document head, so a class name emitted here reaches the
118
+ * reader as nothing at all. That is why the Docs/Blog renderers' Tailwind
119
+ * classes cannot be copied even though the override shape can.
120
+ *
121
+ * Until this existed the renderer was a bare `new Renderer()`. Alert and
122
+ * incident root causes carry a GitHub-flavoured table of breaching
123
+ * samples, and marked emitted it as a naked <table> with no borders, no
124
+ * padding and no alignment: every row ran into the next, which is
125
+ * precisely the part of the email an on-call engineer reads first.
126
+ *
127
+ * Outlook renders through Word, which ignores border-radius, box-shadow
128
+ * and — importantly — overflow, so the scrolling wrapper the Docs and
129
+ * Blog renderers use does not transfer. The table has to FIT instead:
130
+ * the DetailBox card is 472px wide with 28px of padding either side,
131
+ * leaving roughly 416px for a root-cause table that routinely runs to
132
+ * four or more columns. Hence `width:100%` with `table-layout:auto` and
133
+ * `word-break:break-word` on the cells — a long metric name wraps inside
134
+ * its column rather than pushing the table past the body width.
135
+ */
103
136
  static getEmailRenderer() {
104
137
  if (this.emailRenderer !== null) {
105
138
  return this.emailRenderer;
106
139
  }
107
140
  const renderer = new Renderer();
141
+ const cellFont = "font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;font-size:13px;line-height:20px;";
142
+ renderer.table = function (header, body) {
143
+ return (`<table cellpadding="0" cellspacing="0" border="0" width="100%" ` +
144
+ `style="border-collapse:collapse;width:100%;table-layout:auto;` +
145
+ `margin:12px 0;border:1px solid #e2e8f0;">` +
146
+ `<thead>${header}</thead><tbody>${body}</tbody></table>`);
147
+ };
148
+ renderer.tablerow = function (content) {
149
+ return `<tr>${content}</tr>`;
150
+ };
151
+ renderer.tablecell = function (content, flags) {
152
+ const tag = flags.header ? "th" : "td";
153
+ const align = flags.align ? `text-align:${flags.align};` : "";
154
+ /*
155
+ * A header cell gets the tinted band and the heavier bottom rule; a
156
+ * body cell gets a hairline so consecutive rows stay separable. Both
157
+ * keep the same padding so the columns line up.
158
+ */
159
+ const tone = flags.header
160
+ ? "background-color:#f8fafc;color:#475569;font-weight:600;border-bottom:1px solid #cbd5e1;"
161
+ : "color:#1e293b;font-weight:400;border-bottom:1px solid #f1f5f9;";
162
+ return (`<${tag} style="padding:8px 10px;${cellFont}${tone}` +
163
+ `word-break:break-word;${align || "text-align:left;"}">` +
164
+ `${content}</${tag}>`);
165
+ };
166
+ /*
167
+ * The root cause backticks metric names, aliases and timestamps. Left
168
+ * bare they were indistinguishable from the prose around them.
169
+ *
170
+ * `code` arrives ALREADY escaped — marked escapes codespan text before
171
+ * it reaches the renderer — so escaping again here would turn a typed
172
+ * "<img>" into the literal "&lt;img&gt;" on screen rather than the
173
+ * "<img>" the author wrote. (The Docs and BlogValidation renderers do
174
+ * escape a second time; that is a separate defect in those surfaces,
175
+ * not a pattern to copy.)
176
+ */
177
+ renderer.codespan = function (code) {
178
+ return (`<code style="background-color:#f1f5f9;color:#0f172a;` +
179
+ `padding:1px 5px;border-radius:4px;` +
180
+ `font-family:'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;` +
181
+ `font-size:12px;">${code}</code>`);
182
+ };
108
183
  this.emailRenderer = renderer;
109
184
  return renderer;
110
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../Server/Types/Markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../../Server/Types/Markdown.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import PublicDashboardSloWidget from "./PublicDashboardSloWidget";
11
11
  import { queryStringToFilter, } from "../../../Types/Log/LogQueryToFilter";
12
12
  import DashboardModelQueryInterpolation from "../../../Utils/Dashboard/ModelQueryVariableInterpolation";
13
13
  import DashboardVariableInterpolation from "../../../Utils/Dashboard/VariableInterpolation";
14
+ import DashboardLabelVariable from "../../../Utils/Dashboard/LabelVariable";
14
15
  const DEFAULT_LIST_LIMIT = 25;
15
16
  const DEFAULT_TELEMETRY_LIMIT = 50;
16
17
  const DEFAULT_NETWORK_MAP_MAX_SITES = 250;
@@ -114,6 +115,7 @@ export default class PublicDashboardResourceListPolicy {
114
115
  componentType: componentType,
115
116
  argumentsObject,
116
117
  requestedQuery: data.requestedQuery,
118
+ variables,
117
119
  });
118
120
  let query = draft.query;
119
121
  if (draft.attributeToColumn) {
@@ -412,14 +414,14 @@ export default class PublicDashboardResourceListPolicy {
412
414
  }
413
415
  }
414
416
  static buildDraft(data) {
415
- const { componentType, argumentsObject, requestedQuery } = data;
417
+ const { componentType, argumentsObject, requestedQuery, variables } = data;
416
418
  switch (componentType) {
417
419
  case DashboardComponentType.IncidentList:
418
420
  return PublicDashboardResourceListPolicy.buildIncidentPolicy(argumentsObject);
419
421
  case DashboardComponentType.AlertList:
420
422
  return PublicDashboardResourceListPolicy.buildAlertPolicy(argumentsObject);
421
423
  case DashboardComponentType.MonitorList:
422
- return PublicDashboardResourceListPolicy.buildMonitorPolicy(argumentsObject);
424
+ return PublicDashboardResourceListPolicy.buildMonitorPolicy(argumentsObject, variables);
423
425
  case DashboardComponentType.NetworkMap:
424
426
  return PublicDashboardResourceListPolicy.buildNetworkMapPolicy(argumentsObject);
425
427
  case DashboardComponentType.HostList:
@@ -672,7 +674,7 @@ export default class PublicDashboardResourceListPolicy {
672
674
  argumentsObject,
673
675
  });
674
676
  }
675
- static buildMonitorPolicy(argumentsObject) {
677
+ static buildMonitorPolicy(argumentsObject, variables) {
676
678
  const query = {};
677
679
  const statusFilter = PublicDashboardResourceListPolicy.optionalEnum(argumentsObject, "statusFilter", ["operational", "non-operational"]);
678
680
  if (statusFilter === "operational") {
@@ -693,12 +695,14 @@ export default class PublicDashboardResourceListPolicy {
693
695
  argumentsObject,
694
696
  argumentKey: "monitorTypes",
695
697
  });
696
- PublicDashboardResourceListPolicy.addIncludesFromArgument({
697
- query,
698
- queryKey: "labels",
699
- argumentsObject,
700
- argumentKey: "labelIds",
698
+ const labels = DashboardLabelVariable.getFilter({
699
+ labelIds: PublicDashboardResourceListPolicy.optionalStringArray(argumentsObject, "labelIds"),
700
+ labelVariableId: PublicDashboardResourceListPolicy.optionalString(argumentsObject, "labelVariableId", false),
701
+ variables,
701
702
  });
703
+ if (labels) {
704
+ query["labels"] = labels;
705
+ }
702
706
  return PublicDashboardResourceListPolicy.listDraft({
703
707
  resourceType: "monitor",
704
708
  query,
@@ -1176,17 +1180,15 @@ export default class PublicDashboardResourceListPolicy {
1176
1180
  const storedIds = new Set();
1177
1181
  for (const storedValue of storedVariables) {
1178
1182
  const stored = PublicDashboardResourceListPolicy.requireObject(storedValue, "Stored dashboard variable");
1179
- if (stored["type"] !== DashboardVariableType.TelemetryAttribute) {
1183
+ const type = stored["type"];
1184
+ if (type !== DashboardVariableType.TelemetryAttribute &&
1185
+ type !== DashboardVariableType.ProjectLabel) {
1180
1186
  continue;
1181
1187
  }
1182
1188
  const id = stored["id"];
1183
- const attributeKey = stored["attributeKey"];
1184
1189
  if (typeof id !== "string" ||
1185
1190
  id.length === 0 ||
1186
- id.length > MAX_VARIABLE_ID_LENGTH ||
1187
- typeof attributeKey !== "string" ||
1188
- attributeKey.trim().length === 0 ||
1189
- attributeKey.length > MAX_VARIABLE_VALUE_LENGTH) {
1191
+ id.length > MAX_VARIABLE_ID_LENGTH) {
1190
1192
  throw new BadDataException("Stored dashboard variable is malformed.");
1191
1193
  }
1192
1194
  if (storedIds.has(id)) {
@@ -1211,11 +1213,10 @@ export default class PublicDashboardResourceListPolicy {
1211
1213
  const selectedValues = selection === null || selection === void 0 ? void 0 : selection["selectedValues"];
1212
1214
  const name = stored["name"];
1213
1215
  const storedIsMultiSelect = isMultiSelect === true;
1214
- variables.push({
1216
+ const variable = {
1215
1217
  id,
1216
1218
  name: typeof name === "string" ? name : "",
1217
- type: DashboardVariableType.TelemetryAttribute,
1218
- attributeKey: attributeKey.trim(),
1219
+ type,
1219
1220
  isMultiSelect: storedIsMultiSelect,
1220
1221
  defaultValue: typeof defaultValue === "string" ? defaultValue : undefined,
1221
1222
  selectedValue: !storedIsMultiSelect && typeof selectedValue === "string"
@@ -1224,10 +1225,44 @@ export default class PublicDashboardResourceListPolicy {
1224
1225
  selectedValues: storedIsMultiSelect && Array.isArray(selectedValues)
1225
1226
  ? selectedValues
1226
1227
  : undefined,
1227
- });
1228
+ };
1229
+ if (type === DashboardVariableType.ProjectLabel) {
1230
+ variable.labelOptions =
1231
+ PublicDashboardResourceListPolicy.readLabelOptions(stored);
1232
+ }
1233
+ else {
1234
+ const attributeKey = stored["attributeKey"];
1235
+ if (typeof attributeKey !== "string" ||
1236
+ attributeKey.trim().length === 0 ||
1237
+ attributeKey.length > MAX_VARIABLE_VALUE_LENGTH) {
1238
+ throw new BadDataException("Stored dashboard variable is malformed.");
1239
+ }
1240
+ variable.attributeKey = attributeKey.trim();
1241
+ }
1242
+ variables.push(variable);
1228
1243
  }
1229
1244
  return variables;
1230
1245
  }
1246
+ static readLabelOptions(stored) {
1247
+ const value = stored["labelOptions"];
1248
+ if (!Array.isArray(value)) {
1249
+ throw new BadDataException("Stored dashboard label options are malformed.");
1250
+ }
1251
+ return value.map((entry) => {
1252
+ const option = PublicDashboardResourceListPolicy.requireObject(entry, "Stored dashboard label option");
1253
+ const label = option["label"];
1254
+ const labelId = option["value"];
1255
+ if (typeof label !== "string" ||
1256
+ label.length === 0 ||
1257
+ label.length > MAX_VARIABLE_VALUE_LENGTH ||
1258
+ typeof labelId !== "string" ||
1259
+ labelId.length === 0 ||
1260
+ labelId.length > MAX_VARIABLE_VALUE_LENGTH) {
1261
+ throw new BadDataException("Stored dashboard label options are malformed.");
1262
+ }
1263
+ return { label, value: labelId };
1264
+ });
1265
+ }
1231
1266
  static validateRequestedVariableSelections(requestedVariables) {
1232
1267
  const selections = new Map();
1233
1268
  if (requestedVariables === undefined || requestedVariables === null) {