@oneuptime/common 12.0.3 → 12.0.4

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 (173) hide show
  1. package/Models/DatabaseModels/CephCluster.ts +14 -0
  2. package/Models/DatabaseModels/CodeRepository.ts +14 -6
  3. package/Models/DatabaseModels/DockerHost.ts +14 -0
  4. package/Models/DatabaseModels/GlobalOidcProject.ts +18 -0
  5. package/Models/DatabaseModels/GlobalSsoProject.ts +18 -0
  6. package/Models/DatabaseModels/IoTFleet.ts +14 -0
  7. package/Models/DatabaseModels/KubernetesCluster.ts +14 -0
  8. package/Models/DatabaseModels/NetworkDevice.ts +14 -0
  9. package/Models/DatabaseModels/NetworkInterface.ts +18 -0
  10. package/Models/DatabaseModels/Project.ts +16 -2
  11. package/Models/DatabaseModels/ProxmoxCluster.ts +14 -0
  12. package/Models/DatabaseModels/Service.ts +30 -0
  13. package/Models/DatabaseModels/StatusPagePrivateUser.ts +30 -0
  14. package/Models/DatabaseModels/User.ts +30 -0
  15. package/Server/API/AIAgentDataAPI.ts +31 -0
  16. package/Server/API/DashboardAPI.ts +419 -12
  17. package/Server/API/GitHubAPI.ts +119 -283
  18. package/Server/API/UserAPI.ts +263 -1
  19. package/Server/EnvironmentConfig.ts +7 -3
  20. package/Server/Infrastructure/GlobalCache.ts +37 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.ts +21 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.ts +68 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +100 -0
  24. package/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.ts +214 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.ts +69 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  27. package/Server/Services/AnalyticsDatabaseService.ts +72 -1
  28. package/Server/Services/CodeRepositoryService.ts +105 -2
  29. package/Server/Services/DatabaseService.ts +185 -2
  30. package/Server/Services/OpenTelemetryIngestService.ts +230 -26
  31. package/Server/Services/UserService.ts +184 -0
  32. package/Server/Utils/AI/Toolbox/CodeTools.ts +45 -4
  33. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +13 -0
  34. package/Server/Utils/CodeRepository/GitHub/GitHub.ts +157 -4
  35. package/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.ts +130 -0
  36. package/Server/Utils/PasswordHash.ts +306 -0
  37. package/Tests/App/Dashboard/OverviewCustomFields.test.tsx +333 -0
  38. package/Tests/App/Dashboard/UserCustomFields.test.tsx +392 -0
  39. package/Tests/Server/API/AIAgentDataRepositoryToken.test.ts +381 -0
  40. package/Tests/Server/API/DashboardPublicAttributeValuesAPI.test.ts +943 -0
  41. package/Tests/Server/API/DashboardPublicMetricsAggregateAPI.test.ts +1296 -0
  42. package/Tests/Server/API/DashboardPublicTemplatePayloads.test.ts +598 -0
  43. package/Tests/Server/API/GitHubAppInstallationBindingAPI.test.ts +539 -0
  44. package/Tests/Server/API/Helpers.ts +6 -1
  45. package/Tests/Server/API/UserProjectsAPI.test.ts +852 -0
  46. package/Tests/Server/Infrastructure/GlobalCache.test.ts +128 -0
  47. package/Tests/Server/Infrastructure/SemaphoreMutex.test.ts +215 -0
  48. package/Tests/Server/Services/AddPerUserPasswordSaltMigration.test.ts +178 -0
  49. package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +582 -0
  50. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +5 -0
  51. package/Tests/Server/Services/CodeRepositoryInstallationBinding.test.ts +305 -0
  52. package/Tests/Server/Services/CodeRepositoryResolutionBinding.test.ts +147 -0
  53. package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +870 -0
  54. package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +568 -0
  55. package/Tests/Server/Services/RestoreDroppedUniqueIndexesMigration.test.ts +386 -0
  56. package/Tests/Server/Services/RestoreServiceLowerNameIndexMigration.test.ts +240 -0
  57. package/Tests/Server/Services/UserServiceFirstMasterAdminElection.test.ts +885 -0
  58. package/Tests/Server/Services/WidenHashedStringColumnsForScryptMigration.test.ts +220 -0
  59. package/Tests/Server/Utils/AI/CodeTools.test.ts +47 -1
  60. package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +10 -0
  61. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +120 -0
  62. package/Tests/Server/Utils/CodeRepository/GitHubInstallationBinding.test.ts +292 -0
  63. package/Tests/Server/Utils/GitHubInstallationOwnershipVerification.test.ts +340 -0
  64. package/Tests/Server/Utils/GitHubWebhookAndTreeCacheIsolation.test.ts +250 -0
  65. package/Tests/Server/Utils/PasswordHash.test.ts +555 -0
  66. package/Tests/Types/Database/ColumnLength.test.ts +7 -1
  67. package/Tests/Types/HashedStringPerUserSalt.test.ts +476 -0
  68. package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +293 -0
  69. package/Tests/Types/Monitor/HostAlertTemplates.test.ts +249 -0
  70. package/Tests/Types/Monitor/IotAlertTemplates.test.ts +320 -0
  71. package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +271 -0
  72. package/Tests/UI/Components/CustomFields/CustomFieldsDetail.test.tsx +696 -0
  73. package/Tests/UI/Utils/UserProjectsModelAPI.test.ts +714 -0
  74. package/Tests/Utils/TeamMembersByProject.test.ts +655 -0
  75. package/Types/Database/ColumnLength.ts +9 -1
  76. package/Types/Database/TableColumn.ts +11 -0
  77. package/Types/Database/UnsynchronizedIndex.ts +48 -0
  78. package/Types/HashedString.ts +139 -4
  79. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +85 -11
  80. package/UI/Components/Navbar/NavBar.tsx +12 -2
  81. package/UI/Components/Navbar/NavBarMenuModal.tsx +19 -7
  82. package/UI/Utils/ModelAPI/UserProjectsModelAPI.ts +257 -0
  83. package/Utils/TeamMembersByProject.ts +237 -0
  84. package/build/dist/Models/DatabaseModels/CephCluster.js +16 -1
  85. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
  86. package/build/dist/Models/DatabaseModels/CodeRepository.js +14 -6
  87. package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
  88. package/build/dist/Models/DatabaseModels/DockerHost.js +16 -1
  89. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  90. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +16 -1
  91. package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
  92. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +16 -1
  93. package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
  94. package/build/dist/Models/DatabaseModels/IoTFleet.js +16 -1
  95. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
  96. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +16 -1
  97. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  98. package/build/dist/Models/DatabaseModels/NetworkDevice.js +16 -1
  99. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  100. package/build/dist/Models/DatabaseModels/NetworkInterface.js +16 -1
  101. package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
  102. package/build/dist/Models/DatabaseModels/Project.js +16 -2
  103. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  104. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +16 -1
  105. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
  106. package/build/dist/Models/DatabaseModels/Service.js +28 -1
  107. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  108. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +32 -0
  109. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
  110. package/build/dist/Models/DatabaseModels/User.js +32 -0
  111. package/build/dist/Models/DatabaseModels/User.js.map +1 -1
  112. package/build/dist/Server/API/AIAgentDataAPI.js +21 -2
  113. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  114. package/build/dist/Server/API/DashboardAPI.js +304 -10
  115. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  116. package/build/dist/Server/API/GitHubAPI.js +94 -167
  117. package/build/dist/Server/API/GitHubAPI.js.map +1 -1
  118. package/build/dist/Server/API/UserAPI.js +187 -2
  119. package/build/dist/Server/API/UserAPI.js.map +1 -1
  120. package/build/dist/Server/EnvironmentConfig.js +7 -3
  121. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  122. package/build/dist/Server/Infrastructure/GlobalCache.js +29 -0
  123. package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
  124. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js +14 -0
  125. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js.map +1 -0
  126. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js +59 -0
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js.map +1 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js +93 -0
  129. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js.map +1 -0
  130. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js +101 -0
  131. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js.map +1 -0
  132. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js +66 -0
  133. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js.map +1 -0
  134. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  135. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  136. package/build/dist/Server/Services/AnalyticsDatabaseService.js +57 -1
  137. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  138. package/build/dist/Server/Services/CodeRepositoryService.js +90 -2
  139. package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -1
  140. package/build/dist/Server/Services/DatabaseService.js +160 -2
  141. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  142. package/build/dist/Server/Services/OpenTelemetryIngestService.js +155 -25
  143. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  144. package/build/dist/Server/Services/UserService.js +165 -0
  145. package/build/dist/Server/Services/UserService.js.map +1 -1
  146. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js +31 -1
  147. package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js.map +1 -1
  148. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +13 -0
  149. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  150. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +126 -4
  151. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
  152. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js +136 -0
  153. package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js.map +1 -0
  154. package/build/dist/Server/Utils/PasswordHash.js +237 -0
  155. package/build/dist/Server/Utils/PasswordHash.js.map +1 -0
  156. package/build/dist/Types/Database/ColumnLength.js +9 -1
  157. package/build/dist/Types/Database/ColumnLength.js.map +1 -1
  158. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  159. package/build/dist/Types/Database/UnsynchronizedIndex.js +46 -0
  160. package/build/dist/Types/Database/UnsynchronizedIndex.js.map +1 -0
  161. package/build/dist/Types/HashedString.js +95 -5
  162. package/build/dist/Types/HashedString.js.map +1 -1
  163. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +51 -10
  164. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  165. package/build/dist/UI/Components/Navbar/NavBar.js +3 -1
  166. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  167. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +19 -7
  168. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  169. package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js +156 -0
  170. package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js.map +1 -0
  171. package/build/dist/Utils/TeamMembersByProject.js +145 -0
  172. package/build/dist/Utils/TeamMembersByProject.js.map +1 -0
  173. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AIAgentDataAPI.js","sourceRoot":"","sources":["../../../../Server/API/AIAgentDataAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIAgentDataAPI.js","sourceRoot":"","sources":["../../../../Server/API/AIAgentDataAPI.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,7 @@ import NetworkSiteService from "../Services/NetworkSiteService";
51
51
  import SpanService from "../Services/SpanService";
52
52
  import LogService from "../Services/LogService";
53
53
  import DashboardComponentType from "../../Types/Dashboard/DashboardComponentType";
54
+ import { DashboardVariableType } from "../../Types/Dashboard/DashboardVariable";
54
55
  import Includes from "../../Types/BaseDatabase/Includes";
55
56
  const DEFAULT_DASHBOARD_RESOURCE_LIMIT = 100;
56
57
  const PUBLIC_DASHBOARD_RESOURCES = {
@@ -816,6 +817,14 @@ export default class DashboardAPI extends BaseAPI {
816
817
  * the behaviour here scoped to the dashboard's owning projectId.
817
818
  * Authorization reuses DashboardService.hasReadAccess (public flag, IP
818
819
  * whitelist, master password) — never falls back to project-wide read.
820
+ *
821
+ * The requested attribute key is additionally allowlisted against the
822
+ * keys this dashboard's own variables bind to. Project scoping alone is
823
+ * not enough here: the underlying query is a SELECT DISTINCT over the
824
+ * attribute map of every log, span, metric and exception in the project,
825
+ * so an unrestricted key would let anyone holding a public dashboard id
826
+ * read `user.email`, `db.statement`, `http.url`, ... out of telemetry the
827
+ * dashboard never renders (GHSA-w332-x78m-vf3v).
819
828
  */
820
829
  this.router.post(`${(_f = new this.entityType()
821
830
  .getCrudApiPath()) === null || _f === void 0 ? void 0 : _f.toString()}/attribute-values/:dashboardId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
@@ -829,8 +838,10 @@ export default class DashboardAPI extends BaseAPI {
829
838
  throw (accessResult.error ||
830
839
  new BadDataException("Access denied to this dashboard."));
831
840
  }
832
- const attributeKey = req.body && req.body["attributeKey"];
833
- if (!attributeKey || !attributeKey.trim()) {
841
+ const attributeKey = req.body
842
+ ? req.body["attributeKey"]
843
+ : undefined;
844
+ if (typeof attributeKey !== "string" || !attributeKey.trim()) {
834
845
  throw new BadDataException("attributeKey is required.");
835
846
  }
836
847
  const telemetryTypeRaw = req.body && req.body["telemetryType"];
@@ -848,6 +859,7 @@ export default class DashboardAPI extends BaseAPI {
848
859
  select: {
849
860
  _id: true,
850
861
  projectId: true,
862
+ dashboardViewConfig: true,
851
863
  },
852
864
  props: {
853
865
  isRoot: true,
@@ -856,10 +868,23 @@ export default class DashboardAPI extends BaseAPI {
856
868
  if (!dashboard || !dashboard.projectId) {
857
869
  throw new NotFoundException("Dashboard not found");
858
870
  }
871
+ /*
872
+ * Only the attribute keys this dashboard's own variable dropdowns
873
+ * offer may be read. Variable interpolation only ever substitutes
874
+ * a variable's VALUE into a widget filter — never its key — so the
875
+ * stored view config is an exact allowlist. A dashboard with no
876
+ * telemetry-attribute variables has nothing to look up and is
877
+ * refused outright.
878
+ */
879
+ const requestedAttributeKey = attributeKey.trim();
880
+ const allowedAttributeKeys = DashboardAPI.collectDashboardVariableAttributeKeys(dashboard.dashboardViewConfig);
881
+ if (!allowedAttributeKeys.has(requestedAttributeKey)) {
882
+ throw new BadDataException("This attribute is not part of this dashboard.");
883
+ }
859
884
  const values = await TelemetryAttributeService.fetchAttributeValues({
860
885
  projectId: dashboard.projectId,
861
886
  telemetryType,
862
- attributeKey: attributeKey.trim(),
887
+ attributeKey: requestedAttributeKey,
863
888
  });
864
889
  return Response.sendJsonObjectResponse(req, res, {
865
890
  values,
@@ -1006,19 +1031,120 @@ export default class DashboardAPI extends BaseAPI {
1006
1031
  * name, so the stored view config is an exact allowlist.
1007
1032
  */
1008
1033
  const allowedMetricNames = DashboardAPI.collectDashboardMetricNames(dashboard.dashboardViewConfig);
1009
- const requestedMetricName = aggregateBy.query
1010
- ? aggregateBy.query["name"]
1011
- : undefined;
1034
+ /*
1035
+ * Read the query through an OWN-properties copy. JSON.parse turns a
1036
+ * literal "__proto__" member into a real own key and
1037
+ * JSONFunctions.deserialize copies it with `newVal[key] = ...`,
1038
+ * which fires Object.prototype's __proto__ setter — so a plain
1039
+ * `query["name"]` lookup walks the prototype chain and sees a name
1040
+ * that a later own-properties spread would silently drop, leaving
1041
+ * the aggregation with no metric predicate at all. The check and
1042
+ * the object that reaches the database must read the same keys.
1043
+ */
1044
+ const requestedQuery = aggregateBy.query &&
1045
+ typeof aggregateBy.query === "object" &&
1046
+ !Array.isArray(aggregateBy.query)
1047
+ ? Object.assign({}, aggregateBy.query) : {};
1048
+ const requestedMetricName = requestedQuery["name"];
1012
1049
  if (typeof requestedMetricName !== "string" ||
1013
1050
  !allowedMetricNames.has(requestedMetricName)) {
1014
1051
  throw new BadDataException("This metric is not part of this dashboard.");
1015
1052
  }
1016
1053
  /*
1017
- * Security: never trust a client-supplied projectId on a public,
1018
- * unauthenticated endpoint. Pin the aggregation to the dashboard's
1019
- * project before it reaches the database service.
1054
+ * Pinning the metric name is not enough on its own: a grouped
1055
+ * aggregation echoes each group's key back in the result rows, so
1056
+ * `groupByAttributeKeys: ["enduser.id"]` or the blunter
1057
+ * `groupBy: { attributes: true }`, which returns the WHOLE
1058
+ * attribute map — turns an allowlisted metric into a reader for
1059
+ * attribute values the widget never renders. Both grouping
1060
+ * dimensions are therefore allowlisted against the stored view
1061
+ * config as well; interpolation never rewrites either of them.
1062
+ */
1063
+ const allowedGroupByAttributeKeys = DashboardAPI.collectDashboardGroupByAttributeKeys(dashboard.dashboardViewConfig);
1064
+ const requestedGroupByAttributeKeys = aggregateBy.groupByAttributeKeys;
1065
+ /*
1066
+ * `null` means "not grouped" here: JSONFunctions.serialize drops
1067
+ * undefined but preserves null, and both downstream sinks already
1068
+ * treat a null grouping as absent.
1020
1069
  */
1021
- aggregateBy.query = Object.assign(Object.assign({}, (aggregateBy.query || {})), { projectId: dashboard.projectId });
1070
+ if (requestedGroupByAttributeKeys !== undefined &&
1071
+ requestedGroupByAttributeKeys !== null) {
1072
+ if (!Array.isArray(requestedGroupByAttributeKeys)) {
1073
+ throw new BadDataException("groupByAttributeKeys must be an array of attribute keys.");
1074
+ }
1075
+ for (const requestedKey of requestedGroupByAttributeKeys) {
1076
+ if (typeof requestedKey !== "string" ||
1077
+ !allowedGroupByAttributeKeys.has(requestedKey)) {
1078
+ throw new BadDataException("This attribute is not part of this dashboard.");
1079
+ }
1080
+ }
1081
+ }
1082
+ const allowedGroupByColumns = DashboardAPI.collectDashboardGroupByColumns(dashboard.dashboardViewConfig);
1083
+ const requestedGroupBy = aggregateBy.groupBy;
1084
+ if (requestedGroupBy !== undefined && requestedGroupBy !== null) {
1085
+ if (typeof requestedGroupBy !== "object" ||
1086
+ Array.isArray(requestedGroupBy)) {
1087
+ throw new BadDataException("groupBy must be an object.");
1088
+ }
1089
+ for (const requestedColumn of Object.keys(requestedGroupBy)) {
1090
+ if (!allowedGroupByColumns.has(requestedColumn)) {
1091
+ throw new BadDataException("This grouping is not part of this dashboard.");
1092
+ }
1093
+ }
1094
+ /*
1095
+ * Hand the SQL builder the same keys this guard validated. The
1096
+ * guard reads Object.keys but the GROUP BY builder walks the
1097
+ * object with for...in, so an inherited key would otherwise
1098
+ * reach the query without ever being checked.
1099
+ */
1100
+ aggregateBy.groupBy = Object.assign({}, requestedGroupBy);
1101
+ }
1102
+ /*
1103
+ * The client never chooses what is aggregated over what: every
1104
+ * widget aggregates `value` over `time`. Left open, an anonymous
1105
+ * caller could aggregate `attributes` instead — `max(attributes)`
1106
+ * returns the whole map and the row mapper passes non-numeric
1107
+ * aggregates through untouched, handing back a full attribute map
1108
+ * per time bucket.
1109
+ */
1110
+ if (aggregateBy.aggregateColumnName !== "value") {
1111
+ throw new BadDataException("Invalid aggregateColumnName.");
1112
+ }
1113
+ if (aggregateBy.aggregationTimestampColumnName !== "time") {
1114
+ throw new BadDataException("Invalid aggregationTimestampColumnName.");
1115
+ }
1116
+ // Never let an anonymous caller choose an unbounded page.
1117
+ aggregateBy.limit = Math.min(Math.max(Number(aggregateBy.limit) || LIMIT_PER_PROJECT, 1), LIMIT_PER_PROJECT);
1118
+ aggregateBy.skip = Math.max(Number(aggregateBy.skip) || 0, 0);
1119
+ /*
1120
+ * Security: the client does not get to choose what is filtered on a
1121
+ * public, unauthenticated endpoint. Rebuild the query from the
1122
+ * fields the dashboard's own widgets legitimately send — the
1123
+ * allowlisted metric name, the time window, and attribute filters
1124
+ * on keys those widgets already filter by — and pin the project.
1125
+ * Everything else the client sent is dropped rather than merged: a
1126
+ * foreign projectId, a filter on an arbitrary attribute key used as
1127
+ * a blind ILIKE oracle, a key smuggled in on the prototype
1128
+ * (GHSA-w332-x78m-vf3v).
1129
+ */
1130
+ const allowedFilterAttributeKeys = DashboardAPI.collectDashboardFilterAttributeKeys(dashboard.dashboardViewConfig);
1131
+ const sanitizedAttributes = {};
1132
+ const requestedAttributes = requestedQuery["attributes"];
1133
+ if (requestedAttributes &&
1134
+ typeof requestedAttributes === "object" &&
1135
+ !Array.isArray(requestedAttributes)) {
1136
+ for (const requestedAttributeKey of Object.keys(requestedAttributes)) {
1137
+ if (!allowedFilterAttributeKeys.has(requestedAttributeKey)) {
1138
+ throw new BadDataException("This attribute is not part of this dashboard.");
1139
+ }
1140
+ sanitizedAttributes[requestedAttributeKey] = requestedAttributes[requestedAttributeKey];
1141
+ }
1142
+ }
1143
+ aggregateBy.query = Object.assign(Object.assign(Object.assign({ name: requestedMetricName }, (requestedQuery["time"] !== undefined
1144
+ ? { time: requestedQuery["time"] }
1145
+ : {})), (Object.keys(sanitizedAttributes).length > 0
1146
+ ? { attributes: sanitizedAttributes }
1147
+ : {})), { projectId: dashboard.projectId });
1022
1148
  const aggregateResult = await MetricService.aggregateBy(aggregateBy);
1023
1149
  const responseBody = Object.assign({}, aggregateResult);
1024
1150
  return Response.sendJsonObjectResponse(req, res, responseBody);
@@ -1173,6 +1299,174 @@ export default class DashboardAPI extends BaseAPI {
1173
1299
  walk(dashboardViewConfig);
1174
1300
  return metricNames;
1175
1301
  }
1302
+ /*
1303
+ * Walk a stored dashboard view config and collect every OpenTelemetry
1304
+ * attribute key its variables bind to (a `Telemetry Attribute` variable
1305
+ * carries the key its dropdown lists values for). Used as the allowlist
1306
+ * for the public attribute-values endpoint, so an anonymous viewer can
1307
+ * only read the values behind this dashboard's own variable pickers and
1308
+ * not every attribute in the owning project.
1309
+ */
1310
+ static collectDashboardVariableAttributeKeys(dashboardViewConfig) {
1311
+ const attributeKeys = new Set();
1312
+ const walk = (node) => {
1313
+ if (!node || typeof node !== "object") {
1314
+ return;
1315
+ }
1316
+ if (Array.isArray(node)) {
1317
+ for (const item of node) {
1318
+ walk(item);
1319
+ }
1320
+ return;
1321
+ }
1322
+ const obj = node;
1323
+ if (obj["type"] === DashboardVariableType.TelemetryAttribute) {
1324
+ const attributeKey = obj["attributeKey"];
1325
+ if (typeof attributeKey === "string" &&
1326
+ attributeKey.trim().length > 0) {
1327
+ attributeKeys.add(attributeKey.trim());
1328
+ }
1329
+ }
1330
+ for (const key of Object.keys(obj)) {
1331
+ walk(obj[key]);
1332
+ }
1333
+ };
1334
+ walk(dashboardViewConfig);
1335
+ return attributeKeys;
1336
+ }
1337
+ /*
1338
+ * Walk a stored dashboard view config and collect every OpenTelemetry
1339
+ * attribute key its metric widgets group by — `groupByAttributeKeys`
1340
+ * (chart / value / gauge / legacy table queries) and `groupByAttributes`
1341
+ * (the table widget's richer per-key form). Used as the allowlist for the
1342
+ * public metric-aggregate endpoint, whose grouped results echo each
1343
+ * group's key values back to the caller.
1344
+ */
1345
+ static collectDashboardGroupByAttributeKeys(dashboardViewConfig) {
1346
+ const attributeKeys = new Set();
1347
+ const addKey = (value) => {
1348
+ if (typeof value === "string" && value.length > 0) {
1349
+ attributeKeys.add(value);
1350
+ }
1351
+ };
1352
+ const walk = (node) => {
1353
+ if (!node || typeof node !== "object") {
1354
+ return;
1355
+ }
1356
+ if (Array.isArray(node)) {
1357
+ for (const item of node) {
1358
+ walk(item);
1359
+ }
1360
+ return;
1361
+ }
1362
+ const obj = node;
1363
+ const groupByAttributeKeys = obj["groupByAttributeKeys"];
1364
+ if (Array.isArray(groupByAttributeKeys)) {
1365
+ for (const key of groupByAttributeKeys) {
1366
+ addKey(key);
1367
+ }
1368
+ }
1369
+ const groupByAttributes = obj["groupByAttributes"];
1370
+ if (Array.isArray(groupByAttributes)) {
1371
+ for (const groupByAttribute of groupByAttributes) {
1372
+ if (groupByAttribute && typeof groupByAttribute === "object") {
1373
+ addKey(groupByAttribute["key"]);
1374
+ }
1375
+ }
1376
+ }
1377
+ for (const key of Object.keys(obj)) {
1378
+ walk(obj[key]);
1379
+ }
1380
+ };
1381
+ walk(dashboardViewConfig);
1382
+ return attributeKeys;
1383
+ }
1384
+ /*
1385
+ * Attribute keys a public metric aggregation may FILTER on.
1386
+ *
1387
+ * Two sources, and both are needed:
1388
+ *
1389
+ * - Keys the widgets themselves persist — `filterData.attributes` on a
1390
+ * chart/value/gauge query, and the table widget's widget-level
1391
+ * `attributeFilters`.
1392
+ * - Keys the dashboard's `Telemetry Attribute` variables bind to. The
1393
+ * shipped templates store `filterData: { metricName, aggegationType }`
1394
+ * and no attributes at all; the filter on e.g.
1395
+ * `resource.k8s.cluster.name` only appears once the viewer picks a value
1396
+ * and DashboardVariableInterpolation injects it at render time. An
1397
+ * allowlist built from stored filters alone would refuse every real
1398
+ * templated dashboard the moment its variable is used.
1399
+ */
1400
+ static collectDashboardFilterAttributeKeys(dashboardViewConfig) {
1401
+ const attributeKeys = DashboardAPI.collectDashboardVariableAttributeKeys(dashboardViewConfig);
1402
+ const addKeysOf = (value) => {
1403
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
1404
+ return;
1405
+ }
1406
+ for (const key of Object.keys(value)) {
1407
+ if (key.length > 0) {
1408
+ attributeKeys.add(key);
1409
+ }
1410
+ }
1411
+ };
1412
+ const walk = (node) => {
1413
+ if (!node || typeof node !== "object") {
1414
+ return;
1415
+ }
1416
+ if (Array.isArray(node)) {
1417
+ for (const item of node) {
1418
+ walk(item);
1419
+ }
1420
+ return;
1421
+ }
1422
+ const obj = node;
1423
+ const filterData = obj["filterData"];
1424
+ if (filterData && typeof filterData === "object") {
1425
+ addKeysOf(filterData["attributes"]);
1426
+ }
1427
+ addKeysOf(obj["attributeFilters"]);
1428
+ for (const key of Object.keys(obj)) {
1429
+ walk(obj[key]);
1430
+ }
1431
+ };
1432
+ walk(dashboardViewConfig);
1433
+ return attributeKeys;
1434
+ }
1435
+ /*
1436
+ * Walk a stored dashboard view config and collect every model column its
1437
+ * widgets group by. Used as the allowlist for the public metric-aggregate
1438
+ * endpoint: grouping echoes the grouped column back in every result row,
1439
+ * so `groupBy: { attributes: true }` would hand an anonymous viewer the
1440
+ * entire attribute map of an allowlisted metric.
1441
+ */
1442
+ static collectDashboardGroupByColumns(dashboardViewConfig) {
1443
+ const groupByColumns = new Set();
1444
+ const walk = (node) => {
1445
+ if (!node || typeof node !== "object") {
1446
+ return;
1447
+ }
1448
+ if (Array.isArray(node)) {
1449
+ for (const item of node) {
1450
+ walk(item);
1451
+ }
1452
+ return;
1453
+ }
1454
+ const obj = node;
1455
+ const groupBy = obj["groupBy"];
1456
+ if (groupBy && typeof groupBy === "object" && !Array.isArray(groupBy)) {
1457
+ for (const column of Object.keys(groupBy)) {
1458
+ if (groupBy[column]) {
1459
+ groupByColumns.add(column);
1460
+ }
1461
+ }
1462
+ }
1463
+ for (const key of Object.keys(obj)) {
1464
+ walk(obj[key]);
1465
+ }
1466
+ };
1467
+ walk(dashboardViewConfig);
1468
+ return groupByColumns;
1469
+ }
1176
1470
  /*
1177
1471
  * Walk a stored dashboard view config and collect every widget type it
1178
1472
  * renders. Used to build an allowlist for the public resource-list