@oneuptime/common 10.4.13 → 10.4.15

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 (248) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +49 -0
  2. package/Models/AnalyticsModels/AuditLog.ts +8 -0
  3. package/Models/AnalyticsModels/ExceptionInstance.ts +1 -0
  4. package/Models/AnalyticsModels/Log.ts +1 -0
  5. package/Models/AnalyticsModels/Metric.ts +10 -0
  6. package/Models/AnalyticsModels/MonitorLog.ts +1 -0
  7. package/Models/AnalyticsModels/Profile.ts +1 -0
  8. package/Models/AnalyticsModels/ProfileSample.ts +1 -0
  9. package/Models/AnalyticsModels/Span.ts +1 -0
  10. package/Models/DatabaseModels/Alert.ts +2 -0
  11. package/Models/DatabaseModels/AlertCustomField.ts +37 -0
  12. package/Models/DatabaseModels/AlertFeed.ts +1 -0
  13. package/Models/DatabaseModels/CallLog.ts +2 -0
  14. package/Models/DatabaseModels/DockerHost.ts +34 -0
  15. package/Models/DatabaseModels/EmailLog.ts +2 -0
  16. package/Models/DatabaseModels/Host.ts +34 -0
  17. package/Models/DatabaseModels/Incident.ts +1 -0
  18. package/Models/DatabaseModels/IncidentCustomField.ts +37 -0
  19. package/Models/DatabaseModels/IncidentFeed.ts +1 -0
  20. package/Models/DatabaseModels/IncidentMember.ts +9 -0
  21. package/Models/DatabaseModels/KubernetesCluster.ts +34 -0
  22. package/Models/DatabaseModels/MonitorCustomField.ts +37 -0
  23. package/Models/DatabaseModels/MonitorFeed.ts +1 -0
  24. package/Models/DatabaseModels/MonitorProbe.ts +1 -0
  25. package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +37 -0
  26. package/Models/DatabaseModels/OnCallDutyPolicyTimeLog.ts +3 -0
  27. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +37 -0
  28. package/Models/DatabaseModels/SmsLog.ts +2 -0
  29. package/Models/DatabaseModels/StatusPageCustomField.ts +37 -0
  30. package/Models/DatabaseModels/StatusPageSubscriber.ts +2 -0
  31. package/Models/DatabaseModels/TableView.ts +40 -0
  32. package/Models/DatabaseModels/TeamMemberCustomField.ts +37 -0
  33. package/Models/DatabaseModels/TelemetryException.ts +2 -0
  34. package/Models/DatabaseModels/UserOnCallLog.ts +1 -0
  35. package/Models/DatabaseModels/WorkflowLog.ts +1 -0
  36. package/Server/API/BaseAnalyticsAPI.ts +128 -20
  37. package/Server/API/MetricAPI.ts +5 -138
  38. package/Server/API/ProjectAPI.ts +52 -15
  39. package/Server/API/StatusAPI.ts +103 -7
  40. package/Server/EnvironmentConfig.ts +69 -0
  41. package/Server/Infrastructure/Postgres/DataSourceOptions.ts +26 -1
  42. package/Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.ts +29 -0
  43. package/Server/Infrastructure/Postgres/SchemaMigrations/1779392970424-AddPerformanceIndexes.ts +160 -0
  44. package/Server/Infrastructure/Postgres/SchemaMigrations/1779536271671-AddFacetsToTableView.ts +13 -0
  45. package/Server/Infrastructure/Postgres/SchemaMigrations/1779540427366-AddIsMemberNotifiedIndex.ts +34 -0
  46. package/Server/Infrastructure/Postgres/SchemaMigrations/1779619108628-AddDropdownOptionsToCustomFields.ts +67 -0
  47. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  48. package/Server/Infrastructure/PostgresDatabase.ts +2 -5
  49. package/Server/Middleware/ProjectAuthorization.ts +31 -53
  50. package/Server/Middleware/UserAuthorization.ts +106 -64
  51. package/Server/Services/AccessTokenService.ts +1 -1
  52. package/Server/Services/AnalyticsDatabaseService.ts +24 -4
  53. package/Server/Services/ApiKeyService.ts +100 -1
  54. package/Server/Services/DockerHostService.ts +5 -0
  55. package/Server/Services/HostService.ts +6 -0
  56. package/Server/Services/KubernetesClusterService.ts +33 -10
  57. package/Server/Services/MetricService.ts +113 -0
  58. package/Server/Services/MonitorService.ts +10 -3
  59. package/Server/Services/ProjectService.ts +93 -2
  60. package/Server/Services/TeamMemberService.ts +36 -0
  61. package/Server/Services/UserService.ts +38 -0
  62. package/Server/Utils/Response.ts +4 -1
  63. package/Server/Utils/UserPermission/UserPermission.ts +17 -1
  64. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +2 -2
  65. package/Types/API/HTTPResponse.ts +16 -0
  66. package/Types/BaseDatabase/ListResult.ts +6 -0
  67. package/Types/CustomField/CustomFieldType.ts +2 -0
  68. package/Types/Date.ts +9 -1
  69. package/Types/ListData.ts +14 -0
  70. package/Types/Monitor/DnsMonitor/DnsMonitorResponse.ts +3 -0
  71. package/Types/Monitor/DnssecMonitor/DnssecMonitorResponse.ts +5 -0
  72. package/Types/Monitor/DomainMonitor/DomainMonitorResponse.ts +4 -0
  73. package/Types/Monitor/ExternalStatusPageMonitor/ExternalStatusPageMonitorResponse.ts +4 -0
  74. package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +3 -0
  75. package/Types/Probe/ProbeAttempt.ts +9 -0
  76. package/Types/Probe/ProbeMonitorResponse.ts +3 -0
  77. package/UI/Components/BulkUpdate/BulkOwnerActions.tsx +504 -0
  78. package/UI/Components/BulkUpdate/BulkUpdateForm.tsx +64 -54
  79. package/UI/Components/CustomFields/CustomFieldsDetail.tsx +38 -0
  80. package/UI/Components/CustomFields/DropdownOptionsInput.tsx +150 -0
  81. package/UI/Components/Detail/Detail.tsx +78 -11
  82. package/UI/Components/List/List.tsx +6 -0
  83. package/UI/Components/ModelTable/BaseModelTable.tsx +74 -2
  84. package/UI/Components/ModelTable/TableView.tsx +70 -30
  85. package/UI/Components/Pagination/Pagination.tsx +75 -33
  86. package/UI/Components/Table/Table.tsx +6 -0
  87. package/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.ts +1 -0
  88. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +33 -0
  89. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  90. package/build/dist/Models/AnalyticsModels/AuditLog.js +8 -0
  91. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  92. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +1 -0
  93. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  94. package/build/dist/Models/AnalyticsModels/Log.js +1 -0
  95. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  96. package/build/dist/Models/AnalyticsModels/Metric.js +10 -0
  97. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  98. package/build/dist/Models/AnalyticsModels/MonitorLog.js +1 -0
  99. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  100. package/build/dist/Models/AnalyticsModels/Profile.js +1 -0
  101. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  102. package/build/dist/Models/AnalyticsModels/ProfileSample.js +1 -0
  103. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  104. package/build/dist/Models/AnalyticsModels/Span.js +1 -0
  105. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  106. package/build/dist/Models/DatabaseModels/Alert.js +3 -1
  107. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  108. package/build/dist/Models/DatabaseModels/AlertCustomField.js +38 -0
  109. package/build/dist/Models/DatabaseModels/AlertCustomField.js.map +1 -1
  110. package/build/dist/Models/DatabaseModels/AlertFeed.js +2 -1
  111. package/build/dist/Models/DatabaseModels/AlertFeed.js.map +1 -1
  112. package/build/dist/Models/DatabaseModels/CallLog.js +4 -1
  113. package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -1
  114. package/build/dist/Models/DatabaseModels/DockerHost.js +35 -0
  115. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  116. package/build/dist/Models/DatabaseModels/EmailLog.js +4 -1
  117. package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -1
  118. package/build/dist/Models/DatabaseModels/Host.js +35 -0
  119. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  120. package/build/dist/Models/DatabaseModels/Incident.js +2 -1
  121. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  122. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +38 -0
  123. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -1
  124. package/build/dist/Models/DatabaseModels/IncidentFeed.js +2 -1
  125. package/build/dist/Models/DatabaseModels/IncidentFeed.js.map +1 -1
  126. package/build/dist/Models/DatabaseModels/IncidentMember.js +11 -1
  127. package/build/dist/Models/DatabaseModels/IncidentMember.js.map +1 -1
  128. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +35 -0
  129. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  130. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +38 -0
  131. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -1
  132. package/build/dist/Models/DatabaseModels/MonitorFeed.js +2 -1
  133. package/build/dist/Models/DatabaseModels/MonitorFeed.js.map +1 -1
  134. package/build/dist/Models/DatabaseModels/MonitorProbe.js +2 -0
  135. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -1
  136. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +38 -0
  137. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -1
  138. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js +3 -0
  139. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyTimeLog.js.map +1 -1
  140. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +38 -0
  141. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -1
  142. package/build/dist/Models/DatabaseModels/SmsLog.js +4 -1
  143. package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -1
  144. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +38 -0
  145. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -1
  146. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +4 -1
  147. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -1
  148. package/build/dist/Models/DatabaseModels/TableView.js +40 -0
  149. package/build/dist/Models/DatabaseModels/TableView.js.map +1 -1
  150. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js +38 -0
  151. package/build/dist/Models/DatabaseModels/TeamMemberCustomField.js.map +1 -1
  152. package/build/dist/Models/DatabaseModels/TelemetryException.js +3 -1
  153. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  154. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +1 -0
  155. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -1
  156. package/build/dist/Models/DatabaseModels/WorkflowLog.js +2 -1
  157. package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -1
  158. package/build/dist/Server/API/BaseAnalyticsAPI.js +105 -18
  159. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  160. package/build/dist/Server/API/MetricAPI.js +5 -113
  161. package/build/dist/Server/API/MetricAPI.js.map +1 -1
  162. package/build/dist/Server/API/ProjectAPI.js +42 -14
  163. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  164. package/build/dist/Server/API/StatusAPI.js +75 -8
  165. package/build/dist/Server/API/StatusAPI.js.map +1 -1
  166. package/build/dist/Server/EnvironmentConfig.js +41 -0
  167. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  168. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js +20 -2
  169. package/build/dist/Server/Infrastructure/Postgres/DataSourceOptions.js.map +1 -1
  170. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.js +16 -0
  171. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.js.map +1 -0
  172. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779392970424-AddPerformanceIndexes.js +63 -0
  173. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779392970424-AddPerformanceIndexes.js.map +1 -0
  174. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779536271671-AddFacetsToTableView.js +12 -0
  175. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779536271671-AddFacetsToTableView.js.map +1 -0
  176. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779540427366-AddIsMemberNotifiedIndex.js +27 -0
  177. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779540427366-AddIsMemberNotifiedIndex.js.map +1 -0
  178. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779619108628-AddDropdownOptionsToCustomFields.js +28 -0
  179. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779619108628-AddDropdownOptionsToCustomFields.js.map +1 -0
  180. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  181. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  182. package/build/dist/Server/Infrastructure/PostgresDatabase.js +2 -2
  183. package/build/dist/Server/Infrastructure/PostgresDatabase.js.map +1 -1
  184. package/build/dist/Server/Middleware/ProjectAuthorization.js +21 -39
  185. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  186. package/build/dist/Server/Middleware/UserAuthorization.js +83 -50
  187. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  188. package/build/dist/Server/Services/AccessTokenService.js +1 -1
  189. package/build/dist/Server/Services/AccessTokenService.js.map +1 -1
  190. package/build/dist/Server/Services/AnalyticsDatabaseService.js +22 -3
  191. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  192. package/build/dist/Server/Services/ApiKeyService.js +86 -0
  193. package/build/dist/Server/Services/ApiKeyService.js.map +1 -1
  194. package/build/dist/Server/Services/DockerHostService.js +5 -1
  195. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  196. package/build/dist/Server/Services/HostService.js +5 -1
  197. package/build/dist/Server/Services/HostService.js.map +1 -1
  198. package/build/dist/Server/Services/KubernetesClusterService.js +21 -11
  199. package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
  200. package/build/dist/Server/Services/MetricService.js +89 -0
  201. package/build/dist/Server/Services/MetricService.js.map +1 -1
  202. package/build/dist/Server/Services/MonitorService.js +8 -3
  203. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  204. package/build/dist/Server/Services/ProjectService.js +84 -2
  205. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  206. package/build/dist/Server/Services/TeamMemberService.js +24 -0
  207. package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
  208. package/build/dist/Server/Services/UserService.js +36 -0
  209. package/build/dist/Server/Services/UserService.js.map +1 -1
  210. package/build/dist/Server/Utils/Response.js +6 -5
  211. package/build/dist/Server/Utils/Response.js.map +1 -1
  212. package/build/dist/Server/Utils/UserPermission/UserPermission.js +13 -1
  213. package/build/dist/Server/Utils/UserPermission/UserPermission.js.map +1 -1
  214. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +2 -2
  215. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +1 -1
  216. package/build/dist/Types/API/HTTPResponse.js +15 -0
  217. package/build/dist/Types/API/HTTPResponse.js.map +1 -1
  218. package/build/dist/Types/CustomField/CustomFieldType.js +2 -0
  219. package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -1
  220. package/build/dist/Types/Date.js +10 -1
  221. package/build/dist/Types/Date.js.map +1 -1
  222. package/build/dist/Types/ListData.js +4 -0
  223. package/build/dist/Types/ListData.js.map +1 -1
  224. package/build/dist/Types/Probe/ProbeAttempt.js +2 -0
  225. package/build/dist/Types/Probe/ProbeAttempt.js.map +1 -0
  226. package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js +376 -0
  227. package/build/dist/UI/Components/BulkUpdate/BulkOwnerActions.js.map +1 -0
  228. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js +32 -25
  229. package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js.map +1 -1
  230. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +32 -0
  231. package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
  232. package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js +84 -0
  233. package/build/dist/UI/Components/CustomFields/DropdownOptionsInput.js.map +1 -0
  234. package/build/dist/UI/Components/Detail/Detail.js +34 -3
  235. package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
  236. package/build/dist/UI/Components/List/List.js +1 -1
  237. package/build/dist/UI/Components/List/List.js.map +1 -1
  238. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +45 -5
  239. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  240. package/build/dist/UI/Components/ModelTable/TableView.js +40 -19
  241. package/build/dist/UI/Components/ModelTable/TableView.js.map +1 -1
  242. package/build/dist/UI/Components/Pagination/Pagination.js +62 -36
  243. package/build/dist/UI/Components/Pagination/Pagination.js.map +1 -1
  244. package/build/dist/UI/Components/Table/Table.js +1 -1
  245. package/build/dist/UI/Components/Table/Table.js.map +1 -1
  246. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js +1 -0
  247. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js.map +1 -1
  248. package/package.json +1 -1
@@ -1,123 +1,15 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import BadRequestException from "../../Types/Exception/BadRequestException";
11
- import JSONFunctions from "../../Types/JSONFunctions";
12
1
  import Metric from "../../Models/AnalyticsModels/Metric";
13
- import GlobalCache from "../Infrastructure/GlobalCache";
14
- import logger from "../Utils/Logger";
15
- import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
16
- import Response from "../Utils/Response";
17
- import CommonAPI from "./CommonAPI";
18
2
  import BaseAnalyticsAPI from "./BaseAnalyticsAPI";
19
3
  /*
20
- * Aggregate cache TTL. Dashboards typically auto-refresh every 30s+, so
21
- * an 8s window collapses bursts of identical requests (e.g. 12 widgets
22
- * loading on the same page) onto a single ClickHouse query while still
23
- * looking real-time to humans.
4
+ * Metric CRUD + aggregate endpoints. The 8-second project-scoped
5
+ * aggregate cache that used to live here has been promoted to
6
+ * `BaseAnalyticsAPI.getAggregate` so Log/Span/AuditLog/etc. benefit
7
+ * from the same dashboard-widget-burst collapse without duplicating
8
+ * the wrapper on every analytics API.
24
9
  */
25
- const AGGREGATE_CACHE_NAMESPACE = "metric-aggregate";
26
- const AGGREGATE_CACHE_TTL_SECONDS = 8;
27
10
  export default class MetricAPI extends BaseAnalyticsAPI {
28
11
  constructor(service) {
29
12
  super(Metric, service);
30
13
  }
31
- /*
32
- * Cached override of BaseAnalyticsAPI.getAggregate.
33
- *
34
- * Why a cache: each chart/value/gauge/table widget on a dashboard
35
- * issues its own /aggregate call. With 10+ widgets and a small group
36
- * of users hitting the same dashboard the underlying ClickHouse
37
- * cluster sees the same heavy aggregation many times in close
38
- * succession. Aggregations are read-only and pure (same input ->
39
- * same output for the bucket interval), so a brief result cache is
40
- * safe.
41
- *
42
- * Cache key: tenant project + the deserialized aggregateBy payload.
43
- * We must include the project so cross-tenant collisions cannot
44
- * leak data; we deliberately do NOT key on user id, because the
45
- * service layer applies project-scoped read permissions and metric
46
- * data is project-wide.
47
- *
48
- * Cache miss / Redis down: we fall through to the live query, so
49
- * cache outages degrade to today's behavior, never error.
50
- */
51
- async getAggregate(req, res) {
52
- var _a;
53
- await this.onBeforeList(req, res);
54
- let aggregateBy = null;
55
- if (req.body && req.body["aggregateBy"]) {
56
- aggregateBy = JSONFunctions.deserialize(req.body["aggregateBy"]);
57
- }
58
- if (!aggregateBy) {
59
- throw new BadRequestException("AggregateBy is required");
60
- }
61
- const databaseProps = await CommonAPI.getDatabaseCommonInteractionProps(req);
62
- const projectId = (_a = databaseProps.tenantId) === null || _a === void 0 ? void 0 : _a.toString();
63
- const cacheKey = projectId
64
- ? `${projectId}:${this.buildCacheKey(aggregateBy)}`
65
- : null;
66
- if (cacheKey) {
67
- try {
68
- const cached = await GlobalCache.getJSONObject(AGGREGATE_CACHE_NAMESPACE, cacheKey);
69
- if (cached) {
70
- return Response.sendJsonObjectResponse(req, res, cached);
71
- }
72
- }
73
- catch (err) {
74
- // Cache fetch failed — fall through to a live query.
75
- logger.debug("MetricAPI aggregate cache read failed");
76
- logger.debug(err);
77
- }
78
- }
79
- const aggregateResult = await this.service.aggregateBy(Object.assign(Object.assign({}, aggregateBy), { props: databaseProps }));
80
- const responseBody = Object.assign({}, aggregateResult);
81
- if (cacheKey) {
82
- try {
83
- await GlobalCache.setJSON(AGGREGATE_CACHE_NAMESPACE, cacheKey, responseBody, { expiresInSeconds: AGGREGATE_CACHE_TTL_SECONDS });
84
- }
85
- catch (err) {
86
- logger.debug("MetricAPI aggregate cache write failed");
87
- logger.debug(err);
88
- }
89
- }
90
- return Response.sendJsonObjectResponse(req, res, responseBody);
91
- }
92
- buildCacheKey(aggregateBy) {
93
- /*
94
- * Stable serialization. Date instances are normalized to ISO so two
95
- * logically-equal time windows hit the same cache slot, and we sort
96
- * keys via JSON.stringify replacer to keep ordering deterministic
97
- * across clients and across versions of V8.
98
- */
99
- return JSON.stringify(aggregateBy, (_key, value) => {
100
- if (value instanceof Date) {
101
- return value.toISOString();
102
- }
103
- if (value &&
104
- typeof value === "object" &&
105
- !Array.isArray(value) &&
106
- value.constructor === Object) {
107
- const sorted = {};
108
- for (const k of Object.keys(value).sort()) {
109
- sorted[k] = value[k];
110
- }
111
- return sorted;
112
- }
113
- return value;
114
- });
115
- }
116
14
  }
117
- __decorate([
118
- CaptureSpan(),
119
- __metadata("design:type", Function),
120
- __metadata("design:paramtypes", [Object, Object]),
121
- __metadata("design:returntype", Promise)
122
- ], MetricAPI.prototype, "getAggregate", null);
123
15
  //# sourceMappingURL=MetricAPI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricAPI.js","sourceRoot":"","sources":["../../../../Server/API/MetricAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetricAPI.js","sourceRoot":"","sources":["../../../../Server/API/MetricAPI.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,qCAAqC,CAAC;AAEzD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,gBAAuC;IAC5E,YAAmB,OAAsB;QACvC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -3,6 +3,7 @@ import UserMiddleware from "../Middleware/UserAuthorization";
3
3
  import ProjectService from "../Services/ProjectService";
4
4
  import ResellerService from "../Services/ResellerService";
5
5
  import TeamMemberService from "../Services/TeamMemberService";
6
+ import QueryHelper from "../Types/Database/QueryHelper";
6
7
  import Response from "../Utils/Response";
7
8
  import BaseAPI from "./BaseAPI";
8
9
  import BillingService from "../Services/BillingService";
@@ -150,22 +151,49 @@ export default class ProjectAPI extends BaseAPI {
150
151
  projects.push(teamMember.project);
151
152
  }
152
153
  }
153
- // get reseller for each project.
154
+ /*
155
+ * Batch-fetch resellers for every project in one query instead of
156
+ * one findOneById per project.
157
+ */
158
+ const resellerIds = [];
159
+ const seenResellerIds = new Set();
154
160
  for (const project of projects) {
155
- if (project.resellerId) {
156
- const reseller = await ResellerService.findOneById({
157
- id: project.resellerId,
158
- select: {
159
- enableTelemetryFeatures: true,
160
- },
161
- props: {
162
- isRoot: true,
163
- },
164
- });
165
- if (!reseller) {
166
- continue;
161
+ if (project.resellerId &&
162
+ !seenResellerIds.has(project.resellerId.toString())) {
163
+ seenResellerIds.add(project.resellerId.toString());
164
+ resellerIds.push(project.resellerId);
165
+ }
166
+ }
167
+ if (resellerIds.length > 0) {
168
+ const resellers = await ResellerService.findBy({
169
+ query: {
170
+ _id: QueryHelper.any(resellerIds.map((id) => {
171
+ return id.toString();
172
+ })),
173
+ },
174
+ select: {
175
+ _id: true,
176
+ enableTelemetryFeatures: true,
177
+ },
178
+ limit: LIMIT_PER_PROJECT,
179
+ skip: 0,
180
+ props: {
181
+ isRoot: true,
182
+ },
183
+ });
184
+ const resellersById = new Map();
185
+ for (const reseller of resellers) {
186
+ if (reseller._id) {
187
+ resellersById.set(reseller._id.toString(), reseller);
188
+ }
189
+ }
190
+ for (const project of projects) {
191
+ if (project.resellerId) {
192
+ const reseller = resellersById.get(project.resellerId.toString());
193
+ if (reseller) {
194
+ project.reseller = reseller;
195
+ }
167
196
  }
168
- project.reseller = reseller;
169
197
  }
170
198
  }
171
199
  return Response.sendEntityArrayResponse(req, res, projects, new PositiveNumber(projects.length), Project);
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectAPI.js","sourceRoot":"","sources":["../../../../Server/API/ProjectAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectAPI.js","sourceRoot":"","sources":["../../../../Server/API/ProjectAPI.ts"],"names":[],"mappings":"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"}
@@ -8,6 +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 BadRequestException from "../../Types/Exception/BadRequestException";
11
+ import InMemoryTTLCache from "../Infrastructure/InMemoryTTLCache";
11
12
  import LocalCache from "../Infrastructure/LocalCache";
12
13
  import Express from "../Utils/Express";
13
14
  import logger, { getLogAttributesFromRequest } from "../Utils/Logger";
@@ -16,7 +17,45 @@ import Telemetry from "../Utils/Telemetry";
16
17
  import Exception from "../../Types/Exception/Exception";
17
18
  import ServerException from "../../Types/Exception/ServerException";
18
19
  import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
19
- export default class StatusAPI {
20
+ class StatusAPI {
21
+ /**
22
+ * Runs `checkFn` with two layers of protection:
23
+ * 1. TTL cache — if the same check ran in the last HEALTH_CHECK_CACHE_TTL_MS
24
+ * ms, reuse its result (success or failure) without re-running.
25
+ * 2. Single-flight — if a check is already in flight, concurrent callers
26
+ * await the same promise instead of starting their own.
27
+ *
28
+ * On cache hit this is effectively free; on cache miss we run the check
29
+ * exactly once regardless of how many requests arrived concurrently.
30
+ */
31
+ static async runCachedCheck(checkName, checkFn) {
32
+ const cached = this.checkResultCache.get(checkName);
33
+ if (cached) {
34
+ if (cached.ok) {
35
+ return;
36
+ }
37
+ throw cached.error;
38
+ }
39
+ let inflight = this.inflightChecks.get(checkName);
40
+ if (!inflight) {
41
+ inflight = (async () => {
42
+ try {
43
+ await checkFn();
44
+ this.checkResultCache.set(checkName, { ok: true }, this.HEALTH_CHECK_CACHE_TTL_MS);
45
+ }
46
+ catch (e) {
47
+ const error = e instanceof Error ? e : new Error(String(e));
48
+ this.checkResultCache.set(checkName, { ok: false, error }, this.HEALTH_CHECK_CACHE_TTL_MS);
49
+ throw error;
50
+ }
51
+ finally {
52
+ this.inflightChecks.delete(checkName);
53
+ }
54
+ })();
55
+ this.inflightChecks.set(checkName, inflight);
56
+ }
57
+ await inflight;
58
+ }
20
59
  static init(options) {
21
60
  const statusCheckSuccessCounter = Telemetry.getCounter({
22
61
  name: "status.check.success",
@@ -78,8 +117,11 @@ export default class StatusAPI {
78
117
  }
79
118
  static async handleReadyCheck(options, stausReadySuccess, stausReadyFailed, req, res) {
80
119
  try {
81
- logger.info("Ready check: Init", getLogAttributesFromRequest(req));
82
- await options.readyCheck();
120
+ /*
121
+ * Cached for HEALTH_CHECK_CACHE_TTL_MS so k8s probe traffic does not
122
+ * hammer the underlying check on every request.
123
+ */
124
+ await this.runCachedCheck("ready", options.readyCheck);
83
125
  logger.info("Ready check: ok", getLogAttributesFromRequest(req));
84
126
  stausReadySuccess.add(1);
85
127
  Response.sendJsonObjectResponse(req, res, {
@@ -95,8 +137,8 @@ export default class StatusAPI {
95
137
  }
96
138
  static async handleLiveCheck(options, stausLiveSuccess, stausLiveFailed, req, res) {
97
139
  try {
98
- logger.info("Live check: Init", getLogAttributesFromRequest(req));
99
- await options.liveCheck();
140
+ // Cached for HEALTH_CHECK_CACHE_TTL_MS — see runCachedCheck for rationale.
141
+ await this.runCachedCheck("live", options.liveCheck);
100
142
  logger.info("Live check: ok", getLogAttributesFromRequest(req));
101
143
  stausLiveSuccess.add(1);
102
144
  Response.sendJsonObjectResponse(req, res, {
@@ -114,7 +156,8 @@ export default class StatusAPI {
114
156
  try {
115
157
  logger.debug("Global cache check", getLogAttributesFromRequest(req));
116
158
  if (options.globalCacheCheck) {
117
- await options.globalCacheCheck();
159
+ // Cached — see runCachedCheck for rationale.
160
+ await this.runCachedCheck("global-cache", options.globalCacheCheck);
118
161
  }
119
162
  else {
120
163
  throw new BadRequestException("Global cache check not implemented");
@@ -134,7 +177,8 @@ export default class StatusAPI {
134
177
  try {
135
178
  logger.debug("Analytics database check", getLogAttributesFromRequest(req));
136
179
  if (options.analyticsDatabaseCheck) {
137
- await options.analyticsDatabaseCheck();
180
+ // Cached — see runCachedCheck for rationale.
181
+ await this.runCachedCheck("analytics-database", options.analyticsDatabaseCheck);
138
182
  }
139
183
  else {
140
184
  throw new BadRequestException("Analytics database check not implemented");
@@ -154,7 +198,8 @@ export default class StatusAPI {
154
198
  try {
155
199
  logger.debug("Database check", getLogAttributesFromRequest(req));
156
200
  if (options.databaseCheck) {
157
- await options.databaseCheck();
201
+ // Cached — see runCachedCheck for rationale.
202
+ await this.runCachedCheck("database", options.databaseCheck);
158
203
  }
159
204
  else {
160
205
  throw new BadRequestException("Database check not implemented");
@@ -171,6 +216,28 @@ export default class StatusAPI {
171
216
  }
172
217
  }
173
218
  }
219
+ /**
220
+ * Cache of recent health check results, keyed by check name. Each entry
221
+ * lives for HEALTH_CHECK_CACHE_TTL_MS. Bounded to a small max size — there
222
+ * are only ~5 distinct check names in this API.
223
+ */
224
+ StatusAPI.checkResultCache = new InMemoryTTLCache(64);
225
+ /**
226
+ * In-flight check promises keyed by check name. When a cache miss occurs
227
+ * and multiple concurrent requests arrive, they all attach to the same
228
+ * promise instead of each triggering their own DB query. The entry is
229
+ * cleared as soon as the check settles.
230
+ */
231
+ StatusAPI.inflightChecks = new Map();
232
+ /**
233
+ * Cache TTL for health-check results. Chosen so that:
234
+ * - Two-thirds of typical k8s probes (default periodSeconds=10) hit
235
+ * the cache, removing constant DB load from liveness/readiness traffic.
236
+ * - Time-to-detect for a failing dependency only grows by ≤5s, which is
237
+ * well within the failureThreshold window k8s probes already tolerate.
238
+ */
239
+ StatusAPI.HEALTH_CHECK_CACHE_TTL_MS = 5000;
240
+ export default StatusAPI;
174
241
  __decorate([
175
242
  CaptureSpan(),
176
243
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"StatusAPI.js","sourceRoot":"","sources":["../../../../Server/API/StatusAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusAPI.js","sourceRoot":"","sources":["../../../../Server/API/StatusAPI.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,47 @@ export const DatabaseSslKey = process.env["DATABASE_SSL_KEY"] || undefined;
88
88
  export const DatabaseSslCert = process.env["DATABASE_SSL_CERT"] || undefined;
89
89
  export const DatabaseRejectUnauthorized = process.env["DATABASE_SSL_REJECT_UNAUTHORIZED"] === "true";
90
90
  export const ShouldDatabaseSslEnable = Boolean(DatabaseSslCa || (DatabaseSslCert && DatabaseSslKey));
91
+ /*
92
+ * Postgres pool size per API/Worker node. TypeORM's default is 10 which
93
+ * starves the API under any meaningful load — pick a number that, when
94
+ * multiplied by the number of running Node processes, stays under the
95
+ * Postgres server's `max_connections` (default 100 on a stock cluster).
96
+ */
97
+ export const MaxPostgresConnections = parseInt(process.env["DATABASE_MAX_OPEN_CONNECTIONS"] || "50", 10);
98
+ /*
99
+ * Postgres-side statement timeout (ms). Caps the wall-clock time of any
100
+ * single SQL statement. Without this, a single runaway query can pin a
101
+ * connection forever and starve the pool.
102
+ */
103
+ export const PostgresStatementTimeoutMs = parseInt(process.env["DATABASE_STATEMENT_TIMEOUT_MS"] || "30000", 10);
104
+ /*
105
+ * Node-postgres client-side query timeout (ms). Belt-and-braces for the
106
+ * server-side statement_timeout — fires even if the connection has gone
107
+ * silent or the server-side timeout doesn't kick in.
108
+ */
109
+ export const PostgresQueryTimeoutMs = parseInt(process.env["DATABASE_QUERY_TIMEOUT_MS"] || "30000", 10);
110
+ /*
111
+ * Postgres-side idle-in-transaction timeout (ms). Kills connections that
112
+ * are stuck holding row locks inside a BEGIN without committing.
113
+ */
114
+ export const PostgresIdleInTransactionTimeoutMs = parseInt(process.env["DATABASE_IDLE_IN_TRANSACTION_TIMEOUT_MS"] || "60000", 10);
115
+ /*
116
+ * pg-pool acquire timeout (ms). How long a query waits for a free
117
+ * connection before failing. Without this, requests pile up invisibly
118
+ * when the pool is exhausted.
119
+ */
120
+ export const PostgresConnectionAcquireTimeoutMs = parseInt(process.env["DATABASE_CONNECTION_TIMEOUT_MS"] || "5000", 10);
121
+ /*
122
+ * pg-pool idle connection timeout (ms). Closes connections that have
123
+ * been sitting unused for this long, freeing server-side slots.
124
+ */
125
+ export const PostgresIdleTimeoutMs = parseInt(process.env["DATABASE_IDLE_TIMEOUT_MS"] || "30000", 10);
126
+ /*
127
+ * TypeORM slow-query log threshold (ms). Any query exceeding this is
128
+ * logged so we can find offenders in production without per-query
129
+ * tracing. Set to 0 to disable.
130
+ */
131
+ export const PostgresSlowQueryLogThresholdMs = parseInt(process.env["DATABASE_SLOW_QUERY_LOG_THRESHOLD_MS"] || "1000", 10);
91
132
  export const EncryptionSecret = new ObjectID(process.env["ENCRYPTION_SECRET"] || "secret");
92
133
  export const OpenSourceDeploymentWebhookUrl = process.env["OPEN_SOURCE_DEPLOYMENT_WEBHOOK_URL"] || "";
93
134
  export const AirtableApiKey = process.env["AIRTABLE_API_KEY"] || "";
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentConfig.js","sourceRoot":"","sources":["../../../Server/EnvironmentConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentConfig.js","sourceRoot":"","sources":["../../../Server/EnvironmentConfig.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DatabaseHost, DatabaseName, DatabasePassword, DatabasePort, DatabaseRejectUnauthorized, DatabaseSslCa, DatabaseSslCert, DatabaseSslKey, DatabaseUsername, ShouldDatabaseSslEnable, } from "../../../Server/EnvironmentConfig";
1
+ import { DatabaseHost, DatabaseName, DatabasePassword, DatabasePort, DatabaseRejectUnauthorized, DatabaseSslCa, DatabaseSslCert, DatabaseSslKey, DatabaseUsername, MaxPostgresConnections, PostgresConnectionAcquireTimeoutMs, PostgresIdleInTransactionTimeoutMs, PostgresIdleTimeoutMs, PostgresQueryTimeoutMs, PostgresSlowQueryLogThresholdMs, PostgresStatementTimeoutMs, ShouldDatabaseSslEnable, } from "../../../Server/EnvironmentConfig";
2
2
  import Migrations from "./SchemaMigrations/Index";
3
3
  import DatabaseType from "../../../Types/DatabaseType";
4
4
  import Entities from "../../../Models/DatabaseModels/Index";
@@ -22,7 +22,25 @@ const dataSourceOptions = {
22
22
  cert: DatabaseSslCert,
23
23
  }
24
24
  : false,
25
- // logging: 'all',
25
+ /*
26
+ * Anything in `extra` is forwarded to the underlying node-postgres pool
27
+ * and client. Pool sizing + timeouts live here because TypeORM's defaults
28
+ * (10 connections, no timeouts) are too small for any non-trivial load.
29
+ */
30
+ extra: {
31
+ max: MaxPostgresConnections,
32
+ idleTimeoutMillis: PostgresIdleTimeoutMs,
33
+ connectionTimeoutMillis: PostgresConnectionAcquireTimeoutMs,
34
+ statement_timeout: PostgresStatementTimeoutMs,
35
+ query_timeout: PostgresQueryTimeoutMs,
36
+ idle_in_transaction_session_timeout: PostgresIdleInTransactionTimeoutMs,
37
+ },
38
+ /*
39
+ * Log any query slower than the configured threshold so we can find
40
+ * offenders in production. TypeORM emits these via the configured
41
+ * logger; the default `advanced-console` logger writes to stdout.
42
+ */
43
+ maxQueryExecutionTime: PostgresSlowQueryLogThresholdMs,
26
44
  synchronize: false,
27
45
  };
28
46
  export default dataSourceOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"DataSourceOptions.js","sourceRoot":"","sources":["../../../../../Server/Infrastructure/Postgres/DataSourceOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,QAAQ,MAAM,sCAAsC,CAAC;AAG5D,MAAM,iBAAiB,GAAsB;IAC3C,IAAI,EAAE,YAAY,CAAC,QAAQ;IAC3B,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,YAAY;IACtB,mBAAmB,EAAE,YAAY;IACjC,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,QAAQ;IAClB,eAAe,EAAE,WAAW;IAC5B,GAAG,EAAE,uBAAuB;QAC1B,CAAC,CAAC;YACE,kBAAkB,EAAE,0BAA0B;YAC9C,EAAE,EAAE,aAAa;YACjB,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,eAAe;SACtB;QACH,CAAC,CAAC,KAAK;IACT,kBAAkB;IAClB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"DataSourceOptions.js","sourceRoot":"","sources":["../../../../../Server/Infrastructure/Postgres/DataSourceOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,kCAAkC,EAClC,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,QAAQ,MAAM,sCAAsC,CAAC;AAG5D,MAAM,iBAAiB,GAAsB;IAC3C,IAAI,EAAE,YAAY,CAAC,QAAQ;IAC3B,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,YAAY;IACtB,mBAAmB,EAAE,YAAY;IACjC,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,QAAQ;IAClB,eAAe,EAAE,WAAW;IAC5B,GAAG,EAAE,uBAAuB;QAC1B,CAAC,CAAC;YACE,kBAAkB,EAAE,0BAA0B;YAC9C,EAAE,EAAE,aAAa;YACjB,GAAG,EAAE,cAAc;YACnB,IAAI,EAAE,eAAe;SACtB;QACH,CAAC,CAAC,KAAK;IACT;;;;OAIG;IACH,KAAK,EAAE;QACL,GAAG,EAAE,sBAAsB;QAC3B,iBAAiB,EAAE,qBAAqB;QACxC,uBAAuB,EAAE,kCAAkC;QAC3D,iBAAiB,EAAE,0BAA0B;QAC7C,aAAa,EAAE,sBAAsB;QACrC,mCAAmC,EAAE,kCAAkC;KACxE;IACD;;;;OAIG;IACH,qBAAqB,EAAE,+BAA+B;IACtD,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,16 @@
1
+ export class AddAgentVersionToKubernetesDockerHost1779392865146 {
2
+ constructor() {
3
+ this.name = "AddAgentVersionToKubernetesDockerHost1779392865146";
4
+ }
5
+ async up(queryRunner) {
6
+ await queryRunner.query(`ALTER TABLE "KubernetesCluster" ADD "agentVersion" character varying(100)`);
7
+ await queryRunner.query(`ALTER TABLE "DockerHost" ADD "agentVersion" character varying(100)`);
8
+ await queryRunner.query(`ALTER TABLE "Host" ADD "agentVersion" character varying(100)`);
9
+ }
10
+ async down(queryRunner) {
11
+ await queryRunner.query(`ALTER TABLE "Host" DROP COLUMN "agentVersion"`);
12
+ await queryRunner.query(`ALTER TABLE "DockerHost" DROP COLUMN "agentVersion"`);
13
+ await queryRunner.query(`ALTER TABLE "KubernetesCluster" DROP COLUMN "agentVersion"`);
14
+ }
15
+ }
16
+ //# sourceMappingURL=1779392865146-AddAgentVersionToKubernetesDockerHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1779392865146-AddAgentVersionToKubernetesDockerHost.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1779392865146-AddAgentVersionToKubernetesDockerHost.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kDAAkD;IAA/D;QAGE,SAAI,GAAG,oDAAoD,CAAC;IAuB9D,CAAC;IArBQ,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CACrB,2EAA2E,CAC5E,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,oEAAoE,CACrE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACzE,MAAM,WAAW,CAAC,KAAK,CACrB,qDAAqD,CACtD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,4DAA4D,CAC7D,CAAC;IACJ,CAAC;CACF"}