@oneuptime/common 10.2.2 → 10.2.3

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 (54) hide show
  1. package/Models/DatabaseModels/Index.ts +4 -0
  2. package/Models/DatabaseModels/UserNotificationRule.ts +49 -0
  3. package/Models/DatabaseModels/UserNotificationSetting.ts +17 -0
  4. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +48 -0
  5. package/Models/DatabaseModels/UserWebhook.ts +290 -0
  6. package/Models/DatabaseModels/WebhookLog.ts +992 -0
  7. package/Server/API/UserWebhookAPI.ts +159 -0
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1778506655291-AddProjectOIDC.ts +1 -1
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/1778514515756-MigrationName.ts +259 -0
  10. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  11. package/Server/Services/UserNotificationRuleService.ts +213 -1
  12. package/Server/Services/UserNotificationSettingService.ts +95 -0
  13. package/Server/Services/UserWebhookService.ts +208 -0
  14. package/Server/Services/WebhookLogService.ts +15 -0
  15. package/Server/Services/WebhookService.ts +126 -0
  16. package/Types/Permission.ts +12 -0
  17. package/Types/Webhook/WebhookMessage.ts +8 -0
  18. package/Types/WebhookStatus.ts +6 -0
  19. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  20. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  21. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +49 -0
  22. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
  23. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +19 -0
  24. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
  25. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +48 -0
  26. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
  27. package/build/dist/Models/DatabaseModels/UserWebhook.js +307 -0
  28. package/build/dist/Models/DatabaseModels/UserWebhook.js.map +1 -0
  29. package/build/dist/Models/DatabaseModels/WebhookLog.js +1021 -0
  30. package/build/dist/Models/DatabaseModels/WebhookLog.js.map +1 -0
  31. package/build/dist/Server/API/UserWebhookAPI.js +99 -0
  32. package/build/dist/Server/API/UserWebhookAPI.js.map +1 -0
  33. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778506655291-AddProjectOIDC.js.map +1 -1
  34. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778514515756-MigrationName.js +94 -0
  35. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778514515756-MigrationName.js.map +1 -0
  36. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  37. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  38. package/build/dist/Server/Services/UserNotificationRuleService.js +178 -21
  39. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  40. package/build/dist/Server/Services/UserNotificationSettingService.js +84 -1
  41. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  42. package/build/dist/Server/Services/UserWebhookService.js +190 -0
  43. package/build/dist/Server/Services/UserWebhookService.js.map +1 -0
  44. package/build/dist/Server/Services/WebhookLogService.js +13 -0
  45. package/build/dist/Server/Services/WebhookLogService.js.map +1 -0
  46. package/build/dist/Server/Services/WebhookService.js +92 -0
  47. package/build/dist/Server/Services/WebhookService.js.map +1 -0
  48. package/build/dist/Types/Permission.js +10 -0
  49. package/build/dist/Types/Permission.js.map +1 -1
  50. package/build/dist/Types/Webhook/WebhookMessage.js +2 -0
  51. package/build/dist/Types/Webhook/WebhookMessage.js.map +1 -0
  52. package/build/dist/Types/WebhookStatus.js +7 -0
  53. package/build/dist/Types/WebhookStatus.js.map +1 -0
  54. package/package.json +1 -1
@@ -0,0 +1,1021 @@
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 Incident from "./Incident";
12
+ import Alert from "./Alert";
13
+ import Monitor from "./Monitor";
14
+ import ScheduledMaintenance from "./ScheduledMaintenance";
15
+ import StatusPage from "./StatusPage";
16
+ import StatusPageAnnouncement from "./StatusPageAnnouncement";
17
+ import User from "./User";
18
+ import OnCallDutyPolicy from "./OnCallDutyPolicy";
19
+ import OnCallDutyPolicyEscalationRule from "./OnCallDutyPolicyEscalationRule";
20
+ import OnCallDutyPolicySchedule from "./OnCallDutyPolicySchedule";
21
+ import Team from "./Team";
22
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
23
+ import Route from "../../Types/API/Route";
24
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
25
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
26
+ import ColumnLength from "../../Types/Database/ColumnLength";
27
+ import ColumnType from "../../Types/Database/ColumnType";
28
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
29
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
30
+ import EnableWorkflow from "../../Types/Database/EnableWorkflow";
31
+ import TableColumn from "../../Types/Database/TableColumn";
32
+ import TableColumnType from "../../Types/Database/TableColumnType";
33
+ import TableMetadata from "../../Types/Database/TableMetadata";
34
+ import TenantColumn from "../../Types/Database/TenantColumn";
35
+ import IconProp from "../../Types/Icon/IconProp";
36
+ import ObjectID from "../../Types/ObjectID";
37
+ import Permission from "../../Types/Permission";
38
+ import WebhookStatus from "../../Types/WebhookStatus";
39
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
40
+ let WebhookLog = class WebhookLog extends BaseModel {
41
+ constructor() {
42
+ super(...arguments);
43
+ this.project = undefined;
44
+ this.projectId = undefined;
45
+ this.webhookUrl = undefined;
46
+ this.requestBody = undefined;
47
+ this.responseStatusCode = undefined;
48
+ this.responseBody = undefined;
49
+ this.statusMessage = undefined;
50
+ this.status = undefined;
51
+ this.incident = undefined;
52
+ this.incidentId = undefined;
53
+ this.user = undefined;
54
+ this.userId = undefined;
55
+ this.alert = undefined;
56
+ this.alertId = undefined;
57
+ this.monitor = undefined;
58
+ this.monitorId = undefined;
59
+ this.scheduledMaintenance = undefined;
60
+ this.scheduledMaintenanceId = undefined;
61
+ this.statusPage = undefined;
62
+ this.statusPageId = undefined;
63
+ this.statusPageAnnouncement = undefined;
64
+ this.statusPageAnnouncementId = undefined;
65
+ this.team = undefined;
66
+ this.teamId = undefined;
67
+ this.onCallDutyPolicy = undefined;
68
+ this.onCallDutyPolicyId = undefined;
69
+ this.onCallDutyPolicyEscalationRule = undefined;
70
+ this.onCallDutyPolicyEscalationRuleId = undefined;
71
+ this.onCallDutyPolicySchedule = undefined;
72
+ this.onCallDutyPolicyScheduleId = undefined;
73
+ this.deletedByUser = undefined;
74
+ this.deletedByUserId = undefined;
75
+ }
76
+ };
77
+ __decorate([
78
+ ColumnAccessControl({
79
+ create: [],
80
+ read: [
81
+ Permission.ProjectOwner,
82
+ Permission.ProjectAdmin,
83
+ Permission.ProjectMember,
84
+ Permission.Viewer,
85
+ Permission.ReadWebhookLog,
86
+ Permission.ReadAllProjectResources,
87
+ ],
88
+ update: [],
89
+ }),
90
+ TableColumn({
91
+ manyToOneRelationColumn: "projectId",
92
+ type: TableColumnType.Entity,
93
+ modelType: Project,
94
+ title: "Project",
95
+ description: "Relation to Project Resource in which this object belongs",
96
+ }),
97
+ ManyToOne(() => {
98
+ return Project;
99
+ }, {
100
+ eager: false,
101
+ nullable: true,
102
+ onDelete: "CASCADE",
103
+ orphanedRowAction: "nullify",
104
+ }),
105
+ JoinColumn({ name: "projectId" }),
106
+ __metadata("design:type", Project)
107
+ ], WebhookLog.prototype, "project", void 0);
108
+ __decorate([
109
+ ColumnAccessControl({
110
+ create: [],
111
+ read: [
112
+ Permission.ProjectOwner,
113
+ Permission.ProjectAdmin,
114
+ Permission.ProjectMember,
115
+ Permission.Viewer,
116
+ Permission.ReadWebhookLog,
117
+ Permission.ReadAllProjectResources,
118
+ ],
119
+ update: [],
120
+ }),
121
+ Index(),
122
+ TableColumn({
123
+ type: TableColumnType.ObjectID,
124
+ required: true,
125
+ canReadOnRelationQuery: true,
126
+ title: "Project ID",
127
+ description: "ID of your OneUptime Project in which this object belongs",
128
+ }),
129
+ Column({
130
+ type: ColumnType.ObjectID,
131
+ nullable: false,
132
+ transformer: ObjectID.getDatabaseTransformer(),
133
+ }),
134
+ __metadata("design:type", ObjectID)
135
+ ], WebhookLog.prototype, "projectId", void 0);
136
+ __decorate([
137
+ ColumnAccessControl({
138
+ create: [],
139
+ read: [
140
+ Permission.ProjectOwner,
141
+ Permission.ProjectAdmin,
142
+ Permission.ProjectMember,
143
+ Permission.Viewer,
144
+ Permission.ReadWebhookLog,
145
+ Permission.ReadAllProjectResources,
146
+ ],
147
+ update: [],
148
+ }),
149
+ TableColumn({
150
+ required: true,
151
+ type: TableColumnType.LongText,
152
+ title: "Webhook URL",
153
+ description: "URL the request was sent to",
154
+ canReadOnRelationQuery: false,
155
+ }),
156
+ Column({
157
+ nullable: false,
158
+ type: ColumnType.LongText,
159
+ length: ColumnLength.LongText,
160
+ }),
161
+ __metadata("design:type", String)
162
+ ], WebhookLog.prototype, "webhookUrl", void 0);
163
+ __decorate([
164
+ ColumnAccessControl({
165
+ create: [],
166
+ read: [
167
+ Permission.ProjectOwner,
168
+ Permission.ProjectAdmin,
169
+ Permission.ProjectMember,
170
+ Permission.Viewer,
171
+ Permission.ReadWebhookLog,
172
+ Permission.ReadAllProjectResources,
173
+ ],
174
+ update: [],
175
+ }),
176
+ TableColumn({
177
+ required: false,
178
+ type: TableColumnType.VeryLongText,
179
+ title: "Request Body",
180
+ description: "JSON body that was POSTed to the webhook URL",
181
+ canReadOnRelationQuery: false,
182
+ }),
183
+ Column({
184
+ nullable: true,
185
+ type: ColumnType.VeryLongText,
186
+ }),
187
+ __metadata("design:type", String)
188
+ ], WebhookLog.prototype, "requestBody", void 0);
189
+ __decorate([
190
+ ColumnAccessControl({
191
+ create: [],
192
+ read: [
193
+ Permission.ProjectOwner,
194
+ Permission.ProjectAdmin,
195
+ Permission.ProjectMember,
196
+ Permission.Viewer,
197
+ Permission.ReadWebhookLog,
198
+ Permission.ReadAllProjectResources,
199
+ ],
200
+ update: [],
201
+ }),
202
+ TableColumn({
203
+ required: false,
204
+ type: TableColumnType.Number,
205
+ title: "Response Status Code",
206
+ description: "HTTP status code returned by the webhook endpoint",
207
+ canReadOnRelationQuery: false,
208
+ }),
209
+ Column({
210
+ nullable: true,
211
+ type: ColumnType.Number,
212
+ }),
213
+ __metadata("design:type", Number)
214
+ ], WebhookLog.prototype, "responseStatusCode", void 0);
215
+ __decorate([
216
+ ColumnAccessControl({
217
+ create: [],
218
+ read: [
219
+ Permission.ProjectOwner,
220
+ Permission.ProjectAdmin,
221
+ Permission.ProjectMember,
222
+ Permission.Viewer,
223
+ Permission.ReadWebhookLog,
224
+ Permission.ReadAllProjectResources,
225
+ ],
226
+ update: [],
227
+ }),
228
+ TableColumn({
229
+ required: false,
230
+ type: TableColumnType.VeryLongText,
231
+ title: "Response Body",
232
+ description: "Response body returned by the webhook endpoint (truncated)",
233
+ canReadOnRelationQuery: false,
234
+ }),
235
+ Column({
236
+ nullable: true,
237
+ type: ColumnType.VeryLongText,
238
+ }),
239
+ __metadata("design:type", String)
240
+ ], WebhookLog.prototype, "responseBody", void 0);
241
+ __decorate([
242
+ ColumnAccessControl({
243
+ create: [],
244
+ read: [
245
+ Permission.ProjectOwner,
246
+ Permission.ProjectAdmin,
247
+ Permission.ProjectMember,
248
+ Permission.Viewer,
249
+ Permission.ReadWebhookLog,
250
+ Permission.ReadAllProjectResources,
251
+ ],
252
+ update: [],
253
+ }),
254
+ TableColumn({
255
+ required: false,
256
+ type: TableColumnType.LongText,
257
+ title: "Status Message",
258
+ description: "Status Message (if any)",
259
+ canReadOnRelationQuery: false,
260
+ }),
261
+ Column({
262
+ nullable: true,
263
+ type: ColumnType.LongText,
264
+ length: ColumnLength.LongText,
265
+ }),
266
+ __metadata("design:type", String)
267
+ ], WebhookLog.prototype, "statusMessage", void 0);
268
+ __decorate([
269
+ ColumnAccessControl({
270
+ create: [],
271
+ read: [
272
+ Permission.ProjectOwner,
273
+ Permission.ProjectAdmin,
274
+ Permission.ProjectMember,
275
+ Permission.Viewer,
276
+ Permission.ReadWebhookLog,
277
+ Permission.ReadAllProjectResources,
278
+ ],
279
+ update: [],
280
+ }),
281
+ TableColumn({
282
+ required: true,
283
+ type: TableColumnType.ShortText,
284
+ title: "Status",
285
+ description: "Status of the Webhook request",
286
+ canReadOnRelationQuery: false,
287
+ }),
288
+ Column({
289
+ nullable: false,
290
+ type: ColumnType.ShortText,
291
+ length: ColumnLength.ShortText,
292
+ }),
293
+ __metadata("design:type", String)
294
+ ], WebhookLog.prototype, "status", void 0);
295
+ __decorate([
296
+ ColumnAccessControl({
297
+ create: [],
298
+ read: [
299
+ Permission.ProjectOwner,
300
+ Permission.ProjectAdmin,
301
+ Permission.ProjectMember,
302
+ Permission.Viewer,
303
+ Permission.ReadWebhookLog,
304
+ Permission.ReadAllProjectResources,
305
+ ],
306
+ update: [],
307
+ }),
308
+ TableColumn({
309
+ manyToOneRelationColumn: "incidentId",
310
+ type: TableColumnType.Entity,
311
+ modelType: Incident,
312
+ title: "Incident",
313
+ description: "Incident associated with this request (if any)",
314
+ }),
315
+ ManyToOne(() => {
316
+ return Incident;
317
+ }, {
318
+ eager: false,
319
+ nullable: true,
320
+ onDelete: "CASCADE",
321
+ orphanedRowAction: "nullify",
322
+ }),
323
+ JoinColumn({ name: "incidentId" }),
324
+ __metadata("design:type", Incident)
325
+ ], WebhookLog.prototype, "incident", void 0);
326
+ __decorate([
327
+ ColumnAccessControl({
328
+ create: [],
329
+ read: [
330
+ Permission.ProjectOwner,
331
+ Permission.ProjectAdmin,
332
+ Permission.ProjectMember,
333
+ Permission.Viewer,
334
+ Permission.ReadWebhookLog,
335
+ Permission.ReadAllProjectResources,
336
+ ],
337
+ update: [],
338
+ }),
339
+ Index(),
340
+ TableColumn({
341
+ type: TableColumnType.ObjectID,
342
+ required: false,
343
+ canReadOnRelationQuery: true,
344
+ title: "Incident ID",
345
+ description: "ID of Incident associated with this request (if any)",
346
+ }),
347
+ Column({
348
+ type: ColumnType.ObjectID,
349
+ nullable: true,
350
+ transformer: ObjectID.getDatabaseTransformer(),
351
+ }),
352
+ __metadata("design:type", ObjectID)
353
+ ], WebhookLog.prototype, "incidentId", void 0);
354
+ __decorate([
355
+ ColumnAccessControl({
356
+ create: [],
357
+ read: [
358
+ Permission.ProjectOwner,
359
+ Permission.ProjectAdmin,
360
+ Permission.ProjectMember,
361
+ Permission.Viewer,
362
+ Permission.ReadWebhookLog,
363
+ Permission.ReadAllProjectResources,
364
+ ],
365
+ update: [],
366
+ }),
367
+ TableColumn({
368
+ manyToOneRelationColumn: "userId",
369
+ type: TableColumnType.Entity,
370
+ modelType: User,
371
+ title: "User",
372
+ description: "User who initiated this request (if any)",
373
+ }),
374
+ ManyToOne(() => {
375
+ return User;
376
+ }, {
377
+ eager: false,
378
+ nullable: true,
379
+ onDelete: "CASCADE",
380
+ orphanedRowAction: "nullify",
381
+ }),
382
+ JoinColumn({ name: "userId" }),
383
+ __metadata("design:type", User)
384
+ ], WebhookLog.prototype, "user", void 0);
385
+ __decorate([
386
+ ColumnAccessControl({
387
+ create: [],
388
+ read: [
389
+ Permission.ProjectOwner,
390
+ Permission.ProjectAdmin,
391
+ Permission.ProjectMember,
392
+ Permission.Viewer,
393
+ Permission.ReadWebhookLog,
394
+ Permission.ReadAllProjectResources,
395
+ ],
396
+ update: [],
397
+ }),
398
+ Index(),
399
+ TableColumn({
400
+ type: TableColumnType.ObjectID,
401
+ required: false,
402
+ canReadOnRelationQuery: true,
403
+ title: "User ID",
404
+ description: "ID of User who initiated this request (if any)",
405
+ }),
406
+ Column({
407
+ type: ColumnType.ObjectID,
408
+ nullable: true,
409
+ transformer: ObjectID.getDatabaseTransformer(),
410
+ }),
411
+ __metadata("design:type", ObjectID)
412
+ ], WebhookLog.prototype, "userId", void 0);
413
+ __decorate([
414
+ ColumnAccessControl({
415
+ create: [],
416
+ read: [
417
+ Permission.ProjectOwner,
418
+ Permission.ProjectAdmin,
419
+ Permission.ProjectMember,
420
+ Permission.Viewer,
421
+ Permission.ReadWebhookLog,
422
+ Permission.ReadAllProjectResources,
423
+ ],
424
+ update: [],
425
+ }),
426
+ TableColumn({
427
+ manyToOneRelationColumn: "alertId",
428
+ type: TableColumnType.Entity,
429
+ modelType: Alert,
430
+ title: "Alert",
431
+ description: "Alert associated with this request (if any)",
432
+ }),
433
+ ManyToOne(() => {
434
+ return Alert;
435
+ }, {
436
+ eager: false,
437
+ nullable: true,
438
+ onDelete: "CASCADE",
439
+ orphanedRowAction: "nullify",
440
+ }),
441
+ JoinColumn({ name: "alertId" }),
442
+ __metadata("design:type", Alert)
443
+ ], WebhookLog.prototype, "alert", void 0);
444
+ __decorate([
445
+ ColumnAccessControl({
446
+ create: [],
447
+ read: [
448
+ Permission.ProjectOwner,
449
+ Permission.ProjectAdmin,
450
+ Permission.ProjectMember,
451
+ Permission.Viewer,
452
+ Permission.ReadWebhookLog,
453
+ Permission.ReadAllProjectResources,
454
+ ],
455
+ update: [],
456
+ }),
457
+ Index(),
458
+ TableColumn({
459
+ type: TableColumnType.ObjectID,
460
+ required: false,
461
+ canReadOnRelationQuery: true,
462
+ title: "Alert ID",
463
+ description: "ID of Alert associated with this request (if any)",
464
+ }),
465
+ Column({
466
+ type: ColumnType.ObjectID,
467
+ nullable: true,
468
+ transformer: ObjectID.getDatabaseTransformer(),
469
+ }),
470
+ __metadata("design:type", ObjectID)
471
+ ], WebhookLog.prototype, "alertId", void 0);
472
+ __decorate([
473
+ ColumnAccessControl({
474
+ create: [],
475
+ read: [
476
+ Permission.ProjectOwner,
477
+ Permission.ProjectAdmin,
478
+ Permission.ProjectMember,
479
+ Permission.Viewer,
480
+ Permission.ReadWebhookLog,
481
+ Permission.ReadAllProjectResources,
482
+ ],
483
+ update: [],
484
+ }),
485
+ TableColumn({
486
+ manyToOneRelationColumn: "monitorId",
487
+ type: TableColumnType.Entity,
488
+ modelType: Monitor,
489
+ title: "Monitor",
490
+ description: "Monitor associated with this request (if any)",
491
+ }),
492
+ ManyToOne(() => {
493
+ return Monitor;
494
+ }, {
495
+ eager: false,
496
+ nullable: true,
497
+ onDelete: "CASCADE",
498
+ orphanedRowAction: "nullify",
499
+ }),
500
+ JoinColumn({ name: "monitorId" }),
501
+ __metadata("design:type", Monitor)
502
+ ], WebhookLog.prototype, "monitor", void 0);
503
+ __decorate([
504
+ ColumnAccessControl({
505
+ create: [],
506
+ read: [
507
+ Permission.ProjectOwner,
508
+ Permission.ProjectAdmin,
509
+ Permission.ProjectMember,
510
+ Permission.Viewer,
511
+ Permission.ReadWebhookLog,
512
+ Permission.ReadAllProjectResources,
513
+ ],
514
+ update: [],
515
+ }),
516
+ Index(),
517
+ TableColumn({
518
+ type: TableColumnType.ObjectID,
519
+ required: false,
520
+ canReadOnRelationQuery: true,
521
+ title: "Monitor ID",
522
+ description: "ID of Monitor associated with this request (if any)",
523
+ }),
524
+ Column({
525
+ type: ColumnType.ObjectID,
526
+ nullable: true,
527
+ transformer: ObjectID.getDatabaseTransformer(),
528
+ }),
529
+ __metadata("design:type", ObjectID)
530
+ ], WebhookLog.prototype, "monitorId", void 0);
531
+ __decorate([
532
+ ColumnAccessControl({
533
+ create: [],
534
+ read: [
535
+ Permission.ProjectOwner,
536
+ Permission.ProjectAdmin,
537
+ Permission.ProjectMember,
538
+ Permission.Viewer,
539
+ Permission.ReadWebhookLog,
540
+ Permission.ReadAllProjectResources,
541
+ ],
542
+ update: [],
543
+ }),
544
+ TableColumn({
545
+ manyToOneRelationColumn: "scheduledMaintenanceId",
546
+ type: TableColumnType.Entity,
547
+ modelType: ScheduledMaintenance,
548
+ title: "Scheduled Maintenance",
549
+ description: "Scheduled Maintenance associated with this request (if any)",
550
+ }),
551
+ ManyToOne(() => {
552
+ return ScheduledMaintenance;
553
+ }, {
554
+ eager: false,
555
+ nullable: true,
556
+ onDelete: "CASCADE",
557
+ orphanedRowAction: "nullify",
558
+ }),
559
+ JoinColumn({ name: "scheduledMaintenanceId" }),
560
+ __metadata("design:type", ScheduledMaintenance)
561
+ ], WebhookLog.prototype, "scheduledMaintenance", void 0);
562
+ __decorate([
563
+ ColumnAccessControl({
564
+ create: [],
565
+ read: [
566
+ Permission.ProjectOwner,
567
+ Permission.ProjectAdmin,
568
+ Permission.ProjectMember,
569
+ Permission.Viewer,
570
+ Permission.ReadWebhookLog,
571
+ Permission.ReadAllProjectResources,
572
+ ],
573
+ update: [],
574
+ }),
575
+ Index(),
576
+ TableColumn({
577
+ type: TableColumnType.ObjectID,
578
+ required: false,
579
+ canReadOnRelationQuery: true,
580
+ title: "Scheduled Maintenance ID",
581
+ description: "ID of Scheduled Maintenance associated with this request (if any)",
582
+ }),
583
+ Column({
584
+ type: ColumnType.ObjectID,
585
+ nullable: true,
586
+ transformer: ObjectID.getDatabaseTransformer(),
587
+ }),
588
+ __metadata("design:type", ObjectID)
589
+ ], WebhookLog.prototype, "scheduledMaintenanceId", void 0);
590
+ __decorate([
591
+ ColumnAccessControl({
592
+ create: [],
593
+ read: [
594
+ Permission.ProjectOwner,
595
+ Permission.ProjectAdmin,
596
+ Permission.ProjectMember,
597
+ Permission.Viewer,
598
+ Permission.ReadWebhookLog,
599
+ Permission.ReadAllProjectResources,
600
+ ],
601
+ update: [],
602
+ }),
603
+ TableColumn({
604
+ manyToOneRelationColumn: "statusPageId",
605
+ type: TableColumnType.Entity,
606
+ modelType: StatusPage,
607
+ title: "Status Page",
608
+ description: "Status Page associated with this request (if any)",
609
+ }),
610
+ ManyToOne(() => {
611
+ return StatusPage;
612
+ }, {
613
+ eager: false,
614
+ nullable: true,
615
+ onDelete: "CASCADE",
616
+ orphanedRowAction: "nullify",
617
+ }),
618
+ JoinColumn({ name: "statusPageId" }),
619
+ __metadata("design:type", StatusPage)
620
+ ], WebhookLog.prototype, "statusPage", void 0);
621
+ __decorate([
622
+ ColumnAccessControl({
623
+ create: [],
624
+ read: [
625
+ Permission.ProjectOwner,
626
+ Permission.ProjectAdmin,
627
+ Permission.ProjectMember,
628
+ Permission.Viewer,
629
+ Permission.ReadWebhookLog,
630
+ Permission.ReadAllProjectResources,
631
+ ],
632
+ update: [],
633
+ }),
634
+ Index(),
635
+ TableColumn({
636
+ type: TableColumnType.ObjectID,
637
+ required: false,
638
+ canReadOnRelationQuery: true,
639
+ title: "Status Page ID",
640
+ description: "ID of Status Page associated with this request (if any)",
641
+ }),
642
+ Column({
643
+ type: ColumnType.ObjectID,
644
+ nullable: true,
645
+ transformer: ObjectID.getDatabaseTransformer(),
646
+ }),
647
+ __metadata("design:type", ObjectID)
648
+ ], WebhookLog.prototype, "statusPageId", void 0);
649
+ __decorate([
650
+ ColumnAccessControl({
651
+ create: [],
652
+ read: [
653
+ Permission.ProjectOwner,
654
+ Permission.ProjectAdmin,
655
+ Permission.ProjectMember,
656
+ Permission.Viewer,
657
+ Permission.ReadWebhookLog,
658
+ Permission.ReadAllProjectResources,
659
+ ],
660
+ update: [],
661
+ }),
662
+ TableColumn({
663
+ manyToOneRelationColumn: "statusPageAnnouncementId",
664
+ type: TableColumnType.Entity,
665
+ modelType: StatusPageAnnouncement,
666
+ title: "Status Page Announcement",
667
+ description: "Status Page Announcement associated with this request (if any)",
668
+ }),
669
+ ManyToOne(() => {
670
+ return StatusPageAnnouncement;
671
+ }, {
672
+ eager: false,
673
+ nullable: true,
674
+ onDelete: "CASCADE",
675
+ orphanedRowAction: "nullify",
676
+ }),
677
+ JoinColumn({ name: "statusPageAnnouncementId" }),
678
+ __metadata("design:type", StatusPageAnnouncement)
679
+ ], WebhookLog.prototype, "statusPageAnnouncement", void 0);
680
+ __decorate([
681
+ ColumnAccessControl({
682
+ create: [],
683
+ read: [
684
+ Permission.ProjectOwner,
685
+ Permission.ProjectAdmin,
686
+ Permission.ProjectMember,
687
+ Permission.Viewer,
688
+ Permission.ReadWebhookLog,
689
+ Permission.ReadAllProjectResources,
690
+ ],
691
+ update: [],
692
+ }),
693
+ Index(),
694
+ TableColumn({
695
+ type: TableColumnType.ObjectID,
696
+ required: false,
697
+ canReadOnRelationQuery: true,
698
+ title: "Status Page Announcement ID",
699
+ description: "ID of Status Page Announcement associated with this request (if any)",
700
+ }),
701
+ Column({
702
+ type: ColumnType.ObjectID,
703
+ nullable: true,
704
+ transformer: ObjectID.getDatabaseTransformer(),
705
+ }),
706
+ __metadata("design:type", ObjectID)
707
+ ], WebhookLog.prototype, "statusPageAnnouncementId", void 0);
708
+ __decorate([
709
+ ColumnAccessControl({
710
+ create: [],
711
+ read: [
712
+ Permission.ProjectOwner,
713
+ Permission.ProjectAdmin,
714
+ Permission.ProjectMember,
715
+ Permission.Viewer,
716
+ Permission.ReadWebhookLog,
717
+ Permission.ReadAllProjectResources,
718
+ ],
719
+ update: [],
720
+ }),
721
+ TableColumn({
722
+ manyToOneRelationColumn: "teamId",
723
+ type: TableColumnType.Entity,
724
+ modelType: Team,
725
+ title: "Team",
726
+ description: "Team associated with this request (if any)",
727
+ }),
728
+ ManyToOne(() => {
729
+ return Team;
730
+ }, {
731
+ eager: false,
732
+ nullable: true,
733
+ onDelete: "CASCADE",
734
+ orphanedRowAction: "nullify",
735
+ }),
736
+ JoinColumn({ name: "teamId" }),
737
+ __metadata("design:type", Team)
738
+ ], WebhookLog.prototype, "team", void 0);
739
+ __decorate([
740
+ ColumnAccessControl({
741
+ create: [],
742
+ read: [
743
+ Permission.ProjectOwner,
744
+ Permission.ProjectAdmin,
745
+ Permission.ProjectMember,
746
+ Permission.Viewer,
747
+ Permission.ReadWebhookLog,
748
+ Permission.ReadAllProjectResources,
749
+ ],
750
+ update: [],
751
+ }),
752
+ Index(),
753
+ TableColumn({
754
+ type: TableColumnType.ObjectID,
755
+ required: false,
756
+ canReadOnRelationQuery: true,
757
+ title: "Team ID",
758
+ description: "ID of Team associated with this request (if any)",
759
+ }),
760
+ Column({
761
+ type: ColumnType.ObjectID,
762
+ nullable: true,
763
+ transformer: ObjectID.getDatabaseTransformer(),
764
+ }),
765
+ __metadata("design:type", ObjectID)
766
+ ], WebhookLog.prototype, "teamId", void 0);
767
+ __decorate([
768
+ ColumnAccessControl({
769
+ create: [],
770
+ read: [
771
+ Permission.ProjectOwner,
772
+ Permission.ProjectAdmin,
773
+ Permission.ProjectMember,
774
+ Permission.Viewer,
775
+ Permission.ReadWebhookLog,
776
+ Permission.ReadAllProjectResources,
777
+ ],
778
+ update: [],
779
+ }),
780
+ TableColumn({
781
+ manyToOneRelationColumn: "onCallDutyPolicyId",
782
+ type: TableColumnType.Entity,
783
+ modelType: OnCallDutyPolicy,
784
+ title: "On-Call Duty Policy",
785
+ description: "On-Call Duty Policy associated with this request (if any)",
786
+ }),
787
+ ManyToOne(() => {
788
+ return OnCallDutyPolicy;
789
+ }, {
790
+ eager: false,
791
+ nullable: true,
792
+ onDelete: "CASCADE",
793
+ orphanedRowAction: "nullify",
794
+ }),
795
+ JoinColumn({ name: "onCallDutyPolicyId" }),
796
+ __metadata("design:type", OnCallDutyPolicy)
797
+ ], WebhookLog.prototype, "onCallDutyPolicy", void 0);
798
+ __decorate([
799
+ ColumnAccessControl({
800
+ create: [],
801
+ read: [
802
+ Permission.ProjectOwner,
803
+ Permission.ProjectAdmin,
804
+ Permission.ProjectMember,
805
+ Permission.Viewer,
806
+ Permission.ReadWebhookLog,
807
+ Permission.ReadAllProjectResources,
808
+ ],
809
+ update: [],
810
+ }),
811
+ Index(),
812
+ TableColumn({
813
+ type: TableColumnType.ObjectID,
814
+ required: false,
815
+ canReadOnRelationQuery: true,
816
+ title: "On-Call Duty Policy ID",
817
+ description: "ID of On-Call Duty Policy associated with this request (if any)",
818
+ }),
819
+ Column({
820
+ type: ColumnType.ObjectID,
821
+ nullable: true,
822
+ transformer: ObjectID.getDatabaseTransformer(),
823
+ }),
824
+ __metadata("design:type", ObjectID)
825
+ ], WebhookLog.prototype, "onCallDutyPolicyId", void 0);
826
+ __decorate([
827
+ ColumnAccessControl({
828
+ create: [],
829
+ read: [
830
+ Permission.ProjectOwner,
831
+ Permission.ProjectAdmin,
832
+ Permission.ProjectMember,
833
+ Permission.Viewer,
834
+ Permission.ReadWebhookLog,
835
+ Permission.ReadAllProjectResources,
836
+ ],
837
+ update: [],
838
+ }),
839
+ TableColumn({
840
+ manyToOneRelationColumn: "onCallDutyPolicyEscalationRuleId",
841
+ type: TableColumnType.Entity,
842
+ modelType: OnCallDutyPolicyEscalationRule,
843
+ title: "On-Call Duty Policy Escalation Rule",
844
+ description: "On-Call Duty Policy Escalation Rule associated with this request (if any)",
845
+ }),
846
+ ManyToOne(() => {
847
+ return OnCallDutyPolicyEscalationRule;
848
+ }, {
849
+ eager: false,
850
+ nullable: true,
851
+ onDelete: "CASCADE",
852
+ orphanedRowAction: "nullify",
853
+ }),
854
+ JoinColumn({ name: "onCallDutyPolicyEscalationRuleId" }),
855
+ __metadata("design:type", OnCallDutyPolicyEscalationRule)
856
+ ], WebhookLog.prototype, "onCallDutyPolicyEscalationRule", void 0);
857
+ __decorate([
858
+ ColumnAccessControl({
859
+ create: [],
860
+ read: [
861
+ Permission.ProjectOwner,
862
+ Permission.ProjectAdmin,
863
+ Permission.ProjectMember,
864
+ Permission.Viewer,
865
+ Permission.ReadWebhookLog,
866
+ Permission.ReadAllProjectResources,
867
+ ],
868
+ update: [],
869
+ }),
870
+ Index(),
871
+ TableColumn({
872
+ type: TableColumnType.ObjectID,
873
+ required: false,
874
+ canReadOnRelationQuery: true,
875
+ title: "On-Call Duty Policy Escalation Rule ID",
876
+ description: "ID of On-Call Duty Policy Escalation Rule associated with this request (if any)",
877
+ }),
878
+ Column({
879
+ type: ColumnType.ObjectID,
880
+ nullable: true,
881
+ transformer: ObjectID.getDatabaseTransformer(),
882
+ }),
883
+ __metadata("design:type", ObjectID)
884
+ ], WebhookLog.prototype, "onCallDutyPolicyEscalationRuleId", void 0);
885
+ __decorate([
886
+ ColumnAccessControl({
887
+ create: [],
888
+ read: [
889
+ Permission.ProjectOwner,
890
+ Permission.ProjectAdmin,
891
+ Permission.ProjectMember,
892
+ Permission.Viewer,
893
+ Permission.ReadWebhookLog,
894
+ Permission.ReadAllProjectResources,
895
+ ],
896
+ update: [],
897
+ }),
898
+ TableColumn({
899
+ manyToOneRelationColumn: "onCallDutyPolicyScheduleId",
900
+ type: TableColumnType.Entity,
901
+ modelType: OnCallDutyPolicySchedule,
902
+ title: "On-Call Duty Policy Schedule",
903
+ description: "On-Call Duty Policy Schedule associated with this request (if any)",
904
+ }),
905
+ ManyToOne(() => {
906
+ return OnCallDutyPolicySchedule;
907
+ }, {
908
+ eager: false,
909
+ nullable: true,
910
+ onDelete: "CASCADE",
911
+ orphanedRowAction: "nullify",
912
+ }),
913
+ JoinColumn({ name: "onCallDutyPolicyScheduleId" }),
914
+ __metadata("design:type", OnCallDutyPolicySchedule)
915
+ ], WebhookLog.prototype, "onCallDutyPolicySchedule", void 0);
916
+ __decorate([
917
+ ColumnAccessControl({
918
+ create: [],
919
+ read: [
920
+ Permission.ProjectOwner,
921
+ Permission.ProjectAdmin,
922
+ Permission.ProjectMember,
923
+ Permission.Viewer,
924
+ Permission.ReadWebhookLog,
925
+ Permission.ReadAllProjectResources,
926
+ ],
927
+ update: [],
928
+ }),
929
+ Index(),
930
+ TableColumn({
931
+ type: TableColumnType.ObjectID,
932
+ required: false,
933
+ canReadOnRelationQuery: true,
934
+ title: "On-Call Duty Policy Schedule ID",
935
+ description: "ID of On-Call Duty Policy Schedule associated with this request (if any)",
936
+ }),
937
+ Column({
938
+ type: ColumnType.ObjectID,
939
+ nullable: true,
940
+ transformer: ObjectID.getDatabaseTransformer(),
941
+ }),
942
+ __metadata("design:type", ObjectID)
943
+ ], WebhookLog.prototype, "onCallDutyPolicyScheduleId", void 0);
944
+ __decorate([
945
+ ColumnAccessControl({
946
+ create: [],
947
+ read: [],
948
+ update: [],
949
+ }),
950
+ TableColumn({
951
+ manyToOneRelationColumn: "deletedByUserId",
952
+ type: TableColumnType.Entity,
953
+ title: "Deleted by User",
954
+ modelType: User,
955
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
956
+ }),
957
+ ManyToOne(() => {
958
+ return User;
959
+ }, {
960
+ cascade: false,
961
+ eager: false,
962
+ nullable: true,
963
+ onDelete: "SET NULL",
964
+ orphanedRowAction: "nullify",
965
+ }),
966
+ JoinColumn({ name: "deletedByUserId" }),
967
+ __metadata("design:type", User)
968
+ ], WebhookLog.prototype, "deletedByUser", void 0);
969
+ __decorate([
970
+ ColumnAccessControl({
971
+ create: [],
972
+ read: [],
973
+ update: [],
974
+ }),
975
+ TableColumn({
976
+ type: TableColumnType.ObjectID,
977
+ title: "Deleted by User ID",
978
+ description: "User ID who deleted this object (if this object was deleted by a User)",
979
+ }),
980
+ Column({
981
+ type: ColumnType.ObjectID,
982
+ nullable: true,
983
+ transformer: ObjectID.getDatabaseTransformer(),
984
+ }),
985
+ __metadata("design:type", ObjectID)
986
+ ], WebhookLog.prototype, "deletedByUserId", void 0);
987
+ WebhookLog = __decorate([
988
+ EnableDocumentation(),
989
+ TenantColumn("projectId"),
990
+ TableAccessControl({
991
+ create: [],
992
+ read: [
993
+ Permission.ProjectOwner,
994
+ Permission.ProjectAdmin,
995
+ Permission.ProjectMember,
996
+ Permission.Viewer,
997
+ Permission.ReadWebhookLog,
998
+ Permission.ReadAllProjectResources,
999
+ ],
1000
+ delete: [],
1001
+ update: [],
1002
+ }),
1003
+ CrudApiEndpoint(new Route("/webhook-log")),
1004
+ Entity({
1005
+ name: "WebhookLog",
1006
+ }),
1007
+ EnableWorkflow({
1008
+ create: true,
1009
+ delete: false,
1010
+ update: false,
1011
+ }),
1012
+ TableMetadata({
1013
+ tableName: "WebhookLog",
1014
+ singularName: "Webhook Log",
1015
+ pluralName: "Webhook Logs",
1016
+ icon: IconProp.Webhook,
1017
+ tableDescription: "Logs of all the outbound Webhook requests sent for this project.",
1018
+ })
1019
+ ], WebhookLog);
1020
+ export default WebhookLog;
1021
+ //# sourceMappingURL=WebhookLog.js.map