@oneuptime/common 11.6.0 → 11.6.2

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 (427) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +41 -24
  2. package/Models/AnalyticsModels/Index.ts +4 -0
  3. package/Models/AnalyticsModels/KubernetesCostAllocation.ts +842 -0
  4. package/Models/AnalyticsModels/MetricBaselineHourly.ts +2 -0
  5. package/Models/AnalyticsModels/MetricItemAggMV1m.ts +5 -2
  6. package/Models/AnalyticsModels/MetricItemAggMV1mByContainer.ts +5 -2
  7. package/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.ts +5 -2
  8. package/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.ts +5 -2
  9. package/Models/AnalyticsModels/MetricItemAggMV1mByService.ts +5 -2
  10. package/Models/AnalyticsModels/NetworkFlow.ts +54 -0
  11. package/Models/AnalyticsModels/SloHistory.ts +240 -0
  12. package/Models/DatabaseModels/Index.ts +20 -0
  13. package/Models/DatabaseModels/NetworkDevice.ts +453 -6
  14. package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +7 -6
  15. package/Models/DatabaseModels/NetworkEndpoint.ts +753 -0
  16. package/Models/DatabaseModels/NetworkSite.ts +1155 -0
  17. package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +517 -0
  18. package/Models/DatabaseModels/NetworkSiteLink.ts +611 -0
  19. package/Models/DatabaseModels/NetworkSiteStatusTimeline.ts +520 -0
  20. package/Models/DatabaseModels/NetworkSiteType.ts +499 -0
  21. package/Models/DatabaseModels/ServiceLevelObjective.ts +1106 -0
  22. package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +762 -0
  23. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +444 -0
  24. package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +443 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.ts +359 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.ts +48 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.ts +65 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.ts +88 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.ts +391 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  31. package/Server/Services/AnalyticsDatabaseService.ts +38 -10
  32. package/Server/Services/Index.ts +24 -0
  33. package/Server/Services/KubernetesCostAllocationService.ts +14 -0
  34. package/Server/Services/MetricService.ts +21 -2
  35. package/Server/Services/MonitorService.ts +22 -0
  36. package/Server/Services/NetworkDeviceService.ts +438 -2
  37. package/Server/Services/NetworkEndpointService.ts +414 -0
  38. package/Server/Services/NetworkSiteAssignmentRuleService.ts +98 -0
  39. package/Server/Services/NetworkSiteLinkService.ts +10 -0
  40. package/Server/Services/NetworkSiteService.ts +1254 -0
  41. package/Server/Services/NetworkSiteStatusTimelineService.ts +10 -0
  42. package/Server/Services/NetworkSiteTypeService.ts +10 -0
  43. package/Server/Services/ProjectService.ts +122 -2
  44. package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +457 -0
  45. package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +10 -0
  46. package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +10 -0
  47. package/Server/Services/ServiceLevelObjectiveService.ts +677 -0
  48. package/Server/Services/SloHistoryService.ts +101 -0
  49. package/Server/Services/UserNotificationSettingService.ts +37 -0
  50. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +9 -0
  51. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +15 -0
  52. package/Server/Utils/AnalyticsDatabase/Statement.ts +39 -3
  53. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +128 -52
  54. package/Server/Utils/Memory.ts +9 -1
  55. package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +190 -12
  56. package/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  57. package/Server/Utils/Monitor/DnsResolutionCache.ts +129 -0
  58. package/Server/Utils/Monitor/MonitorResource.ts +4 -30
  59. package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +214 -39
  60. package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +343 -0
  61. package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +251 -0
  62. package/Server/Utils/Monitor/NetworkInventoryUtil.ts +176 -142
  63. package/Server/Utils/Monitor/OuiLookupUtil.ts +49 -0
  64. package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +17 -13
  65. package/Server/Utils/WhatsAppTemplateUtil.ts +7 -3
  66. package/Tests/Models/AnalyticsModels/AnalyticsBaseModel.test.ts +122 -0
  67. package/Tests/Models/AnalyticsModels/KubernetesCostAllocation.test.ts +135 -0
  68. package/Tests/Models/NetworkSiteHierarchy.test.ts +134 -0
  69. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +239 -0
  70. package/Tests/Server/Services/KubernetesCostAllocationAggregate.test.ts +338 -0
  71. package/Tests/Server/Services/MetricServiceAggregate.test.ts +142 -0
  72. package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +484 -0
  73. package/Tests/Server/Services/NetworkEndpointServiceUpsert.test.ts +686 -0
  74. package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +185 -0
  75. package/Tests/Server/Services/NetworkSiteService.test.ts +1354 -0
  76. package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +1313 -0
  77. package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +1988 -0
  78. package/Tests/Server/Utils/AnalyticsDatabase/ClusterAwareSchema.test.ts +164 -3
  79. package/Tests/Server/Utils/AnalyticsDatabase/Statement.test.ts +22 -0
  80. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +503 -0
  81. package/Tests/Server/Utils/Encryption.test.ts +70 -0
  82. package/Tests/Server/Utils/FileAttachmentMarkdownUtil.test.ts +225 -0
  83. package/Tests/Server/Utils/JsonWebToken.test.ts +175 -0
  84. package/Tests/Server/Utils/LocalFile.test.ts +258 -0
  85. package/Tests/Server/Utils/Memory.test.ts +213 -0
  86. package/Tests/Server/Utils/Monitor/Criteria/LogMonitorCriteria.test.ts +30 -0
  87. package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +385 -0
  88. package/Tests/Server/Utils/Monitor/DnsResolutionCache.test.ts +194 -0
  89. package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +155 -0
  90. package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +600 -0
  91. package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +151 -124
  92. package/Tests/Server/Utils/Monitor/SnmpInterfaceRateUtil.test.ts +496 -0
  93. package/Tests/Server/Utils/MonitorCriteriaDataExtractor.test.ts +175 -0
  94. package/Tests/Server/Utils/MonitorCriteriaMessageFormatter.test.ts +282 -0
  95. package/Tests/Server/Utils/OuiLookupUtil.test.ts +59 -0
  96. package/Tests/Server/Utils/SeriesResourceLabels.test.ts +117 -0
  97. package/Tests/Server/Utils/StackTraceParser.test.ts +370 -0
  98. package/Tests/Server/Utils/Stream.test.ts +87 -0
  99. package/Tests/Server/Utils/ValidateGlobalProviderProjectTeams.test.ts +221 -0
  100. package/Tests/Server/Utils/WhatsAppTemplateUtil.test.ts +199 -0
  101. package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +33 -0
  102. package/Tests/Types/Email.test.ts +198 -0
  103. package/Tests/Types/HashCode.test.ts +41 -0
  104. package/Tests/Types/Kubernetes/KubernetesObjectParser.test.ts +177 -0
  105. package/Tests/Types/Log/LogQueryParser.test.ts +186 -0
  106. package/Tests/Types/Log/LogQueryToFilter.test.ts +111 -0
  107. package/Tests/Types/Monitor/MonitorStepNetworkDeviceMonitor.test.ts +141 -1
  108. package/Tests/Types/Monitor/MonitorType.test.ts +59 -1
  109. package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +97 -0
  110. package/Tests/Types/Monitor/SnmpEndpointDiscovery.test.ts +151 -0
  111. package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +110 -6
  112. package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +129 -0
  113. package/Tests/Types/SerializableObjectDictionary.test.ts +166 -0
  114. package/Tests/Types/Time/RangeStartAndEndDateTime.test.ts +98 -0
  115. package/Tests/Types/WebsiteRequest.test.ts +230 -0
  116. package/Tests/UI/Components/EntityFilterRoundTrip.test.tsx +103 -0
  117. package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +612 -0
  118. package/Tests/UI/Components/ModelTable/FilterDataToQuery.test.ts +275 -0
  119. package/Tests/UI/Utils/LogExport.test.ts +159 -0
  120. package/Tests/UI/Utils/Navigation.test.ts +183 -0
  121. package/Tests/UI/Utils/TableFilterUrlState.test.ts +539 -0
  122. package/Tests/UI/Utils/TableViewUrlState.test.ts +272 -0
  123. package/Tests/Utils/Base64.test.ts +51 -0
  124. package/Tests/Utils/Boolean.test.ts +76 -0
  125. package/Tests/Utils/Crypto.test.ts +48 -0
  126. package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +259 -0
  127. package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +162 -0
  128. package/Tests/Utils/Dashboard/VariableInterpolation.test.ts +197 -0
  129. package/Tests/Utils/Enum.test.ts +54 -0
  130. package/Tests/Utils/IpCanonicalUtil.test.ts +85 -0
  131. package/Tests/Utils/Metrics/MetricSeriesFingerprint.test.ts +160 -0
  132. package/Tests/Utils/Monitor/EndpointAttachmentUtil.test.ts +836 -0
  133. package/Tests/Utils/Monitor/MonitorMetricType.test.ts +218 -0
  134. package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +447 -0
  135. package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +440 -0
  136. package/Tests/Utils/NetworkSite/MaterializedPathUtil.test.ts +205 -0
  137. package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +221 -0
  138. package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +283 -0
  139. package/Tests/Utils/ObjectUtil.test.ts +30 -0
  140. package/Tests/Utils/Slo/SloStatusColor.test.ts +89 -0
  141. package/Tests/Utils/Slo/SloUtil.test.ts +1980 -0
  142. package/Tests/Utils/Slo/SloWidgetFormat.test.ts +605 -0
  143. package/Tests/Utils/TechStack.test.ts +50 -0
  144. package/Tests/Utils/Traces/CriticalPath.test.ts +178 -0
  145. package/Tests/Utils/ValueFormatter.test.ts +305 -0
  146. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +10 -0
  147. package/Types/AnalyticsDatabase/TableColumn.ts +23 -0
  148. package/Types/BaseDatabase/EqualTo.ts +9 -1
  149. package/Types/BaseDatabase/EqualToOrNull.ts +9 -1
  150. package/Types/BaseDatabase/NotEqual.ts +9 -1
  151. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  152. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
  153. package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +42 -0
  154. package/Types/Dashboard/DashboardTemplates.ts +214 -0
  155. package/Types/Email/EmailTemplateType.ts +2 -0
  156. package/Types/Kubernetes/KubernetesCostIngest.ts +79 -0
  157. package/Types/Monitor/CriteriaFilter.ts +9 -0
  158. package/Types/Monitor/MonitorStep.ts +5 -8
  159. package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +27 -5
  160. package/Types/Monitor/MonitorType.ts +15 -5
  161. package/Types/Monitor/SnmpMonitor/ArpEntry.ts +14 -0
  162. package/Types/Monitor/SnmpMonitor/FdbEntry.ts +18 -0
  163. package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +10 -3
  164. package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +31 -5
  165. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +12 -0
  166. package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +231 -3
  167. package/Types/NetworkSite/DefaultNetworkSiteType.ts +20 -0
  168. package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
  169. package/Types/Permission.ts +449 -0
  170. package/Types/ServiceLevelObjective/SliType.ts +6 -0
  171. package/Types/ServiceLevelObjective/SloMultiMonitorMode.ts +6 -0
  172. package/Types/ServiceLevelObjective/SloStatus.ts +9 -0
  173. package/Types/ServiceLevelObjective/SloWindowType.ts +6 -0
  174. package/Types/Telemetry/ServiceType.ts +1 -0
  175. package/UI/Components/Filters/EntityFilter.tsx +16 -0
  176. package/UI/Components/Filters/FilterViewer.tsx +22 -5
  177. package/UI/Components/List/List.tsx +8 -0
  178. package/UI/Components/ModelTable/BaseModelTable.tsx +309 -106
  179. package/UI/Components/ModelTable/FilterDataToQuery.ts +172 -0
  180. package/UI/Components/Navbar/NavBar.tsx +16 -2
  181. package/UI/Components/Navbar/NavBarMenuModal.tsx +3 -3
  182. package/UI/Utils/Navigation.ts +10 -0
  183. package/UI/Utils/TableFilterUrlState.ts +204 -17
  184. package/UI/Utils/TableViewUrlState.ts +165 -0
  185. package/Utils/Dashboard/Components/DashboardSloComponent.ts +114 -0
  186. package/Utils/Dashboard/Components/Index.ts +7 -0
  187. package/Utils/IpCanonicalUtil.ts +134 -0
  188. package/Utils/Monitor/EndpointAttachmentUtil.ts +508 -0
  189. package/Utils/Monitor/NetworkTopologyUtil.ts +157 -5
  190. package/Utils/NetworkSite/CidrMatchUtil.ts +296 -0
  191. package/Utils/NetworkSite/MaterializedPathUtil.ts +115 -0
  192. package/Utils/NetworkSite/SiteStatusRollupUtil.ts +97 -0
  193. package/Utils/NetworkSite/SiteUptimeUtil.ts +111 -0
  194. package/Utils/Slo/SloStatusColor.ts +54 -0
  195. package/Utils/Slo/SloUtil.ts +637 -0
  196. package/Utils/Slo/SloWidgetFormat.ts +383 -0
  197. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +25 -20
  198. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  199. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  200. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  201. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js +713 -0
  202. package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js.map +1 -0
  203. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +2 -0
  204. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
  205. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +5 -2
  206. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  207. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js +5 -2
  208. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js.map +1 -1
  209. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js +5 -2
  210. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -1
  211. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +5 -2
  212. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js.map +1 -1
  213. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +5 -2
  214. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js.map +1 -1
  215. package/build/dist/Models/AnalyticsModels/NetworkFlow.js +44 -0
  216. package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
  217. package/build/dist/Models/AnalyticsModels/SloHistory.js +215 -0
  218. package/build/dist/Models/AnalyticsModels/SloHistory.js.map +1 -0
  219. package/build/dist/Models/DatabaseModels/Index.js +20 -0
  220. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  221. package/build/dist/Models/DatabaseModels/NetworkDevice.js +458 -6
  222. package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
  223. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +0 -6
  224. package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
  225. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js +779 -0
  226. package/build/dist/Models/DatabaseModels/NetworkEndpoint.js.map +1 -0
  227. package/build/dist/Models/DatabaseModels/NetworkSite.js +1180 -0
  228. package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -0
  229. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +534 -0
  230. package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -0
  231. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js +629 -0
  232. package/build/dist/Models/DatabaseModels/NetworkSiteLink.js.map +1 -0
  233. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js +538 -0
  234. package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js.map +1 -0
  235. package/build/dist/Models/DatabaseModels/NetworkSiteType.js +522 -0
  236. package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -0
  237. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +1124 -0
  238. package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -0
  239. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +769 -0
  240. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -0
  241. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +460 -0
  242. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -0
  243. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +459 -0
  244. package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -0
  245. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js +130 -0
  246. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js.map +1 -0
  247. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js +31 -0
  248. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js.map +1 -0
  249. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js +36 -0
  250. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js.map +1 -0
  251. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js +49 -0
  252. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js.map +1 -0
  253. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js +140 -0
  254. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js.map +1 -0
  255. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  256. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  257. package/build/dist/Server/Services/AnalyticsDatabaseService.js +32 -7
  258. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  259. package/build/dist/Server/Services/Index.js +24 -0
  260. package/build/dist/Server/Services/Index.js.map +1 -1
  261. package/build/dist/Server/Services/KubernetesCostAllocationService.js +12 -0
  262. package/build/dist/Server/Services/KubernetesCostAllocationService.js.map +1 -0
  263. package/build/dist/Server/Services/MetricService.js +21 -3
  264. package/build/dist/Server/Services/MetricService.js.map +1 -1
  265. package/build/dist/Server/Services/MonitorService.js +19 -0
  266. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  267. package/build/dist/Server/Services/NetworkDeviceService.js +351 -1
  268. package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
  269. package/build/dist/Server/Services/NetworkEndpointService.js +319 -0
  270. package/build/dist/Server/Services/NetworkEndpointService.js.map +1 -0
  271. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +90 -0
  272. package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -0
  273. package/build/dist/Server/Services/NetworkSiteLinkService.js +9 -0
  274. package/build/dist/Server/Services/NetworkSiteLinkService.js.map +1 -0
  275. package/build/dist/Server/Services/NetworkSiteService.js +1038 -0
  276. package/build/dist/Server/Services/NetworkSiteService.js.map +1 -0
  277. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js +9 -0
  278. package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js.map +1 -0
  279. package/build/dist/Server/Services/NetworkSiteTypeService.js +9 -0
  280. package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -0
  281. package/build/dist/Server/Services/ProjectService.js +98 -2
  282. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  283. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +358 -0
  284. package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -0
  285. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +9 -0
  286. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -0
  287. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +9 -0
  288. package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -0
  289. package/build/dist/Server/Services/ServiceLevelObjectiveService.js +582 -0
  290. package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -0
  291. package/build/dist/Server/Services/SloHistoryService.js +77 -0
  292. package/build/dist/Server/Services/SloHistoryService.js.map +1 -0
  293. package/build/dist/Server/Services/UserNotificationSettingService.js +20 -0
  294. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  295. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +9 -0
  296. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  297. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +15 -0
  298. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  299. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +31 -0
  300. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  301. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +105 -52
  302. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  303. package/build/dist/Server/Utils/Memory.js +9 -1
  304. package/build/dist/Server/Utils/Memory.js.map +1 -1
  305. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +132 -10
  306. package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
  307. package/build/dist/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
  308. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js +77 -0
  309. package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js.map +1 -0
  310. package/build/dist/Server/Utils/Monitor/MonitorResource.js +21 -41
  311. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  312. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +152 -40
  313. package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
  314. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +262 -0
  315. package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -0
  316. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +201 -0
  317. package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -0
  318. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +152 -120
  319. package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
  320. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js +44 -0
  321. package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js.map +1 -0
  322. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +10 -10
  323. package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -1
  324. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +5 -0
  325. package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
  326. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +10 -0
  327. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  328. package/build/dist/Types/AnalyticsDatabase/TableColumn.js +7 -0
  329. package/build/dist/Types/AnalyticsDatabase/TableColumn.js.map +1 -1
  330. package/build/dist/Types/BaseDatabase/EqualTo.js +9 -1
  331. package/build/dist/Types/BaseDatabase/EqualTo.js.map +1 -1
  332. package/build/dist/Types/BaseDatabase/EqualToOrNull.js +9 -1
  333. package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
  334. package/build/dist/Types/BaseDatabase/NotEqual.js +9 -1
  335. package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
  336. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  337. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  338. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  339. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  340. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js +23 -0
  341. package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js.map +1 -0
  342. package/build/dist/Types/Dashboard/DashboardTemplates.js +205 -0
  343. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  344. package/build/dist/Types/Email/EmailTemplateType.js +1 -0
  345. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  346. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js +21 -0
  347. package/build/dist/Types/Kubernetes/KubernetesCostIngest.js.map +1 -0
  348. package/build/dist/Types/Monitor/CriteriaFilter.js +1 -0
  349. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  350. package/build/dist/Types/Monitor/MonitorStep.js +5 -5
  351. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  352. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +8 -0
  353. package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -1
  354. package/build/dist/Types/Monitor/MonitorType.js +15 -5
  355. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  356. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js +2 -0
  357. package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js.map +1 -0
  358. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js +2 -0
  359. package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js.map +1 -0
  360. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +9 -3
  361. package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
  362. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +217 -3
  363. package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
  364. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js +21 -0
  365. package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js.map +1 -0
  366. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
  367. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  368. package/build/dist/Types/Permission.js +409 -0
  369. package/build/dist/Types/Permission.js.map +1 -1
  370. package/build/dist/Types/ServiceLevelObjective/SliType.js +7 -0
  371. package/build/dist/Types/ServiceLevelObjective/SliType.js.map +1 -0
  372. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js +7 -0
  373. package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js.map +1 -0
  374. package/build/dist/Types/ServiceLevelObjective/SloStatus.js +10 -0
  375. package/build/dist/Types/ServiceLevelObjective/SloStatus.js.map +1 -0
  376. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js +7 -0
  377. package/build/dist/Types/ServiceLevelObjective/SloWindowType.js.map +1 -0
  378. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  379. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  380. package/build/dist/UI/Components/Filters/EntityFilter.js +15 -0
  381. package/build/dist/UI/Components/Filters/EntityFilter.js.map +1 -1
  382. package/build/dist/UI/Components/Filters/FilterViewer.js +19 -4
  383. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  384. package/build/dist/UI/Components/List/List.js +1 -1
  385. package/build/dist/UI/Components/List/List.js.map +1 -1
  386. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +235 -89
  387. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  388. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js +96 -0
  389. package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js.map +1 -0
  390. package/build/dist/UI/Components/Navbar/NavBar.js +14 -2
  391. package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
  392. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +3 -2
  393. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  394. package/build/dist/UI/Utils/Navigation.js +9 -0
  395. package/build/dist/UI/Utils/Navigation.js.map +1 -1
  396. package/build/dist/UI/Utils/TableFilterUrlState.js +159 -15
  397. package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
  398. package/build/dist/UI/Utils/TableViewUrlState.js +103 -0
  399. package/build/dist/UI/Utils/TableViewUrlState.js.map +1 -0
  400. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +93 -0
  401. package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -0
  402. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  403. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  404. package/build/dist/Utils/IpCanonicalUtil.js +110 -0
  405. package/build/dist/Utils/IpCanonicalUtil.js.map +1 -0
  406. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js +311 -0
  407. package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js.map +1 -0
  408. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +98 -5
  409. package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
  410. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +222 -0
  411. package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -0
  412. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js +89 -0
  413. package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js.map +1 -0
  414. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +60 -0
  415. package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -0
  416. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +76 -0
  417. package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -0
  418. package/build/dist/Utils/Slo/SloStatusColor.js +18 -0
  419. package/build/dist/Utils/Slo/SloStatusColor.js.map +1 -0
  420. package/build/dist/Utils/Slo/SloUtil.js +393 -0
  421. package/build/dist/Utils/Slo/SloUtil.js.map +1 -0
  422. package/build/dist/Utils/Slo/SloWidgetFormat.js +174 -0
  423. package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -0
  424. package/package.json +2 -2
  425. package/Types/Dashboard/DashboardComponents/Index.ts +0 -7
  426. package/build/dist/Types/Dashboard/DashboardComponents/Index.js +0 -8
  427. package/build/dist/Types/Dashboard/DashboardComponents/Index.js.map +0 -1
@@ -8,7 +8,7 @@ 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 logger from "../Logger";
11
- import { SQL, Statement } from "./Statement";
11
+ import { QualifiedColumn, SQL, Statement } from "./Statement";
12
12
  import { adaptTableSettingsForStorage, getDistributedEngine, getStorageEngine, getStorageTableName, onClusterClause, } from "./ClusterConfig";
13
13
  import { SkipIndexType, } from "../../../Types/AnalyticsDatabase/TableColumn";
14
14
  import TableColumnType from "../../../Types/AnalyticsDatabase/TableColumnType";
@@ -37,6 +37,7 @@ import JSONFunctions from "../../../Types/JSONFunctions";
37
37
  import { AggregateUtil, } from "../../Types/AnalyticsDatabase/AggregateBy";
38
38
  import CaptureSpan from "../Telemetry/CaptureSpan";
39
39
  import { getPercentileLevel } from "../../../Types/BaseDatabase/AggregationType";
40
+ const SIMPLE_AGGREGATE_FUNCTION_NAME_REGEX = /^[A-Za-z_][A-Za-z0-9_]*$/;
40
41
  export default class StatementGenerator {
41
42
  constructor(data) {
42
43
  this.modelType = data.modelType;
@@ -52,12 +53,15 @@ export default class StatementGenerator {
52
53
  if (!mapKeysColumn || mapKeysColumn.type !== TableColumnType.ArrayText) {
53
54
  return;
54
55
  }
56
+ const keysColumnRef = input.tableAlias
57
+ ? new QualifiedColumn(input.tableAlias, mapKeysColumn.key)
58
+ : mapKeysColumn.key;
55
59
  /*
56
60
  * Keep empty key-array rows eligible so data written before the
57
61
  * denormalized column existed, or by a lagging ingest path, is still
58
62
  * checked by the canonical map['key'] predicate that follows.
59
63
  */
60
- input.whereStatement.append(SQL `AND (empty(${mapKeysColumn.key}) OR hasAny(${mapKeysColumn.key}, ${{
64
+ input.whereStatement.append(SQL `AND (empty(${keysColumnRef}) OR hasAny(${keysColumnRef}, ${{
61
65
  value: [input.mapKey],
62
66
  type: TableColumnType.ArrayText,
63
67
  }})) `);
@@ -294,11 +298,28 @@ export default class StatementGenerator {
294
298
  return setStatement;
295
299
  }
296
300
  /**
297
- * Conditions to append to "WHERE TRUE"
301
+ * Conditions to append to "WHERE TRUE".
302
+ *
303
+ * Compiles a Query into an `AND col <op> ...` chain. When
304
+ * `options.tableAlias` is set, every column reference is emitted
305
+ * table-qualified (`alias.col`). Builders whose SELECT aliases an
306
+ * expression to a real column name (aggregate statements — see
307
+ * AggregateUtil.buildBucketTimestampSelect) MUST pass the alias of the
308
+ * table the WHERE executes against: ClickHouse substitutes SELECT
309
+ * aliases into same-level unqualified WHERE references, which turns a
310
+ * `Total` aggregation's `min(col) as col` into an ILLEGAL_AGGREGATION
311
+ * error and silently snaps bucketed time filters to bucket boundaries.
312
+ * Statements that embed this WHERE against a different table (MV
313
+ * paths, cascade deletes) must stay unqualified.
298
314
  */
299
- toWhereStatement(query) {
315
+ toWhereStatement(query, options) {
300
316
  var _a, _b, _c, _d;
301
317
  const whereStatement = new Statement();
318
+ const columnRef = (columnName) => {
319
+ return (options === null || options === void 0 ? void 0 : options.tableAlias)
320
+ ? new QualifiedColumn(options.tableAlias, columnName)
321
+ : columnName;
322
+ };
302
323
  let first = true;
303
324
  for (const key in query) {
304
325
  const value = query[key];
@@ -337,7 +358,7 @@ export default class StatementGenerator {
337
358
  else {
338
359
  whereStatement.append(SQL ` OR `);
339
360
  }
340
- whereStatement.append(SQL `${col.key} ILIKE ${{
361
+ whereStatement.append(SQL `${columnRef(col.key)} ILIKE ${{
341
362
  value: new Search(ms.value),
342
363
  type: col.type,
343
364
  }}`);
@@ -380,10 +401,10 @@ export default class StatementGenerator {
380
401
  whereStatement.append(SQL ` `);
381
402
  }
382
403
  if (scopeEntityKeys.length > 0 && hasAttributeFallback) {
383
- whereStatement.append(SQL `AND (hasAny(${entityKeysColumn.key}, ${{
404
+ whereStatement.append(SQL `AND (hasAny(${columnRef(entityKeysColumn.key)}, ${{
384
405
  value: scopeEntityKeys,
385
406
  type: TableColumnType.ArrayText,
386
- }}) OR ${attributesColumn.key}[${{
407
+ }}) OR ${columnRef(attributesColumn.key)}[${{
387
408
  value: scope.attributeKey,
388
409
  type: TableColumnType.Text,
389
410
  }}] = ${{
@@ -392,13 +413,13 @@ export default class StatementGenerator {
392
413
  }})`);
393
414
  }
394
415
  else if (scopeEntityKeys.length > 0) {
395
- whereStatement.append(SQL `AND hasAny(${entityKeysColumn.key}, ${{
416
+ whereStatement.append(SQL `AND hasAny(${columnRef(entityKeysColumn.key)}, ${{
396
417
  value: scopeEntityKeys,
397
418
  type: TableColumnType.ArrayText,
398
419
  }})`);
399
420
  }
400
421
  else {
401
- whereStatement.append(SQL `AND ${attributesColumn.key}[${{
422
+ whereStatement.append(SQL `AND ${columnRef(attributesColumn.key)}[${{
402
423
  value: scope.attributeKey,
403
424
  type: TableColumnType.Text,
404
425
  }}] = ${{
@@ -419,58 +440,58 @@ export default class StatementGenerator {
419
440
  whereStatement.append(SQL ` `);
420
441
  }
421
442
  if (value instanceof Search) {
422
- whereStatement.append(SQL `AND ${key} ILIKE ${{
443
+ whereStatement.append(SQL `AND ${columnRef(key)} ILIKE ${{
423
444
  value: value,
424
445
  type: tableColumn.type,
425
446
  }}`);
426
447
  }
427
448
  else if (value instanceof NotEqual) {
428
- whereStatement.append(SQL `AND ${key} != ${{
449
+ whereStatement.append(SQL `AND ${columnRef(key)} != ${{
429
450
  value: value,
430
451
  type: tableColumn.type,
431
452
  }}`);
432
453
  }
433
454
  else if (value instanceof GreaterThan) {
434
- whereStatement.append(SQL `AND ${key} > ${{
455
+ whereStatement.append(SQL `AND ${columnRef(key)} > ${{
435
456
  value: value,
436
457
  type: tableColumn.type,
437
458
  }}`);
438
459
  }
439
460
  else if (value instanceof LessThan) {
440
- whereStatement.append(SQL `AND ${key} < ${{
461
+ whereStatement.append(SQL `AND ${columnRef(key)} < ${{
441
462
  value: value,
442
463
  type: tableColumn.type,
443
464
  }}`);
444
465
  }
445
466
  else if (value instanceof LessThanOrEqual) {
446
- whereStatement.append(SQL `AND ${key} <= ${{
467
+ whereStatement.append(SQL `AND ${columnRef(key)} <= ${{
447
468
  value: value,
448
469
  type: tableColumn.type,
449
470
  }}`);
450
471
  }
451
472
  else if (value instanceof LessThanOrNull) {
452
- whereStatement.append(SQL `AND (${key} <= ${{
473
+ whereStatement.append(SQL `AND (${columnRef(key)} <= ${{
453
474
  value: value,
454
475
  type: tableColumn.type,
455
- }} OR ${key} IS NULL)`);
476
+ }} OR ${columnRef(key)} IS NULL)`);
456
477
  }
457
478
  else if (value instanceof GreaterThanOrNull) {
458
- whereStatement.append(SQL `AND (${key} >= ${{
479
+ whereStatement.append(SQL `AND (${columnRef(key)} >= ${{
459
480
  value: value,
460
481
  type: tableColumn.type,
461
- }} OR ${key} IS NULL)`);
482
+ }} OR ${columnRef(key)} IS NULL)`);
462
483
  }
463
484
  else if (value instanceof GreaterThanOrEqual) {
464
- whereStatement.append(SQL `AND ${key} >= ${{
485
+ whereStatement.append(SQL `AND ${columnRef(key)} >= ${{
465
486
  value: value,
466
487
  type: tableColumn.type,
467
488
  }}`);
468
489
  }
469
490
  else if (value instanceof InBetween) {
470
- whereStatement.append(SQL `AND ${key} >= ${{
491
+ whereStatement.append(SQL `AND ${columnRef(key)} >= ${{
471
492
  value: value.startValue,
472
493
  type: tableColumn.type,
473
- }} AND ${key} <= ${{
494
+ }} AND ${columnRef(key)} <= ${{
474
495
  value: value.endValue,
475
496
  type: tableColumn.type,
476
497
  }}`);
@@ -488,14 +509,14 @@ export default class StatementGenerator {
488
509
  */
489
510
  const arrayIncludeValues = value.values || [];
490
511
  if (arrayIncludeValues.length > 0) {
491
- whereStatement.append(SQL `AND hasAny(${key}, ${{
512
+ whereStatement.append(SQL `AND hasAny(${columnRef(key)}, ${{
492
513
  value: arrayIncludeValues,
493
514
  type: TableColumnType.ArrayText,
494
515
  }})`);
495
516
  }
496
517
  }
497
518
  else if (value instanceof Includes) {
498
- whereStatement.append(SQL `AND ${key} IN ${{
519
+ whereStatement.append(SQL `AND ${columnRef(key)} IN ${{
499
520
  value: value,
500
521
  type: tableColumn.type,
501
522
  }}`);
@@ -509,7 +530,7 @@ export default class StatementGenerator {
509
530
  */
510
531
  const arrayExcludeValues = value.values || [];
511
532
  if (arrayExcludeValues.length > 0) {
512
- whereStatement.append(SQL `AND NOT hasAny(${key}, ${{
533
+ whereStatement.append(SQL `AND NOT hasAny(${columnRef(key)}, ${{
513
534
  value: arrayExcludeValues,
514
535
  type: TableColumnType.ArrayText,
515
536
  }})`);
@@ -523,7 +544,7 @@ export default class StatementGenerator {
523
544
  */
524
545
  const excludeValues = value.values || [];
525
546
  if (excludeValues.length > 0) {
526
- whereStatement.append(SQL `AND ${key} NOT IN ${{
547
+ whereStatement.append(SQL `AND ${columnRef(key)} NOT IN ${{
527
548
  value: value,
528
549
  type: tableColumn.type,
529
550
  }}`);
@@ -531,10 +552,10 @@ export default class StatementGenerator {
531
552
  }
532
553
  else if (value instanceof IsNull) {
533
554
  if (tableColumn.type === TableColumnType.Text) {
534
- whereStatement.append(SQL `AND (${key} IS NULL OR ${key} = '')`);
555
+ whereStatement.append(SQL `AND (${columnRef(key)} IS NULL OR ${columnRef(key)} = '')`);
535
556
  }
536
557
  else {
537
- whereStatement.append(SQL `AND ${key} IS NULL`);
558
+ whereStatement.append(SQL `AND ${columnRef(key)} IS NULL`);
538
559
  }
539
560
  }
540
561
  else if (tableColumn.type === TableColumnType.MapStringString &&
@@ -577,10 +598,10 @@ export default class StatementGenerator {
577
598
  * mirror to preserve the previous semantics.
578
599
  */
579
600
  if (mapEntry instanceof IsNull) {
580
- whereStatement.append(SQL `AND ((NOT mapContains(${key}, ${{
601
+ whereStatement.append(SQL `AND ((NOT mapContains(${columnRef(key)}, ${{
581
602
  value: mapKey,
582
603
  type: TableColumnType.Text,
583
- }})) OR ${key}[${{
604
+ }})) OR ${columnRef(key)}[${{
584
605
  value: mapKey,
585
606
  type: TableColumnType.Text,
586
607
  }}] = '')`);
@@ -591,11 +612,12 @@ export default class StatementGenerator {
591
612
  whereStatement,
592
613
  mapColumn: tableColumn,
593
614
  mapKey,
615
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
594
616
  });
595
- whereStatement.append(SQL `AND mapContains(${key}, ${{
617
+ whereStatement.append(SQL `AND mapContains(${columnRef(key)}, ${{
596
618
  value: mapKey,
597
619
  type: TableColumnType.Text,
598
- }}) AND ${key}[${{
620
+ }}) AND ${columnRef(key)}[${{
599
621
  value: mapKey,
600
622
  type: TableColumnType.Text,
601
623
  }}] != ''`);
@@ -608,7 +630,7 @@ export default class StatementGenerator {
608
630
  }}) AND v ILIKE ${{
609
631
  value: mapEntry,
610
632
  type: TableColumnType.Text,
611
- }}, mapKeys(${key}), mapValues(${key}))`);
633
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`);
612
634
  continue;
613
635
  }
614
636
  if (mapEntry instanceof NotContains) {
@@ -619,7 +641,7 @@ export default class StatementGenerator {
619
641
  }}) AND v ILIKE ${{
620
642
  value: literalValue,
621
643
  type: TableColumnType.Text,
622
- }}, mapKeys(${key}), mapValues(${key}))`);
644
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`);
623
645
  continue;
624
646
  }
625
647
  if (mapEntry instanceof StartsWith) {
@@ -630,7 +652,7 @@ export default class StatementGenerator {
630
652
  }}) AND v ILIKE ${{
631
653
  value: literalValue,
632
654
  type: TableColumnType.Text,
633
- }}, mapKeys(${key}), mapValues(${key}))`);
655
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`);
634
656
  continue;
635
657
  }
636
658
  if (mapEntry instanceof EndsWith) {
@@ -641,11 +663,11 @@ export default class StatementGenerator {
641
663
  }}) AND v ILIKE ${{
642
664
  value: literalValue,
643
665
  type: TableColumnType.Text,
644
- }}, mapKeys(${key}), mapValues(${key}))`);
666
+ }}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`);
645
667
  continue;
646
668
  }
647
669
  if (mapEntry instanceof NotEqual) {
648
- whereStatement.append(SQL `AND ${key}[${{
670
+ whereStatement.append(SQL `AND ${columnRef(key)}[${{
649
671
  value: mapKey,
650
672
  type: TableColumnType.Text,
651
673
  }}] != ${{
@@ -661,8 +683,9 @@ export default class StatementGenerator {
661
683
  mapColumn: tableColumn,
662
684
  mapKey,
663
685
  skip: equalityValue === "",
686
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
664
687
  });
665
- whereStatement.append(SQL `AND ${key}[${{
688
+ whereStatement.append(SQL `AND ${columnRef(key)}[${{
666
689
  value: mapKey,
667
690
  type: TableColumnType.Text,
668
691
  }}] = ${{
@@ -683,8 +706,9 @@ export default class StatementGenerator {
683
706
  whereStatement,
684
707
  mapColumn: tableColumn,
685
708
  mapKey,
709
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
686
710
  });
687
- whereStatement.append(SQL `AND toFloat64OrNull(${key}[${{
711
+ whereStatement.append(SQL `AND toFloat64OrNull(${columnRef(key)}[${{
688
712
  value: mapKey,
689
713
  type: TableColumnType.Text,
690
714
  }}]) > ${{
@@ -698,8 +722,9 @@ export default class StatementGenerator {
698
722
  whereStatement,
699
723
  mapColumn: tableColumn,
700
724
  mapKey,
725
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
701
726
  });
702
- whereStatement.append(SQL `AND toFloat64OrNull(${key}[${{
727
+ whereStatement.append(SQL `AND toFloat64OrNull(${columnRef(key)}[${{
703
728
  value: mapKey,
704
729
  type: TableColumnType.Text,
705
730
  }}]) >= ${{
@@ -713,8 +738,9 @@ export default class StatementGenerator {
713
738
  whereStatement,
714
739
  mapColumn: tableColumn,
715
740
  mapKey,
741
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
716
742
  });
717
- whereStatement.append(SQL `AND toFloat64OrNull(${key}[${{
743
+ whereStatement.append(SQL `AND toFloat64OrNull(${columnRef(key)}[${{
718
744
  value: mapKey,
719
745
  type: TableColumnType.Text,
720
746
  }}]) < ${{
@@ -728,8 +754,9 @@ export default class StatementGenerator {
728
754
  whereStatement,
729
755
  mapColumn: tableColumn,
730
756
  mapKey,
757
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
731
758
  });
732
- whereStatement.append(SQL `AND toFloat64OrNull(${key}[${{
759
+ whereStatement.append(SQL `AND toFloat64OrNull(${columnRef(key)}[${{
733
760
  value: mapKey,
734
761
  type: TableColumnType.Text,
735
762
  }}]) <= ${{
@@ -757,8 +784,9 @@ export default class StatementGenerator {
757
784
  mapColumn: tableColumn,
758
785
  mapKey,
759
786
  skip: includesValues.includes(""),
787
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
760
788
  });
761
- whereStatement.append(SQL `AND ${key}[${{
789
+ whereStatement.append(SQL `AND ${columnRef(key)}[${{
762
790
  value: mapKey,
763
791
  type: TableColumnType.Text,
764
792
  }}] IN ${{
@@ -783,7 +811,7 @@ export default class StatementGenerator {
783
811
  if (excludeValues.length === 0) {
784
812
  continue;
785
813
  }
786
- whereStatement.append(SQL `AND ${key}[${{
814
+ whereStatement.append(SQL `AND ${columnRef(key)}[${{
787
815
  value: mapKey,
788
816
  type: TableColumnType.Text,
789
817
  }}] NOT IN ${{
@@ -799,8 +827,9 @@ export default class StatementGenerator {
799
827
  mapColumn: tableColumn,
800
828
  mapKey,
801
829
  skip: equalityValue === "",
830
+ tableAlias: options === null || options === void 0 ? void 0 : options.tableAlias,
802
831
  });
803
- whereStatement.append(SQL `AND ${key}[${{
832
+ whereStatement.append(SQL `AND ${columnRef(key)}[${{
804
833
  value: mapKey,
805
834
  type: TableColumnType.Text,
806
835
  }}] = ${{
@@ -818,7 +847,7 @@ export default class StatementGenerator {
818
847
  continue;
819
848
  }
820
849
  if (flatValue[objKey] && typeof flatValue[objKey] === "string") {
821
- whereStatement.append(SQL `AND JSONExtractString(${key}, ${{
850
+ whereStatement.append(SQL `AND JSONExtractString(${columnRef(key)}, ${{
822
851
  value: objKey,
823
852
  type: TableColumnType.Text,
824
853
  }}) = ${{
@@ -828,7 +857,7 @@ export default class StatementGenerator {
828
857
  continue;
829
858
  }
830
859
  if (flatValue[objKey] && typeof flatValue[objKey] === "number") {
831
- whereStatement.append(SQL `AND JSONExtractInt(${key}, ${{
860
+ whereStatement.append(SQL `AND JSONExtractInt(${columnRef(key)}, ${{
832
861
  value: objKey,
833
862
  type: TableColumnType.Text,
834
863
  }}) = ${{
@@ -838,7 +867,7 @@ export default class StatementGenerator {
838
867
  continue;
839
868
  }
840
869
  if (flatValue[objKey] && typeof flatValue[objKey] === "boolean") {
841
- whereStatement.append(SQL `AND JSONExtractBool(${key}, ${{
870
+ whereStatement.append(SQL `AND JSONExtractBool(${columnRef(key)}, ${{
842
871
  value: objKey,
843
872
  type: TableColumnType.Text,
844
873
  }}) = ${{
@@ -850,7 +879,7 @@ export default class StatementGenerator {
850
879
  }
851
880
  }
852
881
  else {
853
- whereStatement.append(SQL `AND ${key} = ${{ value, type: tableColumn.type }}`);
882
+ whereStatement.append(SQL `AND ${columnRef(key)} = ${{ value, type: tableColumn.type }}`);
854
883
  }
855
884
  }
856
885
  return whereStatement;
@@ -1036,6 +1065,22 @@ export default class StatementGenerator {
1036
1065
  * column. Scalar types ignore the rest of the column.
1037
1066
  */
1038
1067
  toColumnType(column) {
1068
+ const simpleAggregateFunction = column.simpleAggregateFunction;
1069
+ if (simpleAggregateFunction !== undefined) {
1070
+ if (column.type === TableColumnType.AggregateFunction) {
1071
+ throw new BadDataException(`Column ${column.key} cannot declare both AggregateFunction and SimpleAggregateFunction.`);
1072
+ }
1073
+ /*
1074
+ * The function name is emitted as raw ClickHouse DDL, so accept only a
1075
+ * plain function identifier. Besides catching accidental whitespace /
1076
+ * empty definitions, this prevents a model field from injecting another
1077
+ * type or table clause into generated schema SQL.
1078
+ */
1079
+ if (simpleAggregateFunction.trim() !== simpleAggregateFunction ||
1080
+ !SIMPLE_AGGREGATE_FUNCTION_NAME_REGEX.test(simpleAggregateFunction)) {
1081
+ throw new BadDataException(`Column ${column.key} has invalid simpleAggregateFunction "${simpleAggregateFunction}".`);
1082
+ }
1083
+ }
1039
1084
  if (column.type === TableColumnType.AggregateFunction) {
1040
1085
  const def = column.aggregateFunctionDefinition;
1041
1086
  if (!def) {
@@ -1043,7 +1088,7 @@ export default class StatementGenerator {
1043
1088
  }
1044
1089
  return SQL `AggregateFunction(`.append(def).append(SQL `)`);
1045
1090
  }
1046
- const statement = {
1091
+ const scalarStatement = {
1047
1092
  [TableColumnType.Text]: SQL `String`,
1048
1093
  [TableColumnType.ObjectID]: SQL `String`,
1049
1094
  [TableColumnType.Boolean]: SQL `Bool`,
@@ -1065,10 +1110,17 @@ export default class StatementGenerator {
1065
1110
  [TableColumnType.UInt8]: SQL `UInt8`,
1066
1111
  [TableColumnType.UInt64]: SQL `UInt64`,
1067
1112
  }[column.type];
1068
- if (!statement) {
1113
+ if (!scalarStatement) {
1069
1114
  throw new BadDataException(`Unknown column type: ${column.type}. Please add support for this column type.`);
1070
1115
  }
1071
- return statement;
1116
+ if (simpleAggregateFunction) {
1117
+ return SQL `SimpleAggregateFunction(`
1118
+ .append(simpleAggregateFunction)
1119
+ .append(SQL `, `)
1120
+ .append(scalarStatement)
1121
+ .append(SQL `)`);
1122
+ }
1123
+ return scalarStatement;
1072
1124
  }
1073
1125
  /**
1074
1126
  * Full ClickHouse type for a column, including the Nullable and
@@ -1079,7 +1131,8 @@ export default class StatementGenerator {
1079
1131
  * empty initial state).
1080
1132
  */
1081
1133
  toFullColumnType(column) {
1082
- const isAggregateFunction = column.type === TableColumnType.AggregateFunction;
1134
+ const isAggregateFunction = column.type === TableColumnType.AggregateFunction ||
1135
+ Boolean(column.simpleAggregateFunction);
1083
1136
  let typeStatement = this.toColumnType(column);
1084
1137
  if (!(column.required || isAggregateFunction)) {
1085
1138
  typeStatement = SQL `Nullable(`.append(typeStatement).append(SQL `)`);
@@ -1 +1 @@
1
- {"version":3,"file":"StatementGenerator.js","sourceRoot":"","sources":["../../../../../Server/Utils/AnalyticsDatabase/StatementGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatementGenerator.js","sourceRoot":"","sources":["../../../../../Server/Utils/AnalyticsDatabase/StatementGenerator.ts"],"names":[],"mappings":"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"}