@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,307 @@
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 AllowAccessIfSubscriptionIsUnpaid from "../../Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid";
15
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
16
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
17
+ import ColumnLength from "../../Types/Database/ColumnLength";
18
+ import ColumnType from "../../Types/Database/ColumnType";
19
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
20
+ import CurrentUserCanAccessRecordBy from "../../Types/Database/CurrentUserCanAccessRecordBy";
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 { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
29
+ let UserWebhook = class UserWebhook extends BaseModel {
30
+ constructor() {
31
+ super(...arguments);
32
+ this.project = undefined;
33
+ this.projectId = undefined;
34
+ this.name = undefined;
35
+ this.webhookUrl = undefined;
36
+ this.secret = undefined;
37
+ this.user = undefined;
38
+ this.userId = undefined;
39
+ this.createdByUser = undefined;
40
+ this.createdByUserId = undefined;
41
+ this.deletedByUser = undefined;
42
+ this.deletedByUserId = undefined;
43
+ }
44
+ };
45
+ __decorate([
46
+ ColumnAccessControl({
47
+ create: [Permission.CurrentUser],
48
+ read: [Permission.CurrentUser],
49
+ update: [],
50
+ }),
51
+ TableColumn({
52
+ manyToOneRelationColumn: "projectId",
53
+ type: TableColumnType.Entity,
54
+ modelType: Project,
55
+ title: "Project",
56
+ description: "Relation to Project Resource in which this object belongs",
57
+ }),
58
+ ManyToOne(() => {
59
+ return Project;
60
+ }, {
61
+ eager: false,
62
+ nullable: true,
63
+ onDelete: "CASCADE",
64
+ orphanedRowAction: "nullify",
65
+ }),
66
+ JoinColumn({ name: "projectId" }),
67
+ __metadata("design:type", Project)
68
+ ], UserWebhook.prototype, "project", void 0);
69
+ __decorate([
70
+ ColumnAccessControl({
71
+ create: [Permission.CurrentUser],
72
+ read: [Permission.CurrentUser],
73
+ update: [],
74
+ }),
75
+ Index(),
76
+ TableColumn({
77
+ type: TableColumnType.ObjectID,
78
+ required: true,
79
+ canReadOnRelationQuery: true,
80
+ title: "Project ID",
81
+ description: "ID of your OneUptime Project in which this object belongs",
82
+ }),
83
+ Column({
84
+ type: ColumnType.ObjectID,
85
+ nullable: false,
86
+ transformer: ObjectID.getDatabaseTransformer(),
87
+ }),
88
+ __metadata("design:type", ObjectID)
89
+ ], UserWebhook.prototype, "projectId", void 0);
90
+ __decorate([
91
+ ColumnAccessControl({
92
+ create: [Permission.CurrentUser],
93
+ read: [Permission.CurrentUser],
94
+ update: [Permission.CurrentUser],
95
+ }),
96
+ TableColumn({
97
+ title: "Name",
98
+ required: true,
99
+ unique: false,
100
+ type: TableColumnType.ShortText,
101
+ canReadOnRelationQuery: true,
102
+ description: "Label for this webhook (e.g. 'My Slack', 'Internal alerts').",
103
+ }),
104
+ Column({
105
+ type: ColumnType.ShortText,
106
+ length: ColumnLength.ShortText,
107
+ unique: false,
108
+ nullable: false,
109
+ }),
110
+ __metadata("design:type", String)
111
+ ], UserWebhook.prototype, "name", void 0);
112
+ __decorate([
113
+ ColumnAccessControl({
114
+ create: [Permission.CurrentUser],
115
+ read: [Permission.CurrentUser],
116
+ update: [Permission.CurrentUser],
117
+ }),
118
+ TableColumn({
119
+ title: "Webhook URL",
120
+ required: true,
121
+ unique: false,
122
+ type: TableColumnType.LongText,
123
+ canReadOnRelationQuery: true,
124
+ description: "HTTPS endpoint that will receive POST requests with notification payloads.",
125
+ }),
126
+ Column({
127
+ type: ColumnType.LongText,
128
+ length: ColumnLength.LongText,
129
+ unique: false,
130
+ nullable: false,
131
+ }),
132
+ __metadata("design:type", String)
133
+ ], UserWebhook.prototype, "webhookUrl", void 0);
134
+ __decorate([
135
+ ColumnAccessControl({
136
+ create: [Permission.CurrentUser],
137
+ read: [Permission.CurrentUser],
138
+ update: [Permission.CurrentUser],
139
+ }),
140
+ TableColumn({
141
+ title: "Signing Secret",
142
+ required: false,
143
+ unique: false,
144
+ type: TableColumnType.ShortText,
145
+ canReadOnRelationQuery: false,
146
+ description: "Optional shared secret used to compute an HMAC-SHA256 signature for each request (sent in X-OneUptime-Signature).",
147
+ }),
148
+ Column({
149
+ type: ColumnType.ShortText,
150
+ length: ColumnLength.ShortText,
151
+ unique: false,
152
+ nullable: true,
153
+ }),
154
+ __metadata("design:type", String)
155
+ ], UserWebhook.prototype, "secret", void 0);
156
+ __decorate([
157
+ ColumnAccessControl({
158
+ create: [Permission.CurrentUser],
159
+ read: [Permission.CurrentUser],
160
+ update: [],
161
+ }),
162
+ TableColumn({
163
+ manyToOneRelationColumn: "user",
164
+ type: TableColumnType.Entity,
165
+ modelType: User,
166
+ title: "User",
167
+ description: "Relation to User who this Webhook belongs to",
168
+ }),
169
+ ManyToOne(() => {
170
+ return User;
171
+ }, {
172
+ eager: false,
173
+ nullable: true,
174
+ onDelete: "CASCADE",
175
+ orphanedRowAction: "nullify",
176
+ }),
177
+ JoinColumn({ name: "userId" }),
178
+ __metadata("design:type", User)
179
+ ], UserWebhook.prototype, "user", void 0);
180
+ __decorate([
181
+ ColumnAccessControl({
182
+ create: [Permission.CurrentUser],
183
+ read: [Permission.CurrentUser],
184
+ update: [],
185
+ }),
186
+ TableColumn({
187
+ type: TableColumnType.ObjectID,
188
+ title: "User ID",
189
+ description: "User ID who this Webhook belongs to",
190
+ }),
191
+ Column({
192
+ type: ColumnType.ObjectID,
193
+ nullable: true,
194
+ transformer: ObjectID.getDatabaseTransformer(),
195
+ }),
196
+ Index(),
197
+ __metadata("design:type", ObjectID)
198
+ ], UserWebhook.prototype, "userId", void 0);
199
+ __decorate([
200
+ ColumnAccessControl({
201
+ create: [Permission.CurrentUser],
202
+ read: [Permission.CurrentUser],
203
+ update: [],
204
+ }),
205
+ TableColumn({
206
+ manyToOneRelationColumn: "createdByUserId",
207
+ type: TableColumnType.Entity,
208
+ modelType: User,
209
+ title: "Created by User",
210
+ description: "Relation to User who created this object (if this object was created by a User)",
211
+ }),
212
+ ManyToOne(() => {
213
+ return User;
214
+ }, {
215
+ eager: false,
216
+ nullable: true,
217
+ onDelete: "SET NULL",
218
+ orphanedRowAction: "nullify",
219
+ }),
220
+ JoinColumn({ name: "createdByUserId" }),
221
+ __metadata("design:type", User)
222
+ ], UserWebhook.prototype, "createdByUser", void 0);
223
+ __decorate([
224
+ ColumnAccessControl({
225
+ create: [Permission.CurrentUser],
226
+ read: [Permission.CurrentUser],
227
+ update: [],
228
+ }),
229
+ TableColumn({
230
+ type: TableColumnType.ObjectID,
231
+ title: "Created by User ID",
232
+ description: "User ID who created this object (if this object was created by a User)",
233
+ }),
234
+ Column({
235
+ type: ColumnType.ObjectID,
236
+ nullable: true,
237
+ transformer: ObjectID.getDatabaseTransformer(),
238
+ }),
239
+ __metadata("design:type", ObjectID)
240
+ ], UserWebhook.prototype, "createdByUserId", void 0);
241
+ __decorate([
242
+ ColumnAccessControl({
243
+ create: [],
244
+ read: [],
245
+ update: [],
246
+ }),
247
+ TableColumn({
248
+ manyToOneRelationColumn: "deletedByUserId",
249
+ type: TableColumnType.Entity,
250
+ title: "Deleted by User",
251
+ modelType: User,
252
+ description: "Relation to User who deleted this object (if this object was deleted by a User)",
253
+ }),
254
+ ManyToOne(() => {
255
+ return User;
256
+ }, {
257
+ cascade: false,
258
+ eager: false,
259
+ nullable: true,
260
+ onDelete: "SET NULL",
261
+ orphanedRowAction: "nullify",
262
+ }),
263
+ JoinColumn({ name: "deletedByUserId" }),
264
+ __metadata("design:type", User)
265
+ ], UserWebhook.prototype, "deletedByUser", void 0);
266
+ __decorate([
267
+ ColumnAccessControl({
268
+ create: [],
269
+ read: [],
270
+ update: [],
271
+ }),
272
+ TableColumn({
273
+ type: TableColumnType.ObjectID,
274
+ title: "Deleted by User ID",
275
+ description: "User ID who deleted this object (if this object was deleted by a User)",
276
+ }),
277
+ Column({
278
+ type: ColumnType.ObjectID,
279
+ nullable: true,
280
+ transformer: ObjectID.getDatabaseTransformer(),
281
+ }),
282
+ __metadata("design:type", ObjectID)
283
+ ], UserWebhook.prototype, "deletedByUserId", void 0);
284
+ UserWebhook = __decorate([
285
+ TenantColumn("projectId"),
286
+ AllowAccessIfSubscriptionIsUnpaid(),
287
+ TableAccessControl({
288
+ create: [Permission.CurrentUser],
289
+ read: [Permission.CurrentUser],
290
+ delete: [Permission.CurrentUser],
291
+ update: [Permission.CurrentUser],
292
+ }),
293
+ CrudApiEndpoint(new Route("/user-webhook")),
294
+ Entity({
295
+ name: "UserWebhook",
296
+ }),
297
+ TableMetadata({
298
+ tableName: "UserWebhook",
299
+ singularName: "Webhook",
300
+ pluralName: "Webhooks",
301
+ icon: IconProp.Webhook,
302
+ tableDescription: "Webhook URLs used for outbound HTTP notifications to your own services.",
303
+ }),
304
+ CurrentUserCanAccessRecordBy("userId")
305
+ ], UserWebhook);
306
+ export default UserWebhook;
307
+ //# sourceMappingURL=UserWebhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserWebhook.js","sourceRoot":"","sources":["../../../../Models/DatabaseModels/UserWebhook.ts"],"names":[],"mappings":"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"}