@oneuptime/common 10.0.65 → 10.0.66

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 (210) hide show
  1. package/Models/DatabaseModels/DockerHostOwnerTeam.ts +464 -0
  2. package/Models/DatabaseModels/DockerHostOwnerUser.ts +463 -0
  3. package/Models/DatabaseModels/Index.ts +24 -0
  4. package/Models/DatabaseModels/KubernetesClusterOwnerTeam.ts +464 -0
  5. package/Models/DatabaseModels/KubernetesClusterOwnerUser.ts +463 -0
  6. package/Models/DatabaseModels/KubernetesResource.ts +548 -0
  7. package/Models/DatabaseModels/MetricPipelineRule.ts +804 -0
  8. package/Models/DatabaseModels/MetricRecordingRule.ts +470 -0
  9. package/Models/DatabaseModels/Monitor.ts +2 -0
  10. package/Models/DatabaseModels/Project.ts +53 -0
  11. package/Models/DatabaseModels/Service.ts +79 -0
  12. package/Models/DatabaseModels/TraceDropFilter.ts +508 -0
  13. package/Models/DatabaseModels/TracePipeline.ts +436 -0
  14. package/Models/DatabaseModels/TracePipelineProcessor.ts +454 -0
  15. package/Models/DatabaseModels/TraceRecordingRule.ts +470 -0
  16. package/Models/DatabaseModels/TraceScrubRule.ts +546 -0
  17. package/Server/API/KubernetesResourceAPI.ts +129 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.ts +399 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.ts +205 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.ts +335 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.ts +29 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.ts +53 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -1
  24. package/Server/Services/DockerHostOwnerTeamService.ts +10 -0
  25. package/Server/Services/DockerHostOwnerUserService.ts +10 -0
  26. package/Server/Services/KubernetesClusterOwnerTeamService.ts +10 -0
  27. package/Server/Services/KubernetesClusterOwnerUserService.ts +10 -0
  28. package/Server/Services/KubernetesResourceService.ts +351 -0
  29. package/Server/Services/MetricPipelineRuleService.ts +10 -0
  30. package/Server/Services/MetricRecordingRuleService.ts +10 -0
  31. package/Server/Services/TraceDropFilterService.ts +10 -0
  32. package/Server/Services/TracePipelineProcessorService.ts +10 -0
  33. package/Server/Services/TracePipelineService.ts +10 -0
  34. package/Server/Services/TraceRecordingRuleService.ts +10 -0
  35. package/Server/Services/TraceScrubRuleService.ts +10 -0
  36. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +71 -9
  37. package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +483 -75
  38. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +379 -6
  39. package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.ts +502 -0
  40. package/Tests/Utils/MetricUnitUtil.test.ts +216 -0
  41. package/Tests/Utils/Metrics/MetricFormulaEvaluator.test.ts +269 -0
  42. package/Tests/Utils/Metrics/MetricResultUnitConverter.test.ts +231 -0
  43. package/Tests/Utils/RecordingRuleExpression.test.ts +177 -0
  44. package/Types/Kubernetes/KubernetesInventoryExtractor.ts +327 -0
  45. package/Types/Kubernetes/KubernetesObjectParser.ts +1949 -0
  46. package/Types/Metrics/MetricDownsamplingRetentionDays.ts +49 -0
  47. package/Types/Metrics/MetricFormulaConfigData.ts +4 -0
  48. package/Types/Metrics/MetricPipelineRuleFilterCondition.ts +136 -0
  49. package/Types/Metrics/MetricPipelineRuleType.ts +27 -0
  50. package/Types/Metrics/RecordingRuleDefinition.ts +180 -0
  51. package/Types/Monitor/CriteriaFilter.ts +43 -0
  52. package/Types/Monitor/MetricMonitor/MetricCriteriaContext.ts +70 -0
  53. package/Types/Permission.ts +520 -0
  54. package/Types/Trace/TraceAggregationType.ts +17 -0
  55. package/Types/Trace/TraceDropFilterAction.ts +6 -0
  56. package/Types/Trace/TracePipelineProcessorType.ts +56 -0
  57. package/Types/Trace/TraceRecordingRuleDefinition.ts +218 -0
  58. package/Types/Trace/TraceScrubAction.ts +7 -0
  59. package/Types/Trace/TraceScrubField.ts +8 -0
  60. package/Types/Trace/TraceScrubPatternType.ts +10 -0
  61. package/UI/Components/CardSelect/CardSelect.tsx +9 -1
  62. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +6 -10
  63. package/UI/Components/Forms/Fields/FormField.tsx +1 -0
  64. package/UI/Components/Forms/Types/Field.ts +1 -0
  65. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +57 -0
  66. package/UI/Components/Page/Page.tsx +6 -0
  67. package/Utils/MetricUnitUtil.ts +289 -0
  68. package/Utils/Metrics/MetricFormulaEvaluator.ts +610 -0
  69. package/Utils/Metrics/MetricResultUnitConverter.ts +91 -0
  70. package/Utils/Metrics/RecordingRuleExpression.ts +359 -0
  71. package/Utils/ValueFormatter.ts +137 -13
  72. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js +480 -0
  73. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js.map +1 -0
  74. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js +479 -0
  75. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js.map +1 -0
  76. package/build/dist/Models/DatabaseModels/Index.js +24 -0
  77. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  78. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js +480 -0
  79. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js.map +1 -0
  80. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js +479 -0
  81. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js.map +1 -0
  82. package/build/dist/Models/DatabaseModels/KubernetesResource.js +590 -0
  83. package/build/dist/Models/DatabaseModels/KubernetesResource.js.map +1 -0
  84. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js +836 -0
  85. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js.map +1 -0
  86. package/build/dist/Models/DatabaseModels/MetricRecordingRule.js +497 -0
  87. package/build/dist/Models/DatabaseModels/MetricRecordingRule.js.map +1 -0
  88. package/build/dist/Models/DatabaseModels/Monitor.js +2 -0
  89. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  90. package/build/dist/Models/DatabaseModels/Project.js +53 -0
  91. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  92. package/build/dist/Models/DatabaseModels/Service.js +79 -0
  93. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  94. package/build/dist/Models/DatabaseModels/TraceDropFilter.js +536 -0
  95. package/build/dist/Models/DatabaseModels/TraceDropFilter.js.map +1 -0
  96. package/build/dist/Models/DatabaseModels/TracePipeline.js +462 -0
  97. package/build/dist/Models/DatabaseModels/TracePipeline.js.map +1 -0
  98. package/build/dist/Models/DatabaseModels/TracePipelineProcessor.js +476 -0
  99. package/build/dist/Models/DatabaseModels/TracePipelineProcessor.js.map +1 -0
  100. package/build/dist/Models/DatabaseModels/TraceRecordingRule.js +497 -0
  101. package/build/dist/Models/DatabaseModels/TraceRecordingRule.js.map +1 -0
  102. package/build/dist/Models/DatabaseModels/TraceScrubRule.js +575 -0
  103. package/build/dist/Models/DatabaseModels/TraceScrubRule.js.map +1 -0
  104. package/build/dist/Server/API/KubernetesResourceAPI.js +98 -0
  105. package/build/dist/Server/API/KubernetesResourceAPI.js.map +1 -0
  106. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.js +144 -0
  107. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.js.map +1 -0
  108. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.js +82 -0
  109. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.js.map +1 -0
  110. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.js +118 -0
  111. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.js.map +1 -0
  112. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.js +16 -0
  113. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.js.map +1 -0
  114. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.js +24 -0
  115. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.js.map +1 -0
  116. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  117. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  118. package/build/dist/Server/Services/DockerHostOwnerTeamService.js +9 -0
  119. package/build/dist/Server/Services/DockerHostOwnerTeamService.js.map +1 -0
  120. package/build/dist/Server/Services/DockerHostOwnerUserService.js +9 -0
  121. package/build/dist/Server/Services/DockerHostOwnerUserService.js.map +1 -0
  122. package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js +9 -0
  123. package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js.map +1 -0
  124. package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js +9 -0
  125. package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js.map +1 -0
  126. package/build/dist/Server/Services/KubernetesResourceService.js +237 -0
  127. package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -0
  128. package/build/dist/Server/Services/MetricPipelineRuleService.js +9 -0
  129. package/build/dist/Server/Services/MetricPipelineRuleService.js.map +1 -0
  130. package/build/dist/Server/Services/MetricRecordingRuleService.js +9 -0
  131. package/build/dist/Server/Services/MetricRecordingRuleService.js.map +1 -0
  132. package/build/dist/Server/Services/TraceDropFilterService.js +9 -0
  133. package/build/dist/Server/Services/TraceDropFilterService.js.map +1 -0
  134. package/build/dist/Server/Services/TracePipelineProcessorService.js +9 -0
  135. package/build/dist/Server/Services/TracePipelineProcessorService.js.map +1 -0
  136. package/build/dist/Server/Services/TracePipelineService.js +9 -0
  137. package/build/dist/Server/Services/TracePipelineService.js.map +1 -0
  138. package/build/dist/Server/Services/TraceRecordingRuleService.js +9 -0
  139. package/build/dist/Server/Services/TraceRecordingRuleService.js.map +1 -0
  140. package/build/dist/Server/Services/TraceScrubRuleService.js +9 -0
  141. package/build/dist/Server/Services/TraceScrubRuleService.js.map +1 -0
  142. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +56 -9
  143. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  144. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js +335 -53
  145. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js.map +1 -1
  146. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +277 -5
  147. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  148. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +407 -0
  149. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +1 -0
  150. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +159 -0
  151. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +1 -0
  152. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +224 -0
  153. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +1 -0
  154. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +180 -0
  155. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +1 -0
  156. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +142 -0
  157. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +1 -0
  158. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js +200 -0
  159. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js.map +1 -0
  160. package/build/dist/Types/Kubernetes/KubernetesObjectParser.js +1205 -0
  161. package/build/dist/Types/Kubernetes/KubernetesObjectParser.js.map +1 -0
  162. package/build/dist/Types/Metrics/MetricDownsamplingRetentionDays.js +32 -0
  163. package/build/dist/Types/Metrics/MetricDownsamplingRetentionDays.js.map +1 -0
  164. package/build/dist/Types/Metrics/MetricPipelineRuleFilterCondition.js +103 -0
  165. package/build/dist/Types/Metrics/MetricPipelineRuleFilterCondition.js.map +1 -0
  166. package/build/dist/Types/Metrics/MetricPipelineRuleType.js +27 -0
  167. package/build/dist/Types/Metrics/MetricPipelineRuleType.js.map +1 -0
  168. package/build/dist/Types/Metrics/RecordingRuleDefinition.js +110 -0
  169. package/build/dist/Types/Metrics/RecordingRuleDefinition.js.map +1 -0
  170. package/build/dist/Types/Monitor/CriteriaFilter.js +22 -0
  171. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  172. package/build/dist/Types/Monitor/MetricMonitor/MetricCriteriaContext.js +2 -0
  173. package/build/dist/Types/Monitor/MetricMonitor/MetricCriteriaContext.js.map +1 -0
  174. package/build/dist/Types/Permission.js +454 -0
  175. package/build/dist/Types/Permission.js.map +1 -1
  176. package/build/dist/Types/Trace/TraceAggregationType.js +18 -0
  177. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -0
  178. package/build/dist/Types/Trace/TraceDropFilterAction.js +7 -0
  179. package/build/dist/Types/Trace/TraceDropFilterAction.js.map +1 -0
  180. package/build/dist/Types/Trace/TracePipelineProcessorType.js +10 -0
  181. package/build/dist/Types/Trace/TracePipelineProcessorType.js.map +1 -0
  182. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +145 -0
  183. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -0
  184. package/build/dist/Types/Trace/TraceScrubAction.js +8 -0
  185. package/build/dist/Types/Trace/TraceScrubAction.js.map +1 -0
  186. package/build/dist/Types/Trace/TraceScrubField.js +9 -0
  187. package/build/dist/Types/Trace/TraceScrubField.js.map +1 -0
  188. package/build/dist/Types/Trace/TraceScrubPatternType.js +11 -0
  189. package/build/dist/Types/Trace/TraceScrubPatternType.js.map +1 -0
  190. package/build/dist/UI/Components/CardSelect/CardSelect.js +3 -1
  191. package/build/dist/UI/Components/CardSelect/CardSelect.js.map +1 -1
  192. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +6 -9
  193. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  194. package/build/dist/UI/Components/Forms/Fields/FormField.js +1 -1
  195. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  196. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +30 -0
  197. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  198. package/build/dist/UI/Components/Page/Page.js +1 -0
  199. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  200. package/build/dist/Utils/MetricUnitUtil.js +232 -0
  201. package/build/dist/Utils/MetricUnitUtil.js.map +1 -0
  202. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js +453 -0
  203. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js.map +1 -0
  204. package/build/dist/Utils/Metrics/MetricResultUnitConverter.js +61 -0
  205. package/build/dist/Utils/Metrics/MetricResultUnitConverter.js.map +1 -0
  206. package/build/dist/Utils/Metrics/RecordingRuleExpression.js +298 -0
  207. package/build/dist/Utils/Metrics/RecordingRuleExpression.js.map +1 -0
  208. package/build/dist/Utils/ValueFormatter.js +123 -13
  209. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  210. package/package.json +1 -1
@@ -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
+ }
@@ -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";
@@ -264,6 +276,13 @@ const AllModelTypes: Array<{
264
276
  LogPipelineProcessor,
265
277
  LogDropFilter,
266
278
  LogScrubRule,
279
+ MetricPipelineRule,
280
+ MetricRecordingRule,
281
+ TracePipeline,
282
+ TracePipelineProcessor,
283
+ TraceDropFilter,
284
+ TraceScrubRule,
285
+ TraceRecordingRule,
267
286
  ApiKeyPermission,
268
287
  ProjectSmtpConfig,
269
288
  StatusPage,
@@ -507,7 +526,12 @@ const AllModelTypes: Array<{
507
526
  StatusPageSCIMLog,
508
527
 
509
528
  KubernetesCluster,
529
+ KubernetesClusterOwnerTeam,
530
+ KubernetesClusterOwnerUser,
531
+ KubernetesResource,
510
532
  DockerHost,
533
+ DockerHostOwnerTeam,
534
+ DockerHostOwnerUser,
511
535
  ];
512
536
 
513
537
  const modelTypeMap: { [key: string]: { new (): BaseModel } } = {};