@oneuptime/common 10.2.2 → 10.2.4

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 (84) hide show
  1. package/Models/DatabaseModels/Index.ts +6 -0
  2. package/Models/DatabaseModels/StatusPage.ts +43 -0
  3. package/Models/DatabaseModels/StatusPageOidc.ts +689 -0
  4. package/Models/DatabaseModels/UserNotificationRule.ts +49 -0
  5. package/Models/DatabaseModels/UserNotificationSetting.ts +17 -0
  6. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +48 -0
  7. package/Models/DatabaseModels/UserWebhook.ts +290 -0
  8. package/Models/DatabaseModels/WebhookLog.ts +992 -0
  9. package/Server/API/StatusPageAPI.ts +78 -3
  10. package/Server/API/UserWebhookAPI.ts +159 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/1778506655291-AddProjectOIDC.ts +1 -1
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1778514515756-MigrationName.ts +259 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1778521361934-MigrationName.ts +17 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1778522070962-AddStatusPageOIDC.ts +63 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  16. package/Server/Services/Index.ts +2 -0
  17. package/Server/Services/ScheduledMaintenanceService.ts +34 -0
  18. package/Server/Services/StatusPageOidcService.ts +10 -0
  19. package/Server/Services/StatusPageSubscriberService.ts +101 -0
  20. package/Server/Services/UserNotificationRuleService.ts +213 -1
  21. package/Server/Services/UserNotificationSettingService.ts +95 -0
  22. package/Server/Services/UserWebhookService.ts +208 -0
  23. package/Server/Services/WebhookLogService.ts +15 -0
  24. package/Server/Services/WebhookService.ts +126 -0
  25. package/Server/Utils/StatusPageSubscriberWebhook.ts +39 -0
  26. package/Types/Permission.ts +58 -0
  27. package/Types/Webhook/WebhookMessage.ts +8 -0
  28. package/Types/WebhookStatus.ts +6 -0
  29. package/build/dist/Models/DatabaseModels/Index.js +6 -0
  30. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  31. package/build/dist/Models/DatabaseModels/StatusPage.js +45 -0
  32. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  33. package/build/dist/Models/DatabaseModels/StatusPageOidc.js +718 -0
  34. package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -0
  35. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +49 -0
  36. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -1
  37. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +19 -0
  38. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -1
  39. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +48 -0
  40. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -1
  41. package/build/dist/Models/DatabaseModels/UserWebhook.js +307 -0
  42. package/build/dist/Models/DatabaseModels/UserWebhook.js.map +1 -0
  43. package/build/dist/Models/DatabaseModels/WebhookLog.js +1021 -0
  44. package/build/dist/Models/DatabaseModels/WebhookLog.js.map +1 -0
  45. package/build/dist/Server/API/StatusPageAPI.js +80 -35
  46. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  47. package/build/dist/Server/API/UserWebhookAPI.js +99 -0
  48. package/build/dist/Server/API/UserWebhookAPI.js.map +1 -0
  49. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778506655291-AddProjectOIDC.js.map +1 -1
  50. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778514515756-MigrationName.js +94 -0
  51. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778514515756-MigrationName.js.map +1 -0
  52. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778521361934-MigrationName.js +12 -0
  53. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778521361934-MigrationName.js.map +1 -0
  54. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778522070962-AddStatusPageOIDC.js +28 -0
  55. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1778522070962-AddStatusPageOIDC.js.map +1 -0
  56. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  57. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  58. package/build/dist/Server/Services/Index.js +2 -0
  59. package/build/dist/Server/Services/Index.js.map +1 -1
  60. package/build/dist/Server/Services/ScheduledMaintenanceService.js +31 -2
  61. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  62. package/build/dist/Server/Services/StatusPageOidcService.js +9 -0
  63. package/build/dist/Server/Services/StatusPageOidcService.js.map +1 -0
  64. package/build/dist/Server/Services/StatusPageSubscriberService.js +99 -4
  65. package/build/dist/Server/Services/StatusPageSubscriberService.js.map +1 -1
  66. package/build/dist/Server/Services/UserNotificationRuleService.js +178 -21
  67. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  68. package/build/dist/Server/Services/UserNotificationSettingService.js +84 -1
  69. package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
  70. package/build/dist/Server/Services/UserWebhookService.js +190 -0
  71. package/build/dist/Server/Services/UserWebhookService.js.map +1 -0
  72. package/build/dist/Server/Services/WebhookLogService.js +13 -0
  73. package/build/dist/Server/Services/WebhookLogService.js.map +1 -0
  74. package/build/dist/Server/Services/WebhookService.js +92 -0
  75. package/build/dist/Server/Services/WebhookService.js.map +1 -0
  76. package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js +19 -0
  77. package/build/dist/Server/Utils/StatusPageSubscriberWebhook.js.map +1 -0
  78. package/build/dist/Types/Permission.js +50 -0
  79. package/build/dist/Types/Permission.js.map +1 -1
  80. package/build/dist/Types/Webhook/WebhookMessage.js +2 -0
  81. package/build/dist/Types/Webhook/WebhookMessage.js.map +1 -0
  82. package/build/dist/Types/WebhookStatus.js +7 -0
  83. package/build/dist/Types/WebhookStatus.js.map +1 -0
  84. package/package.json +1 -1
@@ -0,0 +1,718 @@
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 StatusPage from "./StatusPage";
12
+ import User from "./User";
13
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
14
+ import Route from "../../Types/API/Route";
15
+ import URL from "../../Types/API/URL";
16
+ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
17
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
18
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
19
+ import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
20
+ import ColumnLength from "../../Types/Database/ColumnLength";
21
+ import ColumnType from "../../Types/Database/ColumnType";
22
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
23
+ import TableColumn from "../../Types/Database/TableColumn";
24
+ import TableColumnType from "../../Types/Database/TableColumnType";
25
+ import TableMetadata from "../../Types/Database/TableMetadata";
26
+ import TenantColumn from "../../Types/Database/TenantColumn";
27
+ import UniqueColumnBy from "../../Types/Database/UniqueColumnBy";
28
+ import IconProp from "../../Types/Icon/IconProp";
29
+ import ObjectID from "../../Types/ObjectID";
30
+ import Permission from "../../Types/Permission";
31
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
32
+ let StatusPageOIDC = class StatusPageOIDC extends BaseModel {
33
+ constructor() {
34
+ super(...arguments);
35
+ this.project = undefined;
36
+ this.projectId = undefined;
37
+ this.statusPage = undefined;
38
+ this.statusPageId = undefined;
39
+ this.name = undefined;
40
+ this.description = undefined;
41
+ this.discoveryURL = undefined;
42
+ this.issuerURL = undefined;
43
+ this.clientId = undefined;
44
+ this.clientSecret = undefined;
45
+ this.scopes = undefined;
46
+ this.emailClaimName = undefined;
47
+ this.nameClaimName = undefined;
48
+ this.createdByUser = undefined;
49
+ this.createdByUserId = undefined;
50
+ this.deletedByUser = undefined;
51
+ this.deletedByUserId = undefined;
52
+ this.isEnabled = undefined;
53
+ this.isTested = undefined;
54
+ }
55
+ };
56
+ __decorate([
57
+ ColumnAccessControl({
58
+ create: [
59
+ Permission.ProjectOwner,
60
+ Permission.ProjectAdmin,
61
+ Permission.CreateStatusPageOIDC,
62
+ ],
63
+ read: [
64
+ Permission.ProjectOwner,
65
+ Permission.ProjectAdmin,
66
+ Permission.ProjectUser,
67
+ Permission.Public,
68
+ Permission.ReadStatusPageOIDC,
69
+ Permission.ReadAllProjectResources,
70
+ ],
71
+ update: [],
72
+ }),
73
+ TableColumn({
74
+ manyToOneRelationColumn: "projectId",
75
+ type: TableColumnType.Entity,
76
+ modelType: Project,
77
+ title: "Project",
78
+ description: "Relation to Project Resource in which this object belongs",
79
+ }),
80
+ ManyToOne(() => {
81
+ return Project;
82
+ }, {
83
+ eager: false,
84
+ nullable: true,
85
+ onDelete: "CASCADE",
86
+ orphanedRowAction: "nullify",
87
+ }),
88
+ JoinColumn({ name: "projectId" }),
89
+ __metadata("design:type", Project)
90
+ ], StatusPageOIDC.prototype, "project", void 0);
91
+ __decorate([
92
+ ColumnAccessControl({
93
+ create: [
94
+ Permission.ProjectOwner,
95
+ Permission.ProjectAdmin,
96
+ Permission.CreateStatusPageOIDC,
97
+ ],
98
+ read: [
99
+ Permission.ProjectOwner,
100
+ Permission.ProjectAdmin,
101
+ Permission.ProjectUser,
102
+ Permission.Public,
103
+ Permission.ReadStatusPageOIDC,
104
+ Permission.ReadAllProjectResources,
105
+ ],
106
+ update: [],
107
+ }),
108
+ Index(),
109
+ TableColumn({
110
+ type: TableColumnType.ObjectID,
111
+ required: true,
112
+ canReadOnRelationQuery: true,
113
+ title: "Project ID",
114
+ description: "ID of your OneUptime Project in which this object belongs",
115
+ example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
116
+ }),
117
+ Column({
118
+ type: ColumnType.ObjectID,
119
+ nullable: false,
120
+ transformer: ObjectID.getDatabaseTransformer(),
121
+ }),
122
+ __metadata("design:type", ObjectID)
123
+ ], StatusPageOIDC.prototype, "projectId", void 0);
124
+ __decorate([
125
+ ColumnAccessControl({
126
+ create: [
127
+ Permission.ProjectOwner,
128
+ Permission.ProjectAdmin,
129
+ Permission.ProjectMember,
130
+ Permission.StatusPageManager,
131
+ Permission.CreateStatusPageOIDC,
132
+ ],
133
+ read: [
134
+ Permission.ProjectOwner,
135
+ Permission.ProjectAdmin,
136
+ Permission.ProjectMember,
137
+ Permission.Viewer,
138
+ Permission.StatusPageManager,
139
+ Permission.ReadStatusPageOIDC,
140
+ Permission.ReadAllProjectResources,
141
+ ],
142
+ update: [],
143
+ }),
144
+ TableColumn({
145
+ manyToOneRelationColumn: "statusPageId",
146
+ type: TableColumnType.Entity,
147
+ modelType: StatusPage,
148
+ title: "Status Page",
149
+ description: "Relation to Status Page Resource in which this object belongs",
150
+ }),
151
+ ManyToOne(() => {
152
+ return StatusPage;
153
+ }, {
154
+ eager: false,
155
+ nullable: true,
156
+ onDelete: "CASCADE",
157
+ orphanedRowAction: "nullify",
158
+ }),
159
+ JoinColumn({ name: "statusPageId" }),
160
+ __metadata("design:type", StatusPage)
161
+ ], StatusPageOIDC.prototype, "statusPage", void 0);
162
+ __decorate([
163
+ ColumnAccessControl({
164
+ create: [
165
+ Permission.ProjectOwner,
166
+ Permission.ProjectAdmin,
167
+ Permission.ProjectMember,
168
+ Permission.StatusPageManager,
169
+ Permission.CreateStatusPageOIDC,
170
+ ],
171
+ read: [
172
+ Permission.ProjectOwner,
173
+ Permission.ProjectAdmin,
174
+ Permission.ProjectMember,
175
+ Permission.Viewer,
176
+ Permission.StatusPageManager,
177
+ Permission.ReadStatusPageOIDC,
178
+ Permission.ReadAllProjectResources,
179
+ ],
180
+ update: [],
181
+ }),
182
+ Index(),
183
+ TableColumn({
184
+ type: TableColumnType.ObjectID,
185
+ required: true,
186
+ title: "Status Page ID",
187
+ description: "ID of your Status Page resource where this object belongs",
188
+ example: "a1b2c3d4-e5f6-7890-a1b2-c3d4e5f67890",
189
+ }),
190
+ Column({
191
+ type: ColumnType.ObjectID,
192
+ nullable: false,
193
+ transformer: ObjectID.getDatabaseTransformer(),
194
+ }),
195
+ __metadata("design:type", ObjectID)
196
+ ], StatusPageOIDC.prototype, "statusPageId", void 0);
197
+ __decorate([
198
+ ColumnAccessControl({
199
+ create: [
200
+ Permission.ProjectOwner,
201
+ Permission.ProjectAdmin,
202
+ Permission.CreateStatusPageOIDC,
203
+ ],
204
+ read: [
205
+ Permission.ProjectOwner,
206
+ Permission.ProjectAdmin,
207
+ Permission.ProjectUser,
208
+ Permission.Public,
209
+ Permission.ReadStatusPageOIDC,
210
+ Permission.ReadAllProjectResources,
211
+ ],
212
+ update: [
213
+ Permission.ProjectOwner,
214
+ Permission.ProjectAdmin,
215
+ Permission.EditStatusPageOIDC,
216
+ ],
217
+ }),
218
+ TableColumn({
219
+ required: true,
220
+ type: TableColumnType.ShortText,
221
+ canReadOnRelationQuery: true,
222
+ title: "Name",
223
+ description: "Any friendly name of this object",
224
+ example: "Okta OIDC",
225
+ }),
226
+ Column({
227
+ nullable: false,
228
+ type: ColumnType.ShortText,
229
+ length: ColumnLength.ShortText,
230
+ }),
231
+ UniqueColumnBy("statusPageId"),
232
+ __metadata("design:type", String)
233
+ ], StatusPageOIDC.prototype, "name", void 0);
234
+ __decorate([
235
+ ColumnAccessControl({
236
+ create: [
237
+ Permission.ProjectOwner,
238
+ Permission.ProjectAdmin,
239
+ Permission.CreateStatusPageOIDC,
240
+ ],
241
+ read: [
242
+ Permission.ProjectOwner,
243
+ Permission.ProjectAdmin,
244
+ Permission.ProjectUser,
245
+ Permission.Public,
246
+ Permission.ReadStatusPageOIDC,
247
+ Permission.ReadAllProjectResources,
248
+ ],
249
+ update: [
250
+ Permission.ProjectOwner,
251
+ Permission.ProjectAdmin,
252
+ Permission.EditStatusPageOIDC,
253
+ ],
254
+ }),
255
+ TableColumn({
256
+ required: true,
257
+ type: TableColumnType.LongText,
258
+ canReadOnRelationQuery: true,
259
+ example: "Sign in to the status page using your corporate OpenID Connect provider.",
260
+ }),
261
+ Column({
262
+ nullable: false,
263
+ type: ColumnType.LongText,
264
+ }),
265
+ __metadata("design:type", String)
266
+ ], StatusPageOIDC.prototype, "description", void 0);
267
+ __decorate([
268
+ ColumnAccessControl({
269
+ create: [
270
+ Permission.ProjectOwner,
271
+ Permission.ProjectAdmin,
272
+ Permission.CreateStatusPageOIDC,
273
+ ],
274
+ read: [
275
+ Permission.ProjectOwner,
276
+ Permission.ProjectAdmin,
277
+ Permission.ReadStatusPageOIDC,
278
+ Permission.ReadAllProjectResources,
279
+ ],
280
+ update: [
281
+ Permission.ProjectOwner,
282
+ Permission.ProjectAdmin,
283
+ Permission.EditStatusPageOIDC,
284
+ ],
285
+ }),
286
+ TableColumn({
287
+ required: true,
288
+ type: TableColumnType.LongURL,
289
+ canReadOnRelationQuery: true,
290
+ description: "OIDC discovery URL (typically ends in /.well-known/openid-configuration). Used to discover authorization, token, JWKS and userinfo endpoints.",
291
+ example: "https://accounts.google.com/.well-known/openid-configuration",
292
+ }),
293
+ Column({
294
+ nullable: false,
295
+ type: ColumnType.LongURL,
296
+ transformer: URL.getDatabaseTransformer(),
297
+ }),
298
+ __metadata("design:type", URL)
299
+ ], StatusPageOIDC.prototype, "discoveryURL", void 0);
300
+ __decorate([
301
+ ColumnAccessControl({
302
+ create: [
303
+ Permission.ProjectOwner,
304
+ Permission.ProjectAdmin,
305
+ Permission.CreateStatusPageOIDC,
306
+ ],
307
+ read: [
308
+ Permission.ProjectOwner,
309
+ Permission.ProjectAdmin,
310
+ Permission.ReadStatusPageOIDC,
311
+ Permission.ReadAllProjectResources,
312
+ ],
313
+ update: [
314
+ Permission.ProjectOwner,
315
+ Permission.ProjectAdmin,
316
+ Permission.EditStatusPageOIDC,
317
+ ],
318
+ }),
319
+ TableColumn({
320
+ required: true,
321
+ type: TableColumnType.LongURL,
322
+ canReadOnRelationQuery: true,
323
+ description: "Expected OIDC issuer URL. Must match the 'iss' claim in the ID token returned by the identity provider.",
324
+ example: "https://accounts.google.com",
325
+ }),
326
+ Column({
327
+ nullable: false,
328
+ type: ColumnType.LongURL,
329
+ transformer: URL.getDatabaseTransformer(),
330
+ }),
331
+ __metadata("design:type", URL)
332
+ ], StatusPageOIDC.prototype, "issuerURL", void 0);
333
+ __decorate([
334
+ ColumnAccessControl({
335
+ create: [
336
+ Permission.ProjectOwner,
337
+ Permission.ProjectAdmin,
338
+ Permission.CreateStatusPageOIDC,
339
+ ],
340
+ read: [
341
+ Permission.ProjectOwner,
342
+ Permission.ProjectAdmin,
343
+ Permission.ReadStatusPageOIDC,
344
+ Permission.ReadAllProjectResources,
345
+ ],
346
+ update: [
347
+ Permission.ProjectOwner,
348
+ Permission.ProjectAdmin,
349
+ Permission.EditStatusPageOIDC,
350
+ ],
351
+ }),
352
+ TableColumn({
353
+ required: true,
354
+ type: TableColumnType.ShortText,
355
+ canReadOnRelationQuery: true,
356
+ description: "OIDC client ID issued by the identity provider.",
357
+ example: "1234567890-abcdefgh.apps.googleusercontent.com",
358
+ }),
359
+ Column({
360
+ nullable: false,
361
+ type: ColumnType.ShortText,
362
+ length: ColumnLength.ShortText,
363
+ }),
364
+ __metadata("design:type", String)
365
+ ], StatusPageOIDC.prototype, "clientId", void 0);
366
+ __decorate([
367
+ ColumnAccessControl({
368
+ create: [
369
+ Permission.ProjectOwner,
370
+ Permission.ProjectAdmin,
371
+ Permission.CreateStatusPageOIDC,
372
+ ],
373
+ read: [
374
+ Permission.ProjectOwner,
375
+ Permission.ProjectAdmin,
376
+ Permission.ReadStatusPageOIDC,
377
+ Permission.ReadAllProjectResources,
378
+ ],
379
+ update: [
380
+ Permission.ProjectOwner,
381
+ Permission.ProjectAdmin,
382
+ Permission.EditStatusPageOIDC,
383
+ ],
384
+ }),
385
+ TableColumn({
386
+ required: true,
387
+ type: TableColumnType.LongText,
388
+ title: "Client Secret",
389
+ description: "OIDC client secret issued by the identity provider. Stored encrypted at rest.",
390
+ encrypted: true,
391
+ }),
392
+ Column({
393
+ nullable: false,
394
+ type: ColumnType.LongText,
395
+ }),
396
+ __metadata("design:type", String)
397
+ ], StatusPageOIDC.prototype, "clientSecret", void 0);
398
+ __decorate([
399
+ ColumnAccessControl({
400
+ create: [
401
+ Permission.ProjectOwner,
402
+ Permission.ProjectAdmin,
403
+ Permission.CreateStatusPageOIDC,
404
+ ],
405
+ read: [
406
+ Permission.ProjectOwner,
407
+ Permission.ProjectAdmin,
408
+ Permission.ReadStatusPageOIDC,
409
+ Permission.ReadAllProjectResources,
410
+ ],
411
+ update: [
412
+ Permission.ProjectOwner,
413
+ Permission.ProjectAdmin,
414
+ Permission.EditStatusPageOIDC,
415
+ ],
416
+ }),
417
+ TableColumn({
418
+ required: true,
419
+ type: TableColumnType.ShortText,
420
+ canReadOnRelationQuery: true,
421
+ description: "Space-separated list of OIDC scopes to request. Must include 'openid'.",
422
+ example: "openid email profile",
423
+ }),
424
+ Column({
425
+ nullable: false,
426
+ type: ColumnType.ShortText,
427
+ length: ColumnLength.ShortText,
428
+ }),
429
+ __metadata("design:type", String)
430
+ ], StatusPageOIDC.prototype, "scopes", void 0);
431
+ __decorate([
432
+ ColumnAccessControl({
433
+ create: [
434
+ Permission.ProjectOwner,
435
+ Permission.ProjectAdmin,
436
+ Permission.CreateStatusPageOIDC,
437
+ ],
438
+ read: [
439
+ Permission.ProjectOwner,
440
+ Permission.ProjectAdmin,
441
+ Permission.ReadStatusPageOIDC,
442
+ Permission.ReadAllProjectResources,
443
+ ],
444
+ update: [
445
+ Permission.ProjectOwner,
446
+ Permission.ProjectAdmin,
447
+ Permission.EditStatusPageOIDC,
448
+ ],
449
+ }),
450
+ TableColumn({
451
+ required: true,
452
+ type: TableColumnType.ShortText,
453
+ canReadOnRelationQuery: true,
454
+ description: "Claim name in the ID token (or userinfo response) that contains the user's email address.",
455
+ example: "email",
456
+ }),
457
+ Column({
458
+ nullable: false,
459
+ type: ColumnType.ShortText,
460
+ length: ColumnLength.ShortText,
461
+ }),
462
+ __metadata("design:type", String)
463
+ ], StatusPageOIDC.prototype, "emailClaimName", void 0);
464
+ __decorate([
465
+ ColumnAccessControl({
466
+ create: [
467
+ Permission.ProjectOwner,
468
+ Permission.ProjectAdmin,
469
+ Permission.CreateStatusPageOIDC,
470
+ ],
471
+ read: [
472
+ Permission.ProjectOwner,
473
+ Permission.ProjectAdmin,
474
+ Permission.ReadStatusPageOIDC,
475
+ Permission.ReadAllProjectResources,
476
+ ],
477
+ update: [
478
+ Permission.ProjectOwner,
479
+ Permission.ProjectAdmin,
480
+ Permission.EditStatusPageOIDC,
481
+ ],
482
+ }),
483
+ TableColumn({
484
+ required: false,
485
+ type: TableColumnType.ShortText,
486
+ canReadOnRelationQuery: true,
487
+ description: "Claim name in the ID token (or userinfo response) that contains the user's display name.",
488
+ example: "name",
489
+ }),
490
+ Column({
491
+ nullable: true,
492
+ type: ColumnType.ShortText,
493
+ length: ColumnLength.ShortText,
494
+ }),
495
+ __metadata("design:type", String)
496
+ ], StatusPageOIDC.prototype, "nameClaimName", void 0);
497
+ __decorate([
498
+ ColumnAccessControl({
499
+ create: [
500
+ Permission.ProjectOwner,
501
+ Permission.ProjectAdmin,
502
+ Permission.CreateStatusPageOIDC,
503
+ ],
504
+ read: [
505
+ Permission.ProjectOwner,
506
+ Permission.ProjectAdmin,
507
+ Permission.ReadStatusPageOIDC,
508
+ Permission.ReadAllProjectResources,
509
+ ],
510
+ update: [],
511
+ }),
512
+ TableColumn({
513
+ manyToOneRelationColumn: "createdByUserId",
514
+ type: TableColumnType.Entity,
515
+ modelType: User,
516
+ title: "Created by User",
517
+ description: "Relation to User who created this object (if this object was created by a User)",
518
+ }),
519
+ ManyToOne(() => {
520
+ return User;
521
+ }, {
522
+ eager: false,
523
+ nullable: true,
524
+ onDelete: "SET NULL",
525
+ orphanedRowAction: "nullify",
526
+ }),
527
+ JoinColumn({ name: "createdByUserId" }),
528
+ __metadata("design:type", User)
529
+ ], StatusPageOIDC.prototype, "createdByUser", void 0);
530
+ __decorate([
531
+ ColumnAccessControl({
532
+ create: [
533
+ Permission.ProjectOwner,
534
+ Permission.ProjectAdmin,
535
+ Permission.CreateStatusPageOIDC,
536
+ ],
537
+ read: [
538
+ Permission.ProjectOwner,
539
+ Permission.ProjectAdmin,
540
+ Permission.ReadStatusPageOIDC,
541
+ Permission.ReadAllProjectResources,
542
+ ],
543
+ update: [],
544
+ }),
545
+ TableColumn({
546
+ type: TableColumnType.ObjectID,
547
+ title: "Created by User ID",
548
+ description: "User ID who created this object (if this object was created by a User)",
549
+ example: "b2c3d4e5-f6a7-8901-b2c3-d4e5f6a78901",
550
+ }),
551
+ Column({
552
+ type: ColumnType.ObjectID,
553
+ nullable: true,
554
+ transformer: ObjectID.getDatabaseTransformer(),
555
+ }),
556
+ __metadata("design:type", ObjectID)
557
+ ], StatusPageOIDC.prototype, "createdByUserId", void 0);
558
+ __decorate([
559
+ ColumnAccessControl({
560
+ create: [],
561
+ read: [
562
+ Permission.ProjectOwner,
563
+ Permission.ProjectAdmin,
564
+ Permission.ReadStatusPageOIDC,
565
+ Permission.ReadAllProjectResources,
566
+ ],
567
+ update: [],
568
+ }),
569
+ TableColumn({
570
+ manyToOneRelationColumn: "deletedByUserId",
571
+ type: TableColumnType.Entity,
572
+ title: "Deleted by User",
573
+ modelType: User,
574
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
575
+ }),
576
+ ManyToOne(() => {
577
+ return User;
578
+ }, {
579
+ cascade: false,
580
+ eager: false,
581
+ nullable: true,
582
+ onDelete: "SET NULL",
583
+ orphanedRowAction: "nullify",
584
+ }),
585
+ JoinColumn({ name: "deletedByUserId" }),
586
+ __metadata("design:type", User)
587
+ ], StatusPageOIDC.prototype, "deletedByUser", void 0);
588
+ __decorate([
589
+ ColumnAccessControl({
590
+ create: [],
591
+ read: [
592
+ Permission.ProjectOwner,
593
+ Permission.ProjectAdmin,
594
+ Permission.ReadStatusPageOIDC,
595
+ Permission.ReadAllProjectResources,
596
+ ],
597
+ update: [],
598
+ }),
599
+ TableColumn({
600
+ type: TableColumnType.ObjectID,
601
+ title: "Deleted by User ID",
602
+ description: "User ID who deleted this object (if this object was deleted by a User)",
603
+ example: "c3d4e5f6-a7b8-9012-c3d4-e5f6a7b89012",
604
+ }),
605
+ Column({
606
+ type: ColumnType.ObjectID,
607
+ nullable: true,
608
+ transformer: ObjectID.getDatabaseTransformer(),
609
+ }),
610
+ __metadata("design:type", ObjectID)
611
+ ], StatusPageOIDC.prototype, "deletedByUserId", void 0);
612
+ __decorate([
613
+ ColumnAccessControl({
614
+ create: [
615
+ Permission.ProjectOwner,
616
+ Permission.ProjectAdmin,
617
+ Permission.CreateStatusPageOIDC,
618
+ ],
619
+ read: [
620
+ Permission.ProjectOwner,
621
+ Permission.ProjectAdmin,
622
+ Permission.ProjectUser,
623
+ Permission.Public,
624
+ Permission.ReadStatusPageOIDC,
625
+ Permission.ReadAllProjectResources,
626
+ ],
627
+ update: [
628
+ Permission.ProjectOwner,
629
+ Permission.ProjectAdmin,
630
+ Permission.EditStatusPageOIDC,
631
+ ],
632
+ }),
633
+ TableColumn({
634
+ isDefaultValueColumn: true,
635
+ type: TableColumnType.Boolean,
636
+ defaultValue: false,
637
+ example: true,
638
+ }),
639
+ Column({
640
+ type: ColumnType.Boolean,
641
+ default: false,
642
+ }),
643
+ __metadata("design:type", Boolean)
644
+ ], StatusPageOIDC.prototype, "isEnabled", void 0);
645
+ __decorate([
646
+ ColumnAccessControl({
647
+ create: [
648
+ Permission.ProjectOwner,
649
+ Permission.ProjectAdmin,
650
+ Permission.CreateStatusPageOIDC,
651
+ ],
652
+ read: [
653
+ Permission.ProjectOwner,
654
+ Permission.ProjectAdmin,
655
+ Permission.ReadStatusPageOIDC,
656
+ Permission.ReadAllProjectResources,
657
+ ],
658
+ update: [],
659
+ }),
660
+ TableColumn({
661
+ isDefaultValueColumn: true,
662
+ type: TableColumnType.Boolean,
663
+ defaultValue: false,
664
+ example: false,
665
+ }),
666
+ Column({
667
+ type: ColumnType.Boolean,
668
+ default: false,
669
+ }),
670
+ __metadata("design:type", Boolean)
671
+ ], StatusPageOIDC.prototype, "isTested", void 0);
672
+ StatusPageOIDC = __decorate([
673
+ TableBillingAccessControl({
674
+ create: PlanType.Scale,
675
+ read: PlanType.Scale,
676
+ update: PlanType.Scale,
677
+ delete: PlanType.Scale,
678
+ }),
679
+ TenantColumn("projectId"),
680
+ TableAccessControl({
681
+ create: [
682
+ Permission.ProjectOwner,
683
+ Permission.ProjectAdmin,
684
+ Permission.CreateStatusPageOIDC,
685
+ ],
686
+ read: [
687
+ Permission.ProjectOwner,
688
+ Permission.ProjectUser,
689
+ Permission.Public,
690
+ Permission.ProjectAdmin,
691
+ Permission.ReadStatusPageOIDC,
692
+ Permission.ReadAllProjectResources,
693
+ ],
694
+ delete: [
695
+ Permission.ProjectOwner,
696
+ Permission.ProjectAdmin,
697
+ Permission.DeleteStatusPageOIDC,
698
+ ],
699
+ update: [
700
+ Permission.ProjectOwner,
701
+ Permission.ProjectAdmin,
702
+ Permission.EditStatusPageOIDC,
703
+ ],
704
+ }),
705
+ CrudApiEndpoint(new Route("/status-page-oidc")),
706
+ TableMetadata({
707
+ tableName: "StatusPageOIDC",
708
+ singularName: "Status Page OIDC",
709
+ pluralName: "Status Page OIDC",
710
+ icon: IconProp.Lock,
711
+ tableDescription: "Manage OpenID Connect (OIDC) authentication for your status page",
712
+ }),
713
+ Entity({
714
+ name: "StatusPageOIDC",
715
+ })
716
+ ], StatusPageOIDC);
717
+ export default StatusPageOIDC;
718
+ //# sourceMappingURL=StatusPageOidc.js.map