@oneuptime/common 10.0.30 → 10.0.33

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 (130) hide show
  1. package/Models/AnalyticsModels/ExceptionInstance.ts +29 -4
  2. package/Models/AnalyticsModels/Log.ts +110 -4
  3. package/Models/AnalyticsModels/Metric.ts +16 -9
  4. package/Models/AnalyticsModels/MonitorLog.ts +4 -2
  5. package/Models/AnalyticsModels/Span.ts +79 -6
  6. package/Models/DatabaseModels/Index.ts +8 -0
  7. package/Models/DatabaseModels/LogDropFilter.ts +480 -0
  8. package/Models/DatabaseModels/LogPipeline.ts +412 -0
  9. package/Models/DatabaseModels/LogPipelineProcessor.ts +430 -0
  10. package/Models/DatabaseModels/LogScrubRule.ts +516 -0
  11. package/Server/API/TelemetryAPI.ts +261 -0
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1773402621107-MigrationName.ts +131 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1773414578773-MigrationName.ts +79 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1773500000000-MigrationName.ts +41 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1773676206197-MigrationName.ts +57 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
  17. package/Server/Services/AnalyticsDatabaseService.ts +61 -0
  18. package/Server/Services/LogAggregationService.ts +238 -1
  19. package/Server/Services/LogDropFilterService.ts +10 -0
  20. package/Server/Services/LogPipelineProcessorService.ts +10 -0
  21. package/Server/Services/LogPipelineService.ts +10 -0
  22. package/Server/Services/LogScrubRuleService.ts +10 -0
  23. package/Server/Services/TelemetryAttributeService.ts +4 -6
  24. package/Server/Utils/AnalyticsDatabase/Statement.ts +15 -1
  25. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +126 -11
  26. package/Tests/Server/Services/LogAggregationService.test.ts +3 -2
  27. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +9 -0
  28. package/Types/AnalyticsDatabase/TableColumnType.ts +4 -0
  29. package/Types/Date.ts +22 -0
  30. package/Types/Log/LogDropFilterAction.ts +6 -0
  31. package/Types/Log/LogPipelineProcessorType.ts +44 -0
  32. package/Types/Log/LogScrubAction.ts +7 -0
  33. package/Types/Log/LogScrubPatternType.ts +10 -0
  34. package/Types/Permission.ts +174 -0
  35. package/UI/Components/LogsViewer/LogsViewer.tsx +152 -4
  36. package/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.tsx +92 -0
  37. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +332 -117
  38. package/UI/Components/LogsViewer/components/LogSearchBar.tsx +294 -274
  39. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +513 -234
  40. package/UI/Components/LogsViewer/components/LogsFilterCard.tsx +37 -29
  41. package/UI/Components/LogsViewer/components/LogsTable.tsx +6 -1
  42. package/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx +106 -0
  43. package/UI/Utils/LogExport.ts +160 -0
  44. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +28 -4
  45. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  46. package/build/dist/Models/AnalyticsModels/Log.js +97 -4
  47. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  48. package/build/dist/Models/AnalyticsModels/Metric.js +16 -9
  49. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  50. package/build/dist/Models/AnalyticsModels/MonitorLog.js +4 -2
  51. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  52. package/build/dist/Models/AnalyticsModels/Span.js +73 -6
  53. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  54. package/build/dist/Models/DatabaseModels/Index.js +8 -0
  55. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  56. package/build/dist/Models/DatabaseModels/LogDropFilter.js +508 -0
  57. package/build/dist/Models/DatabaseModels/LogDropFilter.js.map +1 -0
  58. package/build/dist/Models/DatabaseModels/LogPipeline.js +438 -0
  59. package/build/dist/Models/DatabaseModels/LogPipeline.js.map +1 -0
  60. package/build/dist/Models/DatabaseModels/LogPipelineProcessor.js +452 -0
  61. package/build/dist/Models/DatabaseModels/LogPipelineProcessor.js.map +1 -0
  62. package/build/dist/Models/DatabaseModels/LogScrubRule.js +545 -0
  63. package/build/dist/Models/DatabaseModels/LogScrubRule.js.map +1 -0
  64. package/build/dist/Server/API/TelemetryAPI.js +155 -0
  65. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  66. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773402621107-MigrationName.js +52 -0
  67. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773402621107-MigrationName.js.map +1 -0
  68. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773414578773-MigrationName.js +34 -0
  69. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773414578773-MigrationName.js.map +1 -0
  70. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773500000000-MigrationName.js +22 -0
  71. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773500000000-MigrationName.js.map +1 -0
  72. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773676206197-MigrationName.js +26 -0
  73. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1773676206197-MigrationName.js.map +1 -0
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
  75. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  76. package/build/dist/Server/Services/AnalyticsDatabaseService.js +30 -0
  77. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  78. package/build/dist/Server/Services/LogAggregationService.js +188 -1
  79. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  80. package/build/dist/Server/Services/LogDropFilterService.js +9 -0
  81. package/build/dist/Server/Services/LogDropFilterService.js.map +1 -0
  82. package/build/dist/Server/Services/LogPipelineProcessorService.js +9 -0
  83. package/build/dist/Server/Services/LogPipelineProcessorService.js.map +1 -0
  84. package/build/dist/Server/Services/LogPipelineService.js +9 -0
  85. package/build/dist/Server/Services/LogPipelineService.js.map +1 -0
  86. package/build/dist/Server/Services/LogScrubRuleService.js +9 -0
  87. package/build/dist/Server/Services/LogScrubRuleService.js.map +1 -0
  88. package/build/dist/Server/Services/TelemetryAttributeService.js +4 -6
  89. package/build/dist/Server/Services/TelemetryAttributeService.js.map +1 -1
  90. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +13 -1
  91. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  92. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +89 -2
  93. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  94. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +3 -2
  95. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +1 -1
  96. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +10 -0
  97. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -0
  98. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +4 -0
  99. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
  100. package/build/dist/Types/Date.js +16 -0
  101. package/build/dist/Types/Date.js.map +1 -1
  102. package/build/dist/Types/Log/LogDropFilterAction.js +7 -0
  103. package/build/dist/Types/Log/LogDropFilterAction.js.map +1 -0
  104. package/build/dist/Types/Log/LogPipelineProcessorType.js +9 -0
  105. package/build/dist/Types/Log/LogPipelineProcessorType.js.map +1 -0
  106. package/build/dist/Types/Log/LogScrubAction.js +8 -0
  107. package/build/dist/Types/Log/LogScrubAction.js.map +1 -0
  108. package/build/dist/Types/Log/LogScrubPatternType.js +11 -0
  109. package/build/dist/Types/Log/LogScrubPatternType.js.map +1 -0
  110. package/build/dist/Types/Permission.js +152 -0
  111. package/build/dist/Types/Permission.js.map +1 -1
  112. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +124 -11
  113. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  114. package/build/dist/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.js +36 -0
  115. package/build/dist/UI/Components/LogsViewer/components/KeyboardShortcutsHelp.js.map +1 -0
  116. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +114 -4
  117. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  118. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +17 -5
  119. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
  120. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +229 -122
  121. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  122. package/build/dist/UI/Components/LogsViewer/components/LogsFilterCard.js +5 -4
  123. package/build/dist/UI/Components/LogsViewer/components/LogsFilterCard.js.map +1 -1
  124. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +4 -1
  125. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  126. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js +28 -0
  127. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js.map +1 -1
  128. package/build/dist/UI/Utils/LogExport.js +129 -0
  129. package/build/dist/UI/Utils/LogExport.js.map +1 -0
  130. package/package.json +1 -1
@@ -0,0 +1,545 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Project from "./Project";
11
+ import User from "./User";
12
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
13
+ import Route from "../../Types/API/Route";
14
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
15
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
16
+ import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
17
+ import ColumnLength from "../../Types/Database/ColumnLength";
18
+ import ColumnType from "../../Types/Database/ColumnType";
19
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
20
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
21
+ import TableColumn from "../../Types/Database/TableColumn";
22
+ import TableColumnType from "../../Types/Database/TableColumnType";
23
+ import TableMetadata from "../../Types/Database/TableMetadata";
24
+ import TenantColumn from "../../Types/Database/TenantColumn";
25
+ import IconProp from "../../Types/Icon/IconProp";
26
+ import ObjectID from "../../Types/ObjectID";
27
+ import Permission from "../../Types/Permission";
28
+ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
29
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
30
+ let LogScrubRule = class LogScrubRule extends BaseModel {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.project = undefined;
34
+ this.projectId = undefined;
35
+ this.name = undefined;
36
+ this.description = undefined;
37
+ this.patternType = undefined;
38
+ this.customRegex = undefined;
39
+ this.scrubAction = undefined;
40
+ this.fieldsToScrub = undefined;
41
+ this.isEnabled = undefined;
42
+ this.sortOrder = undefined;
43
+ this.createdByUser = undefined;
44
+ this.createdByUserId = undefined;
45
+ this.deletedByUser = undefined;
46
+ this.deletedByUserId = undefined;
47
+ }
48
+ };
49
+ __decorate([
50
+ ColumnAccessControl({
51
+ create: [
52
+ Permission.ProjectOwner,
53
+ Permission.ProjectAdmin,
54
+ Permission.CreateProjectLogScrubRule,
55
+ ],
56
+ read: [
57
+ Permission.ProjectOwner,
58
+ Permission.ProjectAdmin,
59
+ Permission.ProjectMember,
60
+ Permission.ReadProjectLogScrubRule,
61
+ Permission.ReadAllProjectResources,
62
+ ],
63
+ update: [],
64
+ }),
65
+ TableColumn({
66
+ manyToOneRelationColumn: "projectId",
67
+ type: TableColumnType.Entity,
68
+ modelType: Project,
69
+ title: "Project",
70
+ description: "Relation to the project this log scrub rule belongs to.",
71
+ }),
72
+ ManyToOne(() => {
73
+ return Project;
74
+ }, {
75
+ eager: false,
76
+ nullable: true,
77
+ onDelete: "CASCADE",
78
+ orphanedRowAction: "nullify",
79
+ }),
80
+ JoinColumn({ name: "projectId" }),
81
+ __metadata("design:type", Project)
82
+ ], LogScrubRule.prototype, "project", void 0);
83
+ __decorate([
84
+ ColumnAccessControl({
85
+ create: [
86
+ Permission.ProjectOwner,
87
+ Permission.ProjectAdmin,
88
+ Permission.CreateProjectLogScrubRule,
89
+ ],
90
+ read: [
91
+ Permission.ProjectOwner,
92
+ Permission.ProjectAdmin,
93
+ Permission.ProjectMember,
94
+ Permission.ReadProjectLogScrubRule,
95
+ Permission.ReadAllProjectResources,
96
+ ],
97
+ update: [],
98
+ }),
99
+ Index(),
100
+ TableColumn({
101
+ type: TableColumnType.ObjectID,
102
+ required: true,
103
+ canReadOnRelationQuery: true,
104
+ title: "Project ID",
105
+ description: "ID of the project this log scrub rule belongs to.",
106
+ }),
107
+ Column({
108
+ type: ColumnType.ObjectID,
109
+ nullable: false,
110
+ transformer: ObjectID.getDatabaseTransformer(),
111
+ }),
112
+ __metadata("design:type", ObjectID)
113
+ ], LogScrubRule.prototype, "projectId", void 0);
114
+ __decorate([
115
+ ColumnAccessControl({
116
+ create: [
117
+ Permission.ProjectOwner,
118
+ Permission.ProjectAdmin,
119
+ Permission.CreateProjectLogScrubRule,
120
+ ],
121
+ read: [
122
+ Permission.ProjectOwner,
123
+ Permission.ProjectAdmin,
124
+ Permission.ProjectMember,
125
+ Permission.ReadProjectLogScrubRule,
126
+ Permission.ReadAllProjectResources,
127
+ ],
128
+ update: [
129
+ Permission.ProjectOwner,
130
+ Permission.ProjectAdmin,
131
+ Permission.EditProjectLogScrubRule,
132
+ ],
133
+ }),
134
+ TableColumn({
135
+ required: true,
136
+ type: TableColumnType.Name,
137
+ canReadOnRelationQuery: true,
138
+ title: "Name",
139
+ description: "Friendly name for this scrub rule.",
140
+ }),
141
+ Column({
142
+ nullable: false,
143
+ type: ColumnType.Name,
144
+ length: ColumnLength.Name,
145
+ }),
146
+ __metadata("design:type", String)
147
+ ], LogScrubRule.prototype, "name", void 0);
148
+ __decorate([
149
+ ColumnAccessControl({
150
+ create: [
151
+ Permission.ProjectOwner,
152
+ Permission.ProjectAdmin,
153
+ Permission.CreateProjectLogScrubRule,
154
+ ],
155
+ read: [
156
+ Permission.ProjectOwner,
157
+ Permission.ProjectAdmin,
158
+ Permission.ProjectMember,
159
+ Permission.ReadProjectLogScrubRule,
160
+ Permission.ReadAllProjectResources,
161
+ ],
162
+ update: [
163
+ Permission.ProjectOwner,
164
+ Permission.ProjectAdmin,
165
+ Permission.EditProjectLogScrubRule,
166
+ ],
167
+ }),
168
+ TableColumn({
169
+ required: false,
170
+ type: TableColumnType.LongText,
171
+ canReadOnRelationQuery: true,
172
+ title: "Description",
173
+ description: "Description of what this scrub rule does.",
174
+ }),
175
+ Column({
176
+ nullable: true,
177
+ type: ColumnType.LongText,
178
+ length: ColumnLength.LongText,
179
+ }),
180
+ __metadata("design:type", String)
181
+ ], LogScrubRule.prototype, "description", void 0);
182
+ __decorate([
183
+ ColumnAccessControl({
184
+ create: [
185
+ Permission.ProjectOwner,
186
+ Permission.ProjectAdmin,
187
+ Permission.CreateProjectLogScrubRule,
188
+ ],
189
+ read: [
190
+ Permission.ProjectOwner,
191
+ Permission.ProjectAdmin,
192
+ Permission.ProjectMember,
193
+ Permission.ReadProjectLogScrubRule,
194
+ Permission.ReadAllProjectResources,
195
+ ],
196
+ update: [
197
+ Permission.ProjectOwner,
198
+ Permission.ProjectAdmin,
199
+ Permission.EditProjectLogScrubRule,
200
+ ],
201
+ }),
202
+ TableColumn({
203
+ required: true,
204
+ type: TableColumnType.ShortText,
205
+ canReadOnRelationQuery: true,
206
+ title: "Pattern Type",
207
+ description: "The type of sensitive data pattern to detect: email, creditCard, ssn, phoneNumber, ipAddress, or custom.",
208
+ }),
209
+ Column({
210
+ nullable: false,
211
+ type: ColumnType.ShortText,
212
+ length: ColumnLength.ShortText,
213
+ }),
214
+ __metadata("design:type", String)
215
+ ], LogScrubRule.prototype, "patternType", void 0);
216
+ __decorate([
217
+ ColumnAccessControl({
218
+ create: [
219
+ Permission.ProjectOwner,
220
+ Permission.ProjectAdmin,
221
+ Permission.CreateProjectLogScrubRule,
222
+ ],
223
+ read: [
224
+ Permission.ProjectOwner,
225
+ Permission.ProjectAdmin,
226
+ Permission.ProjectMember,
227
+ Permission.ReadProjectLogScrubRule,
228
+ Permission.ReadAllProjectResources,
229
+ ],
230
+ update: [
231
+ Permission.ProjectOwner,
232
+ Permission.ProjectAdmin,
233
+ Permission.EditProjectLogScrubRule,
234
+ ],
235
+ }),
236
+ TableColumn({
237
+ required: false,
238
+ type: TableColumnType.LongText,
239
+ canReadOnRelationQuery: true,
240
+ title: "Custom Regex",
241
+ description: "A custom regular expression pattern to match. Only used when patternType is 'custom'.",
242
+ }),
243
+ Column({
244
+ nullable: true,
245
+ type: ColumnType.LongText,
246
+ length: ColumnLength.LongText,
247
+ }),
248
+ __metadata("design:type", String)
249
+ ], LogScrubRule.prototype, "customRegex", void 0);
250
+ __decorate([
251
+ ColumnAccessControl({
252
+ create: [
253
+ Permission.ProjectOwner,
254
+ Permission.ProjectAdmin,
255
+ Permission.CreateProjectLogScrubRule,
256
+ ],
257
+ read: [
258
+ Permission.ProjectOwner,
259
+ Permission.ProjectAdmin,
260
+ Permission.ProjectMember,
261
+ Permission.ReadProjectLogScrubRule,
262
+ Permission.ReadAllProjectResources,
263
+ ],
264
+ update: [
265
+ Permission.ProjectOwner,
266
+ Permission.ProjectAdmin,
267
+ Permission.EditProjectLogScrubRule,
268
+ ],
269
+ }),
270
+ TableColumn({
271
+ required: true,
272
+ type: TableColumnType.ShortText,
273
+ canReadOnRelationQuery: true,
274
+ title: "Scrub Action",
275
+ description: "How to scrub matched data: 'mask' partially hides it, 'hash' replaces with a hash, 'redact' removes entirely.",
276
+ }),
277
+ Column({
278
+ nullable: false,
279
+ type: ColumnType.ShortText,
280
+ length: ColumnLength.ShortText,
281
+ default: "redact",
282
+ }),
283
+ __metadata("design:type", String)
284
+ ], LogScrubRule.prototype, "scrubAction", void 0);
285
+ __decorate([
286
+ ColumnAccessControl({
287
+ create: [
288
+ Permission.ProjectOwner,
289
+ Permission.ProjectAdmin,
290
+ Permission.CreateProjectLogScrubRule,
291
+ ],
292
+ read: [
293
+ Permission.ProjectOwner,
294
+ Permission.ProjectAdmin,
295
+ Permission.ProjectMember,
296
+ Permission.ReadProjectLogScrubRule,
297
+ Permission.ReadAllProjectResources,
298
+ ],
299
+ update: [
300
+ Permission.ProjectOwner,
301
+ Permission.ProjectAdmin,
302
+ Permission.EditProjectLogScrubRule,
303
+ ],
304
+ }),
305
+ TableColumn({
306
+ required: true,
307
+ type: TableColumnType.ShortText,
308
+ canReadOnRelationQuery: true,
309
+ title: "Fields to Scrub",
310
+ description: "Which log fields to scrub: 'body' (log message only), 'attributes' (attribute values only), or 'both'.",
311
+ }),
312
+ Column({
313
+ nullable: false,
314
+ type: ColumnType.ShortText,
315
+ length: ColumnLength.ShortText,
316
+ default: "both",
317
+ }),
318
+ __metadata("design:type", String)
319
+ ], LogScrubRule.prototype, "fieldsToScrub", void 0);
320
+ __decorate([
321
+ ColumnAccessControl({
322
+ create: [
323
+ Permission.ProjectOwner,
324
+ Permission.ProjectAdmin,
325
+ Permission.CreateProjectLogScrubRule,
326
+ ],
327
+ read: [
328
+ Permission.ProjectOwner,
329
+ Permission.ProjectAdmin,
330
+ Permission.ProjectMember,
331
+ Permission.ReadProjectLogScrubRule,
332
+ Permission.ReadAllProjectResources,
333
+ ],
334
+ update: [
335
+ Permission.ProjectOwner,
336
+ Permission.ProjectAdmin,
337
+ Permission.EditProjectLogScrubRule,
338
+ ],
339
+ }),
340
+ Index(),
341
+ TableColumn({
342
+ required: true,
343
+ type: TableColumnType.Boolean,
344
+ canReadOnRelationQuery: true,
345
+ title: "Enabled",
346
+ description: "Whether this scrub rule is active.",
347
+ defaultValue: true,
348
+ }),
349
+ Column({
350
+ nullable: false,
351
+ type: ColumnType.Boolean,
352
+ default: true,
353
+ }),
354
+ __metadata("design:type", Boolean)
355
+ ], LogScrubRule.prototype, "isEnabled", void 0);
356
+ __decorate([
357
+ ColumnAccessControl({
358
+ create: [
359
+ Permission.ProjectOwner,
360
+ Permission.ProjectAdmin,
361
+ Permission.CreateProjectLogScrubRule,
362
+ ],
363
+ read: [
364
+ Permission.ProjectOwner,
365
+ Permission.ProjectAdmin,
366
+ Permission.ProjectMember,
367
+ Permission.ReadProjectLogScrubRule,
368
+ Permission.ReadAllProjectResources,
369
+ ],
370
+ update: [
371
+ Permission.ProjectOwner,
372
+ Permission.ProjectAdmin,
373
+ Permission.EditProjectLogScrubRule,
374
+ ],
375
+ }),
376
+ TableColumn({
377
+ title: "Sort Order",
378
+ required: false,
379
+ type: TableColumnType.Number,
380
+ canReadOnRelationQuery: true,
381
+ description: "Determines the evaluation order of this rule relative to others.",
382
+ defaultValue: 0,
383
+ }),
384
+ Column({
385
+ type: ColumnType.Number,
386
+ nullable: false,
387
+ default: 0,
388
+ }),
389
+ __metadata("design:type", Number)
390
+ ], LogScrubRule.prototype, "sortOrder", void 0);
391
+ __decorate([
392
+ ColumnAccessControl({
393
+ create: [],
394
+ read: [
395
+ Permission.ProjectOwner,
396
+ Permission.ProjectAdmin,
397
+ Permission.ProjectMember,
398
+ Permission.ReadProjectLogScrubRule,
399
+ Permission.ReadAllProjectResources,
400
+ ],
401
+ update: [],
402
+ }),
403
+ TableColumn({
404
+ manyToOneRelationColumn: "createdByUserId",
405
+ type: TableColumnType.Entity,
406
+ modelType: User,
407
+ title: "Created By User",
408
+ description: "Relation to the user who created this log scrub rule.",
409
+ }),
410
+ ManyToOne(() => {
411
+ return User;
412
+ }, {
413
+ eager: false,
414
+ nullable: true,
415
+ onDelete: "SET NULL",
416
+ orphanedRowAction: "nullify",
417
+ }),
418
+ JoinColumn({ name: "createdByUserId" }),
419
+ __metadata("design:type", User)
420
+ ], LogScrubRule.prototype, "createdByUser", void 0);
421
+ __decorate([
422
+ ColumnAccessControl({
423
+ create: [],
424
+ read: [
425
+ Permission.ProjectOwner,
426
+ Permission.ProjectAdmin,
427
+ Permission.ProjectMember,
428
+ Permission.ReadProjectLogScrubRule,
429
+ Permission.ReadAllProjectResources,
430
+ ],
431
+ update: [],
432
+ }),
433
+ TableColumn({
434
+ type: TableColumnType.ObjectID,
435
+ title: "Created By User ID",
436
+ description: "ID of the user who created this log scrub rule.",
437
+ }),
438
+ Column({
439
+ type: ColumnType.ObjectID,
440
+ nullable: true,
441
+ transformer: ObjectID.getDatabaseTransformer(),
442
+ }),
443
+ __metadata("design:type", ObjectID)
444
+ ], LogScrubRule.prototype, "createdByUserId", void 0);
445
+ __decorate([
446
+ ColumnAccessControl({
447
+ create: [],
448
+ read: [
449
+ Permission.ProjectOwner,
450
+ Permission.ProjectAdmin,
451
+ Permission.ProjectMember,
452
+ Permission.ReadProjectLogScrubRule,
453
+ Permission.ReadAllProjectResources,
454
+ ],
455
+ update: [],
456
+ }),
457
+ TableColumn({
458
+ manyToOneRelationColumn: "deletedByUserId",
459
+ type: TableColumnType.Entity,
460
+ modelType: User,
461
+ title: "Deleted By User",
462
+ description: "Relation to the user who deleted this log scrub rule.",
463
+ }),
464
+ ManyToOne(() => {
465
+ return User;
466
+ }, {
467
+ eager: false,
468
+ nullable: true,
469
+ onDelete: "SET NULL",
470
+ orphanedRowAction: "nullify",
471
+ }),
472
+ JoinColumn({ name: "deletedByUserId" }),
473
+ __metadata("design:type", User)
474
+ ], LogScrubRule.prototype, "deletedByUser", void 0);
475
+ __decorate([
476
+ ColumnAccessControl({
477
+ create: [],
478
+ read: [
479
+ Permission.ProjectOwner,
480
+ Permission.ProjectAdmin,
481
+ Permission.ProjectMember,
482
+ Permission.ReadProjectLogScrubRule,
483
+ Permission.ReadAllProjectResources,
484
+ ],
485
+ update: [],
486
+ }),
487
+ TableColumn({
488
+ type: TableColumnType.ObjectID,
489
+ title: "Deleted By User ID",
490
+ description: "ID of the user who deleted this log scrub rule.",
491
+ }),
492
+ Column({
493
+ type: ColumnType.ObjectID,
494
+ nullable: true,
495
+ transformer: ObjectID.getDatabaseTransformer(),
496
+ }),
497
+ __metadata("design:type", ObjectID)
498
+ ], LogScrubRule.prototype, "deletedByUserId", void 0);
499
+ LogScrubRule = __decorate([
500
+ EnableDocumentation(),
501
+ TableBillingAccessControl({
502
+ create: PlanType.Free,
503
+ read: PlanType.Free,
504
+ update: PlanType.Free,
505
+ delete: PlanType.Free,
506
+ }),
507
+ TenantColumn("projectId"),
508
+ CrudApiEndpoint(new Route("/log-scrub-rule")),
509
+ Entity({
510
+ name: "LogScrubRule",
511
+ }),
512
+ TableMetadata({
513
+ tableName: "LogScrubRule",
514
+ singularName: "Log Scrub Rule",
515
+ pluralName: "Log Scrub Rules",
516
+ icon: IconProp.ShieldCheck,
517
+ tableDescription: "Configure rules to automatically detect and scrub sensitive data (PII) from logs at ingest time.",
518
+ }),
519
+ TableAccessControl({
520
+ create: [
521
+ Permission.ProjectOwner,
522
+ Permission.ProjectAdmin,
523
+ Permission.CreateProjectLogScrubRule,
524
+ ],
525
+ read: [
526
+ Permission.ProjectOwner,
527
+ Permission.ProjectAdmin,
528
+ Permission.ProjectMember,
529
+ Permission.ReadProjectLogScrubRule,
530
+ Permission.ReadAllProjectResources,
531
+ ],
532
+ delete: [
533
+ Permission.ProjectOwner,
534
+ Permission.ProjectAdmin,
535
+ Permission.DeleteProjectLogScrubRule,
536
+ ],
537
+ update: [
538
+ Permission.ProjectOwner,
539
+ Permission.ProjectAdmin,
540
+ Permission.EditProjectLogScrubRule,
541
+ ],
542
+ })
543
+ ], LogScrubRule);
544
+ export default LogScrubRule;
545
+ //# sourceMappingURL=LogScrubRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogScrubRule.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/LogScrubRule.ts"],"names":[],"mappings":"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"}