@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,436 @@
1
+ import Project from "./Project";
2
+ import User from "./User";
3
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
4
+ import Route from "../../Types/API/Route";
5
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
6
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
7
+ import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
8
+ import ColumnLength from "../../Types/Database/ColumnLength";
9
+ import ColumnType from "../../Types/Database/ColumnType";
10
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
11
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
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 { PlanType } from "../../Types/Billing/SubscriptionPlan";
20
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
21
+
22
+ @EnableDocumentation()
23
+ @TableBillingAccessControl({
24
+ create: PlanType.Free,
25
+ read: PlanType.Free,
26
+ update: PlanType.Free,
27
+ delete: PlanType.Free,
28
+ })
29
+ @TenantColumn("projectId")
30
+ @CrudApiEndpoint(new Route("/trace-pipeline"))
31
+ @Entity({
32
+ name: "TracePipeline",
33
+ })
34
+ @TableMetadata({
35
+ tableName: "TracePipeline",
36
+ singularName: "Trace Pipeline",
37
+ pluralName: "Trace Pipelines",
38
+ icon: IconProp.Activity,
39
+ tableDescription:
40
+ "Configure server-side trace processing pipelines that transform spans at ingest time.",
41
+ })
42
+ @TableAccessControl({
43
+ create: [
44
+ Permission.ProjectOwner,
45
+ Permission.ProjectAdmin,
46
+ Permission.CreateProjectTracePipeline,
47
+ ],
48
+ read: [
49
+ Permission.ProjectOwner,
50
+ Permission.ProjectAdmin,
51
+ Permission.ProjectMember,
52
+ Permission.Viewer,
53
+ Permission.TelemetryManager,
54
+ Permission.ReadProjectTracePipeline,
55
+ Permission.ReadAllProjectResources,
56
+ ],
57
+ delete: [
58
+ Permission.ProjectOwner,
59
+ Permission.ProjectAdmin,
60
+ Permission.DeleteProjectTracePipeline,
61
+ ],
62
+ update: [
63
+ Permission.ProjectOwner,
64
+ Permission.ProjectAdmin,
65
+ Permission.EditProjectTracePipeline,
66
+ ],
67
+ })
68
+ export default class TracePipeline extends BaseModel {
69
+ @ColumnAccessControl({
70
+ create: [
71
+ Permission.ProjectOwner,
72
+ Permission.ProjectAdmin,
73
+ Permission.CreateProjectTracePipeline,
74
+ ],
75
+ read: [
76
+ Permission.ProjectOwner,
77
+ Permission.ProjectAdmin,
78
+ Permission.ProjectMember,
79
+ Permission.Viewer,
80
+ Permission.TelemetryManager,
81
+ Permission.ReadProjectTracePipeline,
82
+ Permission.ReadAllProjectResources,
83
+ ],
84
+ update: [],
85
+ })
86
+ @TableColumn({
87
+ manyToOneRelationColumn: "projectId",
88
+ type: TableColumnType.Entity,
89
+ modelType: Project,
90
+ title: "Project",
91
+ description: "Relation to the project this trace pipeline belongs to.",
92
+ })
93
+ @ManyToOne(
94
+ () => {
95
+ return Project;
96
+ },
97
+ {
98
+ eager: false,
99
+ nullable: true,
100
+ onDelete: "CASCADE",
101
+ orphanedRowAction: "nullify",
102
+ },
103
+ )
104
+ @JoinColumn({ name: "projectId" })
105
+ public project?: Project = undefined;
106
+
107
+ @ColumnAccessControl({
108
+ create: [
109
+ Permission.ProjectOwner,
110
+ Permission.ProjectAdmin,
111
+ Permission.CreateProjectTracePipeline,
112
+ ],
113
+ read: [
114
+ Permission.ProjectOwner,
115
+ Permission.ProjectAdmin,
116
+ Permission.ProjectMember,
117
+ Permission.Viewer,
118
+ Permission.TelemetryManager,
119
+ Permission.ReadProjectTracePipeline,
120
+ Permission.ReadAllProjectResources,
121
+ ],
122
+ update: [],
123
+ })
124
+ @Index()
125
+ @TableColumn({
126
+ type: TableColumnType.ObjectID,
127
+ required: true,
128
+ canReadOnRelationQuery: true,
129
+ title: "Project ID",
130
+ description: "ID of the project this trace pipeline belongs to.",
131
+ })
132
+ @Column({
133
+ type: ColumnType.ObjectID,
134
+ nullable: false,
135
+ transformer: ObjectID.getDatabaseTransformer(),
136
+ })
137
+ public projectId?: ObjectID = undefined;
138
+
139
+ @ColumnAccessControl({
140
+ create: [
141
+ Permission.ProjectOwner,
142
+ Permission.ProjectAdmin,
143
+ Permission.CreateProjectTracePipeline,
144
+ ],
145
+ read: [
146
+ Permission.ProjectOwner,
147
+ Permission.ProjectAdmin,
148
+ Permission.ProjectMember,
149
+ Permission.Viewer,
150
+ Permission.TelemetryManager,
151
+ Permission.ReadProjectTracePipeline,
152
+ Permission.ReadAllProjectResources,
153
+ ],
154
+ update: [
155
+ Permission.ProjectOwner,
156
+ Permission.ProjectAdmin,
157
+ Permission.EditProjectTracePipeline,
158
+ ],
159
+ })
160
+ @TableColumn({
161
+ required: true,
162
+ type: TableColumnType.Name,
163
+ canReadOnRelationQuery: true,
164
+ title: "Name",
165
+ description: "Friendly name for this trace pipeline.",
166
+ })
167
+ @Column({
168
+ nullable: false,
169
+ type: ColumnType.Name,
170
+ length: ColumnLength.Name,
171
+ })
172
+ public name?: string = undefined;
173
+
174
+ @ColumnAccessControl({
175
+ create: [
176
+ Permission.ProjectOwner,
177
+ Permission.ProjectAdmin,
178
+ Permission.CreateProjectTracePipeline,
179
+ ],
180
+ read: [
181
+ Permission.ProjectOwner,
182
+ Permission.ProjectAdmin,
183
+ Permission.ProjectMember,
184
+ Permission.Viewer,
185
+ Permission.TelemetryManager,
186
+ Permission.ReadProjectTracePipeline,
187
+ Permission.ReadAllProjectResources,
188
+ ],
189
+ update: [
190
+ Permission.ProjectOwner,
191
+ Permission.ProjectAdmin,
192
+ Permission.EditProjectTracePipeline,
193
+ ],
194
+ })
195
+ @TableColumn({
196
+ required: false,
197
+ type: TableColumnType.LongText,
198
+ canReadOnRelationQuery: true,
199
+ title: "Description",
200
+ description: "Description of what this trace pipeline does.",
201
+ })
202
+ @Column({
203
+ nullable: true,
204
+ type: ColumnType.LongText,
205
+ length: ColumnLength.LongText,
206
+ })
207
+ public description?: string = undefined;
208
+
209
+ @ColumnAccessControl({
210
+ create: [
211
+ Permission.ProjectOwner,
212
+ Permission.ProjectAdmin,
213
+ Permission.CreateProjectTracePipeline,
214
+ ],
215
+ read: [
216
+ Permission.ProjectOwner,
217
+ Permission.ProjectAdmin,
218
+ Permission.ProjectMember,
219
+ Permission.Viewer,
220
+ Permission.TelemetryManager,
221
+ Permission.ReadProjectTracePipeline,
222
+ Permission.ReadAllProjectResources,
223
+ ],
224
+ update: [
225
+ Permission.ProjectOwner,
226
+ Permission.ProjectAdmin,
227
+ Permission.EditProjectTracePipeline,
228
+ ],
229
+ })
230
+ @TableColumn({
231
+ required: false,
232
+ type: TableColumnType.LongText,
233
+ canReadOnRelationQuery: true,
234
+ title: "Filter Query",
235
+ description:
236
+ "Filter expression that determines which spans this pipeline applies to.",
237
+ })
238
+ @Column({
239
+ nullable: true,
240
+ type: ColumnType.LongText,
241
+ length: ColumnLength.LongText,
242
+ })
243
+ public filterQuery?: string = undefined;
244
+
245
+ @ColumnAccessControl({
246
+ create: [
247
+ Permission.ProjectOwner,
248
+ Permission.ProjectAdmin,
249
+ Permission.CreateProjectTracePipeline,
250
+ ],
251
+ read: [
252
+ Permission.ProjectOwner,
253
+ Permission.ProjectAdmin,
254
+ Permission.ProjectMember,
255
+ Permission.Viewer,
256
+ Permission.TelemetryManager,
257
+ Permission.ReadProjectTracePipeline,
258
+ Permission.ReadAllProjectResources,
259
+ ],
260
+ update: [
261
+ Permission.ProjectOwner,
262
+ Permission.ProjectAdmin,
263
+ Permission.EditProjectTracePipeline,
264
+ ],
265
+ })
266
+ @Index()
267
+ @TableColumn({
268
+ required: true,
269
+ type: TableColumnType.Boolean,
270
+ canReadOnRelationQuery: true,
271
+ title: "Enabled",
272
+ description: "Whether this trace pipeline is active.",
273
+ defaultValue: true,
274
+ })
275
+ @Column({
276
+ nullable: false,
277
+ type: ColumnType.Boolean,
278
+ default: true,
279
+ })
280
+ public isEnabled?: boolean = undefined;
281
+
282
+ @ColumnAccessControl({
283
+ create: [
284
+ Permission.ProjectOwner,
285
+ Permission.ProjectAdmin,
286
+ Permission.CreateProjectTracePipeline,
287
+ ],
288
+ read: [
289
+ Permission.ProjectOwner,
290
+ Permission.ProjectAdmin,
291
+ Permission.ProjectMember,
292
+ Permission.Viewer,
293
+ Permission.TelemetryManager,
294
+ Permission.ReadProjectTracePipeline,
295
+ Permission.ReadAllProjectResources,
296
+ ],
297
+ update: [
298
+ Permission.ProjectOwner,
299
+ Permission.ProjectAdmin,
300
+ Permission.EditProjectTracePipeline,
301
+ ],
302
+ })
303
+ @TableColumn({
304
+ title: "Sort Order",
305
+ required: true,
306
+ type: TableColumnType.Number,
307
+ canReadOnRelationQuery: true,
308
+ description:
309
+ "Determines the execution order of this pipeline relative to others.",
310
+ defaultValue: 0,
311
+ })
312
+ @Column({
313
+ type: ColumnType.Number,
314
+ nullable: false,
315
+ default: 0,
316
+ })
317
+ public sortOrder?: number = undefined;
318
+
319
+ @ColumnAccessControl({
320
+ create: [],
321
+ read: [
322
+ Permission.ProjectOwner,
323
+ Permission.ProjectAdmin,
324
+ Permission.ProjectMember,
325
+ Permission.Viewer,
326
+ Permission.TelemetryManager,
327
+ Permission.ReadProjectTracePipeline,
328
+ Permission.ReadAllProjectResources,
329
+ ],
330
+ update: [],
331
+ })
332
+ @TableColumn({
333
+ manyToOneRelationColumn: "createdByUserId",
334
+ type: TableColumnType.Entity,
335
+ modelType: User,
336
+ title: "Created By User",
337
+ description: "Relation to the user who created this trace pipeline.",
338
+ })
339
+ @ManyToOne(
340
+ () => {
341
+ return User;
342
+ },
343
+ {
344
+ eager: false,
345
+ nullable: true,
346
+ onDelete: "SET NULL",
347
+ orphanedRowAction: "nullify",
348
+ },
349
+ )
350
+ @JoinColumn({ name: "createdByUserId" })
351
+ public createdByUser?: User = undefined;
352
+
353
+ @ColumnAccessControl({
354
+ create: [],
355
+ read: [
356
+ Permission.ProjectOwner,
357
+ Permission.ProjectAdmin,
358
+ Permission.ProjectMember,
359
+ Permission.Viewer,
360
+ Permission.TelemetryManager,
361
+ Permission.ReadProjectTracePipeline,
362
+ Permission.ReadAllProjectResources,
363
+ ],
364
+ update: [],
365
+ })
366
+ @TableColumn({
367
+ type: TableColumnType.ObjectID,
368
+ title: "Created By User ID",
369
+ description: "ID of the user who created this trace pipeline.",
370
+ })
371
+ @Column({
372
+ type: ColumnType.ObjectID,
373
+ nullable: true,
374
+ transformer: ObjectID.getDatabaseTransformer(),
375
+ })
376
+ public createdByUserId?: ObjectID = undefined;
377
+
378
+ @ColumnAccessControl({
379
+ create: [],
380
+ read: [
381
+ Permission.ProjectOwner,
382
+ Permission.ProjectAdmin,
383
+ Permission.ProjectMember,
384
+ Permission.Viewer,
385
+ Permission.TelemetryManager,
386
+ Permission.ReadProjectTracePipeline,
387
+ Permission.ReadAllProjectResources,
388
+ ],
389
+ update: [],
390
+ })
391
+ @TableColumn({
392
+ manyToOneRelationColumn: "deletedByUserId",
393
+ type: TableColumnType.Entity,
394
+ modelType: User,
395
+ title: "Deleted By User",
396
+ description: "Relation to the user who deleted this trace pipeline.",
397
+ })
398
+ @ManyToOne(
399
+ () => {
400
+ return User;
401
+ },
402
+ {
403
+ eager: false,
404
+ nullable: true,
405
+ onDelete: "SET NULL",
406
+ orphanedRowAction: "nullify",
407
+ },
408
+ )
409
+ @JoinColumn({ name: "deletedByUserId" })
410
+ public deletedByUser?: User = undefined;
411
+
412
+ @ColumnAccessControl({
413
+ create: [],
414
+ read: [
415
+ Permission.ProjectOwner,
416
+ Permission.ProjectAdmin,
417
+ Permission.ProjectMember,
418
+ Permission.Viewer,
419
+ Permission.TelemetryManager,
420
+ Permission.ReadProjectTracePipeline,
421
+ Permission.ReadAllProjectResources,
422
+ ],
423
+ update: [],
424
+ })
425
+ @TableColumn({
426
+ type: TableColumnType.ObjectID,
427
+ title: "Deleted By User ID",
428
+ description: "ID of the user who deleted this trace pipeline.",
429
+ })
430
+ @Column({
431
+ type: ColumnType.ObjectID,
432
+ nullable: true,
433
+ transformer: ObjectID.getDatabaseTransformer(),
434
+ })
435
+ public deletedByUserId?: ObjectID = undefined;
436
+ }