@oneuptime/common 10.0.65 → 10.0.67

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 (276) hide show
  1. package/Models/DatabaseModels/DockerHostOwnerTeam.ts +464 -0
  2. package/Models/DatabaseModels/DockerHostOwnerUser.ts +463 -0
  3. package/Models/DatabaseModels/GlobalConfig.ts +56 -0
  4. package/Models/DatabaseModels/Index.ts +28 -0
  5. package/Models/DatabaseModels/KubernetesClusterOwnerTeam.ts +464 -0
  6. package/Models/DatabaseModels/KubernetesClusterOwnerUser.ts +463 -0
  7. package/Models/DatabaseModels/KubernetesResource.ts +548 -0
  8. package/Models/DatabaseModels/MetricPipelineRule.ts +804 -0
  9. package/Models/DatabaseModels/MetricRecordingRule.ts +470 -0
  10. package/Models/DatabaseModels/Monitor.ts +2 -0
  11. package/Models/DatabaseModels/Project.ts +83 -0
  12. package/Models/DatabaseModels/Service.ts +79 -0
  13. package/Models/DatabaseModels/TelegramLog.ts +1025 -0
  14. package/Models/DatabaseModels/TraceDropFilter.ts +508 -0
  15. package/Models/DatabaseModels/TracePipeline.ts +436 -0
  16. package/Models/DatabaseModels/TracePipelineProcessor.ts +454 -0
  17. package/Models/DatabaseModels/TraceRecordingRule.ts +470 -0
  18. package/Models/DatabaseModels/TraceScrubRule.ts +546 -0
  19. package/Models/DatabaseModels/UserNotificationRule.ts +49 -0
  20. package/Models/DatabaseModels/UserNotificationSetting.ts +17 -0
  21. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +48 -0
  22. package/Models/DatabaseModels/UserTelegram.ts +312 -0
  23. package/Server/API/KubernetesResourceAPI.ts +129 -0
  24. package/Server/API/UserTelegramAPI.ts +167 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.ts +399 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.ts +205 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.ts +335 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.ts +29 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.ts +53 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1776761171349-MigrationName.ts +325 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -1
  32. package/Server/Services/DockerHostOwnerTeamService.ts +10 -0
  33. package/Server/Services/DockerHostOwnerUserService.ts +10 -0
  34. package/Server/Services/Index.ts +6 -0
  35. package/Server/Services/KubernetesClusterOwnerTeamService.ts +10 -0
  36. package/Server/Services/KubernetesClusterOwnerUserService.ts +10 -0
  37. package/Server/Services/KubernetesResourceService.ts +351 -0
  38. package/Server/Services/MetricPipelineRuleService.ts +10 -0
  39. package/Server/Services/MetricRecordingRuleService.ts +10 -0
  40. package/Server/Services/TelegramLogService.ts +15 -0
  41. package/Server/Services/TelegramService.ts +139 -0
  42. package/Server/Services/TraceDropFilterService.ts +10 -0
  43. package/Server/Services/TracePipelineProcessorService.ts +10 -0
  44. package/Server/Services/TracePipelineService.ts +10 -0
  45. package/Server/Services/TraceRecordingRuleService.ts +10 -0
  46. package/Server/Services/TraceScrubRuleService.ts +10 -0
  47. package/Server/Services/UserNotificationRuleService.ts +350 -1
  48. package/Server/Services/UserNotificationSettingService.ts +114 -0
  49. package/Server/Services/UserTelegramService.ts +140 -0
  50. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +71 -9
  51. package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +483 -75
  52. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +379 -6
  53. package/Server/Utils/Monitor/MonitorResource.ts +29 -15
  54. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +29 -16
  55. package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.ts +502 -0
  56. package/Tests/Types/Date.test.ts +158 -0
  57. package/Tests/Utils/MetricUnitUtil.test.ts +216 -0
  58. package/Tests/Utils/Metrics/MetricFormulaEvaluator.test.ts +269 -0
  59. package/Tests/Utils/Metrics/MetricResultUnitConverter.test.ts +231 -0
  60. package/Tests/Utils/RecordingRuleExpression.test.ts +177 -0
  61. package/Types/Date.ts +12 -3
  62. package/Types/Icon/IconProp.ts +1 -0
  63. package/Types/Kubernetes/KubernetesInventoryExtractor.ts +327 -0
  64. package/Types/Kubernetes/KubernetesObjectParser.ts +1949 -0
  65. package/Types/Metrics/MetricDownsamplingRetentionDays.ts +49 -0
  66. package/Types/Metrics/MetricFormulaConfigData.ts +4 -0
  67. package/Types/Metrics/MetricPipelineRuleFilterCondition.ts +136 -0
  68. package/Types/Metrics/MetricPipelineRuleType.ts +27 -0
  69. package/Types/Metrics/RecordingRuleDefinition.ts +180 -0
  70. package/Types/Monitor/CriteriaFilter.ts +43 -0
  71. package/Types/Monitor/MetricMonitor/MetricCriteriaContext.ts +70 -0
  72. package/Types/Permission.ts +531 -0
  73. package/Types/Telegram/TelegramMessage.ts +9 -0
  74. package/Types/TelegramStatus.ts +14 -0
  75. package/Types/Trace/TraceAggregationType.ts +17 -0
  76. package/Types/Trace/TraceDropFilterAction.ts +6 -0
  77. package/Types/Trace/TracePipelineProcessorType.ts +56 -0
  78. package/Types/Trace/TraceRecordingRuleDefinition.ts +218 -0
  79. package/Types/Trace/TraceScrubAction.ts +7 -0
  80. package/Types/Trace/TraceScrubField.ts +8 -0
  81. package/Types/Trace/TraceScrubPatternType.ts +10 -0
  82. package/UI/Components/CardSelect/CardSelect.tsx +9 -1
  83. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +6 -10
  84. package/UI/Components/Forms/Fields/FormField.tsx +1 -0
  85. package/UI/Components/Forms/Types/Field.ts +1 -0
  86. package/UI/Components/Icon/Icon.tsx +15 -0
  87. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +57 -0
  88. package/UI/Components/Page/Page.tsx +6 -0
  89. package/Utils/MetricUnitUtil.ts +289 -0
  90. package/Utils/Metrics/MetricFormulaEvaluator.ts +610 -0
  91. package/Utils/Metrics/MetricResultUnitConverter.ts +91 -0
  92. package/Utils/Metrics/RecordingRuleExpression.ts +359 -0
  93. package/Utils/ValueFormatter.ts +137 -13
  94. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js +480 -0
  95. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js.map +1 -0
  96. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js +479 -0
  97. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js.map +1 -0
  98. package/build/dist/Models/DatabaseModels/GlobalConfig.js +59 -0
  99. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  100. package/build/dist/Models/DatabaseModels/Index.js +28 -0
  101. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  102. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js +480 -0
  103. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js.map +1 -0
  104. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js +479 -0
  105. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js.map +1 -0
  106. package/build/dist/Models/DatabaseModels/KubernetesResource.js +590 -0
  107. package/build/dist/Models/DatabaseModels/KubernetesResource.js.map +1 -0
  108. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js +836 -0
  109. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js.map +1 -0
  110. package/build/dist/Models/DatabaseModels/MetricRecordingRule.js +497 -0
  111. package/build/dist/Models/DatabaseModels/MetricRecordingRule.js.map +1 -0
  112. package/build/dist/Models/DatabaseModels/Monitor.js +2 -0
  113. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  114. package/build/dist/Models/DatabaseModels/Project.js +85 -0
  115. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  116. package/build/dist/Models/DatabaseModels/Service.js +79 -0
  117. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  118. package/build/dist/Models/DatabaseModels/TelegramLog.js +1056 -0
  119. package/build/dist/Models/DatabaseModels/TelegramLog.js.map +1 -0
  120. package/build/dist/Models/DatabaseModels/TraceDropFilter.js +536 -0
  121. package/build/dist/Models/DatabaseModels/TraceDropFilter.js.map +1 -0
  122. package/build/dist/Models/DatabaseModels/TracePipeline.js +462 -0
  123. package/build/dist/Models/DatabaseModels/TracePipeline.js.map +1 -0
  124. package/build/dist/Models/DatabaseModels/TracePipelineProcessor.js +476 -0
  125. package/build/dist/Models/DatabaseModels/TracePipelineProcessor.js.map +1 -0
  126. package/build/dist/Models/DatabaseModels/TraceRecordingRule.js +497 -0
  127. package/build/dist/Models/DatabaseModels/TraceRecordingRule.js.map +1 -0
  128. package/build/dist/Models/DatabaseModels/TraceScrubRule.js +575 -0
  129. package/build/dist/Models/DatabaseModels/TraceScrubRule.js.map +1 -0
  130. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +49 -0
  131. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
  132. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +19 -0
  133. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
  134. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +48 -0
  135. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
  136. package/build/dist/Models/DatabaseModels/UserTelegram.js +331 -0
  137. package/build/dist/Models/DatabaseModels/UserTelegram.js.map +1 -0
  138. package/build/dist/Server/API/KubernetesResourceAPI.js +98 -0
  139. package/build/dist/Server/API/KubernetesResourceAPI.js.map +1 -0
  140. package/build/dist/Server/API/UserTelegramAPI.js +99 -0
  141. package/build/dist/Server/API/UserTelegramAPI.js.map +1 -0
  142. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.js +144 -0
  143. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.js.map +1 -0
  144. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.js +82 -0
  145. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.js.map +1 -0
  146. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.js +118 -0
  147. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.js.map +1 -0
  148. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.js +16 -0
  149. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.js.map +1 -0
  150. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.js +24 -0
  151. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.js.map +1 -0
  152. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776761171349-MigrationName.js +116 -0
  153. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776761171349-MigrationName.js.map +1 -0
  154. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  155. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  156. package/build/dist/Server/Services/DockerHostOwnerTeamService.js +9 -0
  157. package/build/dist/Server/Services/DockerHostOwnerTeamService.js.map +1 -0
  158. package/build/dist/Server/Services/DockerHostOwnerUserService.js +9 -0
  159. package/build/dist/Server/Services/DockerHostOwnerUserService.js.map +1 -0
  160. package/build/dist/Server/Services/Index.js +6 -0
  161. package/build/dist/Server/Services/Index.js.map +1 -1
  162. package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js +9 -0
  163. package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js.map +1 -0
  164. package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js +9 -0
  165. package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js.map +1 -0
  166. package/build/dist/Server/Services/KubernetesResourceService.js +237 -0
  167. package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -0
  168. package/build/dist/Server/Services/MetricPipelineRuleService.js +9 -0
  169. package/build/dist/Server/Services/MetricPipelineRuleService.js.map +1 -0
  170. package/build/dist/Server/Services/MetricRecordingRuleService.js +9 -0
  171. package/build/dist/Server/Services/MetricRecordingRuleService.js.map +1 -0
  172. package/build/dist/Server/Services/TelegramLogService.js +13 -0
  173. package/build/dist/Server/Services/TelegramLogService.js.map +1 -0
  174. package/build/dist/Server/Services/TelegramService.js +100 -0
  175. package/build/dist/Server/Services/TelegramService.js.map +1 -0
  176. package/build/dist/Server/Services/TraceDropFilterService.js +9 -0
  177. package/build/dist/Server/Services/TraceDropFilterService.js.map +1 -0
  178. package/build/dist/Server/Services/TracePipelineProcessorService.js +9 -0
  179. package/build/dist/Server/Services/TracePipelineProcessorService.js.map +1 -0
  180. package/build/dist/Server/Services/TracePipelineService.js +9 -0
  181. package/build/dist/Server/Services/TracePipelineService.js.map +1 -0
  182. package/build/dist/Server/Services/TraceRecordingRuleService.js +9 -0
  183. package/build/dist/Server/Services/TraceRecordingRuleService.js.map +1 -0
  184. package/build/dist/Server/Services/TraceScrubRuleService.js +9 -0
  185. package/build/dist/Server/Services/TraceScrubRuleService.js.map +1 -0
  186. package/build/dist/Server/Services/UserNotificationRuleService.js +272 -21
  187. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  188. package/build/dist/Server/Services/UserNotificationSettingService.js +94 -0
  189. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  190. package/build/dist/Server/Services/UserTelegramService.js +133 -0
  191. package/build/dist/Server/Services/UserTelegramService.js.map +1 -0
  192. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +56 -9
  193. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  194. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js +335 -53
  195. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js.map +1 -1
  196. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +277 -5
  197. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  198. package/build/dist/Server/Utils/Monitor/MonitorResource.js +25 -12
  199. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  200. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +24 -12
  201. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  202. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +407 -0
  203. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +1 -0
  204. package/build/dist/Tests/Types/Date.test.js +96 -0
  205. package/build/dist/Tests/Types/Date.test.js.map +1 -1
  206. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +159 -0
  207. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +1 -0
  208. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +224 -0
  209. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +1 -0
  210. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +180 -0
  211. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +1 -0
  212. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +142 -0
  213. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +1 -0
  214. package/build/dist/Types/Date.js +9 -3
  215. package/build/dist/Types/Date.js.map +1 -1
  216. package/build/dist/Types/Icon/IconProp.js +1 -0
  217. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  218. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js +200 -0
  219. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js.map +1 -0
  220. package/build/dist/Types/Kubernetes/KubernetesObjectParser.js +1205 -0
  221. package/build/dist/Types/Kubernetes/KubernetesObjectParser.js.map +1 -0
  222. package/build/dist/Types/Metrics/MetricDownsamplingRetentionDays.js +32 -0
  223. package/build/dist/Types/Metrics/MetricDownsamplingRetentionDays.js.map +1 -0
  224. package/build/dist/Types/Metrics/MetricPipelineRuleFilterCondition.js +103 -0
  225. package/build/dist/Types/Metrics/MetricPipelineRuleFilterCondition.js.map +1 -0
  226. package/build/dist/Types/Metrics/MetricPipelineRuleType.js +27 -0
  227. package/build/dist/Types/Metrics/MetricPipelineRuleType.js.map +1 -0
  228. package/build/dist/Types/Metrics/RecordingRuleDefinition.js +110 -0
  229. package/build/dist/Types/Metrics/RecordingRuleDefinition.js.map +1 -0
  230. package/build/dist/Types/Monitor/CriteriaFilter.js +22 -0
  231. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  232. package/build/dist/Types/Monitor/MetricMonitor/MetricCriteriaContext.js +2 -0
  233. package/build/dist/Types/Monitor/MetricMonitor/MetricCriteriaContext.js.map +1 -0
  234. package/build/dist/Types/Permission.js +464 -0
  235. package/build/dist/Types/Permission.js.map +1 -1
  236. package/build/dist/Types/Telegram/TelegramMessage.js +2 -0
  237. package/build/dist/Types/Telegram/TelegramMessage.js.map +1 -0
  238. package/build/dist/Types/TelegramStatus.js +15 -0
  239. package/build/dist/Types/TelegramStatus.js.map +1 -0
  240. package/build/dist/Types/Trace/TraceAggregationType.js +18 -0
  241. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -0
  242. package/build/dist/Types/Trace/TraceDropFilterAction.js +7 -0
  243. package/build/dist/Types/Trace/TraceDropFilterAction.js.map +1 -0
  244. package/build/dist/Types/Trace/TracePipelineProcessorType.js +10 -0
  245. package/build/dist/Types/Trace/TracePipelineProcessorType.js.map +1 -0
  246. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +145 -0
  247. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -0
  248. package/build/dist/Types/Trace/TraceScrubAction.js +8 -0
  249. package/build/dist/Types/Trace/TraceScrubAction.js.map +1 -0
  250. package/build/dist/Types/Trace/TraceScrubField.js +9 -0
  251. package/build/dist/Types/Trace/TraceScrubField.js.map +1 -0
  252. package/build/dist/Types/Trace/TraceScrubPatternType.js +11 -0
  253. package/build/dist/Types/Trace/TraceScrubPatternType.js.map +1 -0
  254. package/build/dist/UI/Components/CardSelect/CardSelect.js +3 -1
  255. package/build/dist/UI/Components/CardSelect/CardSelect.js.map +1 -1
  256. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +6 -9
  257. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  258. package/build/dist/UI/Components/Forms/Fields/FormField.js +1 -1
  259. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  260. package/build/dist/UI/Components/Icon/Icon.js +5 -0
  261. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  262. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +30 -0
  263. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  264. package/build/dist/UI/Components/Page/Page.js +1 -0
  265. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  266. package/build/dist/Utils/MetricUnitUtil.js +232 -0
  267. package/build/dist/Utils/MetricUnitUtil.js.map +1 -0
  268. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js +453 -0
  269. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js.map +1 -0
  270. package/build/dist/Utils/Metrics/MetricResultUnitConverter.js +61 -0
  271. package/build/dist/Utils/Metrics/MetricResultUnitConverter.js.map +1 -0
  272. package/build/dist/Utils/Metrics/RecordingRuleExpression.js +298 -0
  273. package/build/dist/Utils/Metrics/RecordingRuleExpression.js.map +1 -0
  274. package/build/dist/Utils/ValueFormatter.js +123 -13
  275. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  276. package/package.json +2 -2
@@ -0,0 +1,463 @@
1
+ import DockerHost from "./DockerHost";
2
+ import Project from "./Project";
3
+ import User from "./User";
4
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
5
+ import Route from "../../Types/API/Route";
6
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
7
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
8
+ import ColumnType from "../../Types/Database/ColumnType";
9
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
10
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
11
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
12
+ import TableColumn from "../../Types/Database/TableColumn";
13
+ import TableColumnType from "../../Types/Database/TableColumnType";
14
+ import TableMetadata from "../../Types/Database/TableMetadata";
15
+ import TenantColumn from "../../Types/Database/TenantColumn";
16
+ import IconProp from "../../Types/Icon/IconProp";
17
+ import ObjectID from "../../Types/ObjectID";
18
+ import Permission from "../../Types/Permission";
19
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
20
+
21
+ @EnableDocumentation()
22
+ @TenantColumn("projectId")
23
+ @TableAccessControl({
24
+ create: [
25
+ Permission.ProjectOwner,
26
+ Permission.ProjectAdmin,
27
+ Permission.ProjectMember,
28
+ Permission.SettingsManager,
29
+ Permission.CreateDockerHostOwnerUser,
30
+ ],
31
+ read: [
32
+ Permission.ProjectOwner,
33
+ Permission.ProjectAdmin,
34
+ Permission.ProjectMember,
35
+ Permission.Viewer,
36
+ Permission.SettingsManager,
37
+ Permission.ReadDockerHostOwnerUser,
38
+ Permission.ReadAllProjectResources,
39
+ ],
40
+ delete: [
41
+ Permission.ProjectOwner,
42
+ Permission.ProjectAdmin,
43
+ Permission.ProjectMember,
44
+ Permission.SettingsManager,
45
+ Permission.DeleteDockerHostOwnerUser,
46
+ ],
47
+ update: [
48
+ Permission.ProjectOwner,
49
+ Permission.ProjectAdmin,
50
+ Permission.ProjectMember,
51
+ Permission.SettingsManager,
52
+ Permission.EditDockerHostOwnerUser,
53
+ ],
54
+ })
55
+ @EnableWorkflow({
56
+ create: true,
57
+ delete: true,
58
+ update: true,
59
+ read: true,
60
+ })
61
+ @CrudApiEndpoint(new Route("/docker-host-owner-user"))
62
+ @TableMetadata({
63
+ tableName: "DockerHostOwnerUser",
64
+ singularName: "Docker Host User Owner",
65
+ pluralName: "Docker Host User Owners",
66
+ icon: IconProp.Cube,
67
+ tableDescription: "Add users as owners to your Docker hosts.",
68
+ })
69
+ @Entity({
70
+ name: "DockerHostOwnerUser",
71
+ })
72
+ export default class DockerHostOwnerUser extends BaseModel {
73
+ @ColumnAccessControl({
74
+ create: [
75
+ Permission.ProjectOwner,
76
+ Permission.ProjectAdmin,
77
+ Permission.ProjectMember,
78
+ Permission.SettingsManager,
79
+ Permission.CreateDockerHostOwnerUser,
80
+ ],
81
+ read: [
82
+ Permission.ProjectOwner,
83
+ Permission.ProjectAdmin,
84
+ Permission.ProjectMember,
85
+ Permission.Viewer,
86
+ Permission.SettingsManager,
87
+ Permission.ReadDockerHostOwnerUser,
88
+ Permission.ReadAllProjectResources,
89
+ ],
90
+ update: [],
91
+ })
92
+ @TableColumn({
93
+ manyToOneRelationColumn: "projectId",
94
+ type: TableColumnType.Entity,
95
+ modelType: Project,
96
+ title: "Project",
97
+ description: "Relation to Project Resource in which this object belongs",
98
+ })
99
+ @ManyToOne(
100
+ () => {
101
+ return Project;
102
+ },
103
+ {
104
+ eager: false,
105
+ nullable: false,
106
+ onDelete: "CASCADE",
107
+ orphanedRowAction: "nullify",
108
+ },
109
+ )
110
+ @JoinColumn({ name: "projectId" })
111
+ public project?: Project = undefined;
112
+
113
+ @ColumnAccessControl({
114
+ create: [
115
+ Permission.ProjectOwner,
116
+ Permission.ProjectAdmin,
117
+ Permission.ProjectMember,
118
+ Permission.SettingsManager,
119
+ Permission.CreateDockerHostOwnerUser,
120
+ ],
121
+ read: [
122
+ Permission.ProjectOwner,
123
+ Permission.ProjectAdmin,
124
+ Permission.ProjectMember,
125
+ Permission.Viewer,
126
+ Permission.SettingsManager,
127
+ Permission.ReadDockerHostOwnerUser,
128
+ Permission.ReadAllProjectResources,
129
+ ],
130
+ update: [],
131
+ })
132
+ @Index()
133
+ @TableColumn({
134
+ type: TableColumnType.ObjectID,
135
+ required: true,
136
+ canReadOnRelationQuery: true,
137
+ title: "Project ID",
138
+ description: "ID of your OneUptime Project in which this object belongs",
139
+ })
140
+ @Column({
141
+ type: ColumnType.ObjectID,
142
+ nullable: false,
143
+ transformer: ObjectID.getDatabaseTransformer(),
144
+ })
145
+ public projectId?: ObjectID = undefined;
146
+
147
+ @ColumnAccessControl({
148
+ create: [
149
+ Permission.ProjectOwner,
150
+ Permission.ProjectAdmin,
151
+ Permission.ProjectMember,
152
+ Permission.SettingsManager,
153
+ Permission.CreateDockerHostOwnerUser,
154
+ ],
155
+ read: [
156
+ Permission.ProjectOwner,
157
+ Permission.ProjectAdmin,
158
+ Permission.ProjectMember,
159
+ Permission.Viewer,
160
+ Permission.SettingsManager,
161
+ Permission.ReadDockerHostOwnerUser,
162
+ Permission.ReadAllProjectResources,
163
+ ],
164
+ update: [],
165
+ })
166
+ @TableColumn({
167
+ manyToOneRelationColumn: "userId",
168
+ type: TableColumnType.Entity,
169
+ modelType: User,
170
+ title: "User",
171
+ description:
172
+ "User that is the owner. This user will receive notifications. ",
173
+ })
174
+ @ManyToOne(
175
+ () => {
176
+ return User;
177
+ },
178
+ {
179
+ eager: false,
180
+ nullable: true,
181
+ onDelete: "CASCADE",
182
+ orphanedRowAction: "nullify",
183
+ },
184
+ )
185
+ @JoinColumn({ name: "userId" })
186
+ public user?: User = undefined;
187
+
188
+ @ColumnAccessControl({
189
+ create: [
190
+ Permission.ProjectOwner,
191
+ Permission.ProjectAdmin,
192
+ Permission.ProjectMember,
193
+ Permission.SettingsManager,
194
+ Permission.CreateDockerHostOwnerUser,
195
+ ],
196
+ read: [
197
+ Permission.ProjectOwner,
198
+ Permission.ProjectAdmin,
199
+ Permission.ProjectMember,
200
+ Permission.Viewer,
201
+ Permission.SettingsManager,
202
+ Permission.ReadDockerHostOwnerUser,
203
+ Permission.ReadAllProjectResources,
204
+ ],
205
+ update: [],
206
+ })
207
+ @Index()
208
+ @TableColumn({
209
+ type: TableColumnType.ObjectID,
210
+ required: true,
211
+ canReadOnRelationQuery: true,
212
+ title: "User ID",
213
+ description: "ID of your OneUptime User in which this object belongs",
214
+ })
215
+ @Column({
216
+ type: ColumnType.ObjectID,
217
+ nullable: false,
218
+ transformer: ObjectID.getDatabaseTransformer(),
219
+ })
220
+ public userId?: ObjectID = undefined;
221
+
222
+ @ColumnAccessControl({
223
+ create: [
224
+ Permission.ProjectOwner,
225
+ Permission.ProjectAdmin,
226
+ Permission.ProjectMember,
227
+ Permission.SettingsManager,
228
+ Permission.CreateDockerHostOwnerUser,
229
+ ],
230
+ read: [
231
+ Permission.ProjectOwner,
232
+ Permission.ProjectAdmin,
233
+ Permission.ProjectMember,
234
+ Permission.Viewer,
235
+ Permission.SettingsManager,
236
+ Permission.ReadDockerHostOwnerUser,
237
+ Permission.ReadAllProjectResources,
238
+ ],
239
+ update: [],
240
+ })
241
+ @TableColumn({
242
+ manyToOneRelationColumn: "dockerHostId",
243
+ type: TableColumnType.Entity,
244
+ modelType: DockerHost,
245
+ title: "Docker Host",
246
+ description:
247
+ "Relation to Docker Host Resource in which this object belongs",
248
+ })
249
+ @ManyToOne(
250
+ () => {
251
+ return DockerHost;
252
+ },
253
+ {
254
+ eager: false,
255
+ nullable: true,
256
+ onDelete: "CASCADE",
257
+ orphanedRowAction: "nullify",
258
+ },
259
+ )
260
+ @JoinColumn({ name: "dockerHostId" })
261
+ public dockerHost?: DockerHost = undefined;
262
+
263
+ @ColumnAccessControl({
264
+ create: [
265
+ Permission.ProjectOwner,
266
+ Permission.ProjectAdmin,
267
+ Permission.ProjectMember,
268
+ Permission.SettingsManager,
269
+ Permission.CreateDockerHostOwnerUser,
270
+ ],
271
+ read: [
272
+ Permission.ProjectOwner,
273
+ Permission.ProjectAdmin,
274
+ Permission.ProjectMember,
275
+ Permission.Viewer,
276
+ Permission.SettingsManager,
277
+ Permission.ReadDockerHostOwnerUser,
278
+ Permission.ReadAllProjectResources,
279
+ ],
280
+ update: [],
281
+ })
282
+ @Index()
283
+ @TableColumn({
284
+ type: TableColumnType.ObjectID,
285
+ required: true,
286
+ canReadOnRelationQuery: true,
287
+ title: "Docker Host ID",
288
+ description:
289
+ "ID of your OneUptime Docker Host in which this object belongs",
290
+ })
291
+ @Column({
292
+ type: ColumnType.ObjectID,
293
+ nullable: false,
294
+ transformer: ObjectID.getDatabaseTransformer(),
295
+ })
296
+ public dockerHostId?: ObjectID = undefined;
297
+
298
+ @ColumnAccessControl({
299
+ create: [
300
+ Permission.ProjectOwner,
301
+ Permission.ProjectAdmin,
302
+ Permission.ProjectMember,
303
+ Permission.SettingsManager,
304
+ Permission.CreateDockerHostOwnerUser,
305
+ ],
306
+ read: [
307
+ Permission.ProjectOwner,
308
+ Permission.ProjectAdmin,
309
+ Permission.ProjectMember,
310
+ Permission.Viewer,
311
+ Permission.SettingsManager,
312
+ Permission.ReadDockerHostOwnerUser,
313
+ Permission.ReadAllProjectResources,
314
+ ],
315
+ update: [],
316
+ })
317
+ @TableColumn({
318
+ manyToOneRelationColumn: "createdByUserId",
319
+ type: TableColumnType.Entity,
320
+ modelType: User,
321
+ title: "Created by User",
322
+ description:
323
+ "Relation to User who created this object (if this object was created by a User)",
324
+ })
325
+ @ManyToOne(
326
+ () => {
327
+ return User;
328
+ },
329
+ {
330
+ eager: false,
331
+ nullable: true,
332
+ onDelete: "SET NULL",
333
+ orphanedRowAction: "nullify",
334
+ },
335
+ )
336
+ @JoinColumn({ name: "createdByUserId" })
337
+ public createdByUser?: User = undefined;
338
+
339
+ @ColumnAccessControl({
340
+ create: [
341
+ Permission.ProjectOwner,
342
+ Permission.ProjectAdmin,
343
+ Permission.ProjectMember,
344
+ Permission.SettingsManager,
345
+ Permission.CreateDockerHostOwnerUser,
346
+ ],
347
+ read: [
348
+ Permission.ProjectOwner,
349
+ Permission.ProjectAdmin,
350
+ Permission.ProjectMember,
351
+ Permission.Viewer,
352
+ Permission.SettingsManager,
353
+ Permission.ReadDockerHostOwnerUser,
354
+ Permission.ReadAllProjectResources,
355
+ ],
356
+ update: [],
357
+ })
358
+ @TableColumn({
359
+ type: TableColumnType.ObjectID,
360
+ title: "Created by User ID",
361
+ description:
362
+ "User ID who created this object (if this object was created by a User)",
363
+ })
364
+ @Column({
365
+ type: ColumnType.ObjectID,
366
+ nullable: true,
367
+ transformer: ObjectID.getDatabaseTransformer(),
368
+ })
369
+ public createdByUserId?: ObjectID = undefined;
370
+
371
+ @ColumnAccessControl({
372
+ create: [],
373
+ read: [
374
+ Permission.ProjectOwner,
375
+ Permission.ProjectAdmin,
376
+ Permission.ProjectMember,
377
+ Permission.Viewer,
378
+ Permission.SettingsManager,
379
+ Permission.ReadDockerHostOwnerUser,
380
+ Permission.ReadAllProjectResources,
381
+ ],
382
+ update: [],
383
+ })
384
+ @TableColumn({
385
+ manyToOneRelationColumn: "deletedByUserId",
386
+ type: TableColumnType.Entity,
387
+ title: "Deleted by User",
388
+ modelType: User,
389
+ description:
390
+ "Relation to User who deleted this object (if this object was deleted by a User)",
391
+ })
392
+ @ManyToOne(
393
+ () => {
394
+ return User;
395
+ },
396
+ {
397
+ cascade: false,
398
+ eager: false,
399
+ nullable: true,
400
+ onDelete: "SET NULL",
401
+ orphanedRowAction: "nullify",
402
+ },
403
+ )
404
+ @JoinColumn({ name: "deletedByUserId" })
405
+ public deletedByUser?: User = undefined;
406
+
407
+ @ColumnAccessControl({
408
+ create: [],
409
+ read: [
410
+ Permission.ProjectOwner,
411
+ Permission.ProjectAdmin,
412
+ Permission.ProjectMember,
413
+ Permission.Viewer,
414
+ Permission.SettingsManager,
415
+ Permission.ReadDockerHostOwnerUser,
416
+ Permission.ReadAllProjectResources,
417
+ ],
418
+ update: [],
419
+ })
420
+ @TableColumn({
421
+ type: TableColumnType.ObjectID,
422
+ title: "Deleted by User ID",
423
+ description:
424
+ "User ID who deleted this object (if this object was deleted by a User)",
425
+ })
426
+ @Column({
427
+ type: ColumnType.ObjectID,
428
+ nullable: true,
429
+ transformer: ObjectID.getDatabaseTransformer(),
430
+ })
431
+ public deletedByUserId?: ObjectID = undefined;
432
+
433
+ @ColumnAccessControl({
434
+ create: [],
435
+ read: [
436
+ Permission.ProjectOwner,
437
+ Permission.ProjectAdmin,
438
+ Permission.ProjectMember,
439
+ Permission.Viewer,
440
+ Permission.SettingsManager,
441
+ Permission.ReadDockerHostOwnerUser,
442
+ Permission.ReadAllProjectResources,
443
+ ],
444
+ update: [],
445
+ })
446
+ @Index()
447
+ @TableColumn({
448
+ type: TableColumnType.Boolean,
449
+ computed: true,
450
+ hideColumnInDocumentation: true,
451
+ required: true,
452
+ isDefaultValueColumn: true,
453
+ title: "Are Owners Notified",
454
+ description: "Are owners notified of this resource ownership?",
455
+ defaultValue: false,
456
+ })
457
+ @Column({
458
+ type: ColumnType.Boolean,
459
+ nullable: false,
460
+ default: false,
461
+ })
462
+ public isOwnerNotified?: boolean = undefined;
463
+ }
@@ -502,6 +502,62 @@ export default class GlobalConfig extends GlobalConfigModel {
502
502
  })
503
503
  public metaWhatsAppWebhookVerifyToken?: string = undefined;
504
504
 
505
+ @ColumnAccessControl({
506
+ create: [],
507
+ read: [],
508
+ update: [],
509
+ })
510
+ @TableColumn({
511
+ type: TableColumnType.VeryLongText,
512
+ title: "Telegram Bot Token",
513
+ description:
514
+ "Bot token issued by @BotFather for sending Telegram messages.",
515
+ })
516
+ @Column({
517
+ type: ColumnType.VeryLongText,
518
+ nullable: true,
519
+ unique: true,
520
+ })
521
+ public telegramBotToken?: string = undefined;
522
+
523
+ @ColumnAccessControl({
524
+ create: [],
525
+ read: [],
526
+ update: [],
527
+ })
528
+ @TableColumn({
529
+ type: TableColumnType.ShortText,
530
+ title: "Telegram Bot Username",
531
+ description:
532
+ "Username of your OneUptime Telegram bot (without the leading @). Used to build verification deep links.",
533
+ })
534
+ @Column({
535
+ type: ColumnType.ShortText,
536
+ length: ColumnLength.ShortText,
537
+ nullable: true,
538
+ unique: true,
539
+ })
540
+ public telegramBotUsername?: string = undefined;
541
+
542
+ @ColumnAccessControl({
543
+ create: [],
544
+ read: [],
545
+ update: [],
546
+ })
547
+ @TableColumn({
548
+ type: TableColumnType.ShortText,
549
+ title: "Telegram Webhook Secret Token",
550
+ description:
551
+ "Secret token passed to Telegram setWebhook. Telegram sends it back in the X-Telegram-Bot-Api-Secret-Token header.",
552
+ })
553
+ @Column({
554
+ type: ColumnType.ShortText,
555
+ length: ColumnLength.ShortText,
556
+ nullable: true,
557
+ unique: true,
558
+ })
559
+ public telegramWebhookSecretToken?: string = undefined;
560
+
505
561
  @ColumnAccessControl({
506
562
  create: [],
507
563
  read: [],
@@ -1,7 +1,12 @@
1
1
  import AcmeCertificate from "./AcmeCertificate";
2
2
  import AcmeChallenge from "./AcmeChallenge";
3
3
  import KubernetesCluster from "./KubernetesCluster";
4
+ import KubernetesClusterOwnerTeam from "./KubernetesClusterOwnerTeam";
5
+ import KubernetesClusterOwnerUser from "./KubernetesClusterOwnerUser";
6
+ import KubernetesResource from "./KubernetesResource";
4
7
  import DockerHost from "./DockerHost";
8
+ import DockerHostOwnerTeam from "./DockerHostOwnerTeam";
9
+ import DockerHostOwnerUser from "./DockerHostOwnerUser";
5
10
  // API Keys
6
11
  import ApiKey from "./ApiKey";
7
12
  import ApiKeyPermission from "./ApiKeyPermission";
@@ -43,6 +48,13 @@ import LogPipeline from "./LogPipeline";
43
48
  import LogPipelineProcessor from "./LogPipelineProcessor";
44
49
  import LogDropFilter from "./LogDropFilter";
45
50
  import LogScrubRule from "./LogScrubRule";
51
+ import MetricPipelineRule from "./MetricPipelineRule";
52
+ import MetricRecordingRule from "./MetricRecordingRule";
53
+ import TracePipeline from "./TracePipeline";
54
+ import TracePipelineProcessor from "./TracePipelineProcessor";
55
+ import TraceDropFilter from "./TraceDropFilter";
56
+ import TraceScrubRule from "./TraceScrubRule";
57
+ import TraceRecordingRule from "./TraceRecordingRule";
46
58
  // Monitors
47
59
  import Monitor from "./Monitor";
48
60
  import MonitorCustomField from "./MonitorCustomField";
@@ -128,6 +140,7 @@ import ShortLink from "./ShortLink";
128
140
  // SMS
129
141
  import SmsLog from "./SmsLog";
130
142
  import WhatsAppLog from "./WhatsAppLog";
143
+ import TelegramLog from "./TelegramLog";
131
144
  import PushNotificationLog from "./PushNotificationLog";
132
145
  import WorkspaceNotificationLog from "./WorkspaceNotificationLog";
133
146
  // Status Page
@@ -164,6 +177,7 @@ import UserCall from "./UserCall";
164
177
  import UserEmail from "./UserEmail";
165
178
  import UserPush from "./UserPush";
166
179
  import UserWhatsApp from "./UserWhatsApp";
180
+ import UserTelegram from "./UserTelegram";
167
181
  // User Notification Rules
168
182
  import UserNotificationRule from "./UserNotificationRule";
169
183
  import UserNotificationSetting from "./UserNotificationSetting";
@@ -264,6 +278,13 @@ const AllModelTypes: Array<{
264
278
  LogPipelineProcessor,
265
279
  LogDropFilter,
266
280
  LogScrubRule,
281
+ MetricPipelineRule,
282
+ MetricRecordingRule,
283
+ TracePipeline,
284
+ TracePipelineProcessor,
285
+ TraceDropFilter,
286
+ TraceScrubRule,
287
+ TraceRecordingRule,
267
288
  ApiKeyPermission,
268
289
  ProjectSmtpConfig,
269
290
  StatusPage,
@@ -395,6 +416,7 @@ const AllModelTypes: Array<{
395
416
 
396
417
  SmsLog,
397
418
  WhatsAppLog,
419
+ TelegramLog,
398
420
  PushNotificationLog,
399
421
  WorkspaceNotificationLog,
400
422
  CallLog,
@@ -405,6 +427,7 @@ const AllModelTypes: Array<{
405
427
  UserCall,
406
428
  UserPush,
407
429
  UserWhatsApp,
430
+ UserTelegram,
408
431
  UserIncomingCallNumber,
409
432
 
410
433
  UserNotificationRule,
@@ -507,7 +530,12 @@ const AllModelTypes: Array<{
507
530
  StatusPageSCIMLog,
508
531
 
509
532
  KubernetesCluster,
533
+ KubernetesClusterOwnerTeam,
534
+ KubernetesClusterOwnerUser,
535
+ KubernetesResource,
510
536
  DockerHost,
537
+ DockerHostOwnerTeam,
538
+ DockerHostOwnerUser,
511
539
  ];
512
540
 
513
541
  const modelTypeMap: { [key: string]: { new (): BaseModel } } = {};