@oneuptime/common 7.0.3126 → 7.0.3139

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 (108) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +1 -1
  2. package/Models/AnalyticsModels/Index.ts +28 -1
  3. package/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts +14 -3
  4. package/Models/DatabaseModels/Incident.ts +5 -0
  5. package/Models/DatabaseModels/Index.ts +35 -1
  6. package/Server/Infrastructure/Postgres/SchemaMigrations/1727192530019-MigrationName.ts +17 -0
  7. package/Server/Infrastructure/Postgres/SchemaMigrations/1727193130193-MigrationName.ts +17 -0
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1727193702212-MigrationName.ts +726 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/1727194211048-MigrationName.ts +732 -0
  10. package/Server/Infrastructure/Postgres/SchemaMigrations/1727194579925-MigrationName.ts +493 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  12. package/Server/Middleware/ProjectAuthorization.ts +5 -3
  13. package/Server/Middleware/UserAuthorization.ts +32 -5
  14. package/Server/Services/AccessTokenService.ts +10 -154
  15. package/Server/Services/AnalyticsDatabaseService.ts +2 -2
  16. package/Server/Services/DatabaseService.ts +77 -4
  17. package/Server/Services/StatusPageService.ts +1 -1
  18. package/Server/Types/Permission/PermissionNamespace.ts +6 -0
  19. package/Server/Utils/APIKey/AccessPermission.ts +111 -0
  20. package/Server/Utils/Cookie.ts +15 -1
  21. package/Server/Utils/Monitor/MonitorResource.ts +57 -23
  22. package/Server/Utils/Realtime.ts +288 -79
  23. package/Server/Utils/UserPermission/UserPermission.ts +81 -0
  24. package/Tests/Server/Middleware/ProjectAuthorization.test.ts +3 -3
  25. package/Tests/Server/Middleware/UserAuthorization.test.ts +14 -10
  26. package/Tests/Server/Services/ScheduledMaintenanceService.test.ts +4 -2
  27. package/Tests/Server/Utils/Cookie.test.ts +1 -1
  28. package/Types/Database/TableMetadata.ts +5 -0
  29. package/Types/Realtime/EnableRealtimeEventsOn.ts +5 -0
  30. package/Types/Realtime/EventName.ts +5 -0
  31. package/Types/Realtime/ListenToModelEventJSON.ts +10 -0
  32. package/Types/Realtime/ModelEventType.ts +7 -0
  33. package/UI/Components/HeaderAlert/HeaderModelAlert.tsx +1 -1
  34. package/UI/Components/ModelList/ModelList.tsx +1 -1
  35. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  36. package/UI/Utils/Realtime.ts +29 -19
  37. package/Utils/Realtime.ts +10 -29
  38. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  39. package/build/dist/Models/AnalyticsModels/Index.js +14 -0
  40. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  41. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js +10 -3
  42. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -1
  43. package/build/dist/Models/DatabaseModels/Incident.js +5 -0
  44. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  45. package/build/dist/Models/DatabaseModels/Index.js +16 -1
  46. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  47. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727192530019-MigrationName.js +12 -0
  48. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727192530019-MigrationName.js.map +1 -0
  49. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727193130193-MigrationName.js +12 -0
  50. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727193130193-MigrationName.js.map +1 -0
  51. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727193702212-MigrationName.js +247 -0
  52. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727193702212-MigrationName.js.map +1 -0
  53. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727194211048-MigrationName.js +249 -0
  54. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727194211048-MigrationName.js.map +1 -0
  55. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727194579925-MigrationName.js +131 -0
  56. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1727194579925-MigrationName.js.map +1 -0
  57. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  58. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  59. package/build/dist/Server/Middleware/ProjectAuthorization.js +3 -3
  60. package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
  61. package/build/dist/Server/Middleware/UserAuthorization.js +13 -5
  62. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  63. package/build/dist/Server/Services/AccessTokenService.js +6 -108
  64. package/build/dist/Server/Services/AccessTokenService.js.map +1 -1
  65. package/build/dist/Server/Services/AnalyticsDatabaseService.js +2 -2
  66. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  67. package/build/dist/Server/Services/DatabaseService.js +43 -4
  68. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  69. package/build/dist/Server/Services/StatusPageService.js +1 -1
  70. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  71. package/build/dist/Server/Types/Permission/PermissionNamespace.js +7 -0
  72. package/build/dist/Server/Types/Permission/PermissionNamespace.js.map +1 -0
  73. package/build/dist/Server/Utils/APIKey/AccessPermission.js +78 -0
  74. package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -0
  75. package/build/dist/Server/Utils/Cookie.js +11 -1
  76. package/build/dist/Server/Utils/Cookie.js.map +1 -1
  77. package/build/dist/Server/Utils/Monitor/MonitorResource.js +58 -32
  78. package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
  79. package/build/dist/Server/Utils/Realtime.js +181 -51
  80. package/build/dist/Server/Utils/Realtime.js.map +1 -1
  81. package/build/dist/Server/Utils/UserPermission/UserPermission.js +47 -0
  82. package/build/dist/Server/Utils/UserPermission/UserPermission.js.map +1 -0
  83. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +3 -3
  84. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +1 -1
  85. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +9 -8
  86. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +1 -1
  87. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js +2 -2
  88. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js.map +1 -1
  89. package/build/dist/Tests/Server/Utils/Cookie.test.js +1 -1
  90. package/build/dist/Tests/Server/Utils/Cookie.test.js.map +1 -1
  91. package/build/dist/Types/Database/TableMetadata.js +3 -0
  92. package/build/dist/Types/Database/TableMetadata.js.map +1 -1
  93. package/build/dist/Types/Realtime/EnableRealtimeEventsOn.js +2 -0
  94. package/build/dist/Types/Realtime/EnableRealtimeEventsOn.js.map +1 -0
  95. package/build/dist/Types/Realtime/EventName.js +6 -0
  96. package/build/dist/Types/Realtime/EventName.js.map +1 -0
  97. package/build/dist/Types/Realtime/ListenToModelEventJSON.js +2 -0
  98. package/build/dist/Types/Realtime/ListenToModelEventJSON.js.map +1 -0
  99. package/build/dist/Types/Realtime/ModelEventType.js +8 -0
  100. package/build/dist/Types/Realtime/ModelEventType.js.map +1 -0
  101. package/build/dist/UI/Utils/Realtime.js +16 -11
  102. package/build/dist/UI/Utils/Realtime.js.map +1 -1
  103. package/build/dist/Utils/Realtime.js +6 -12
  104. package/build/dist/Utils/Realtime.js.map +1 -1
  105. package/package.json +2 -2
  106. package/Models/Permissions/Permission.ts +0 -0
  107. package/build/dist/Models/Permissions/Permission.js +0 -2
  108. package/build/dist/Models/Permissions/Permission.js.map +0 -1
@@ -0,0 +1,493 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1727194579925 implements MigrationInterface {
4
+ public name = "MigrationName1727194579925";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(
8
+ `ALTER TABLE "User" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
9
+ );
10
+ await queryRunner.query(
11
+ `ALTER TABLE "File" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
12
+ );
13
+ await queryRunner.query(
14
+ `ALTER TABLE "AcmeCertificate" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
15
+ );
16
+
17
+ await queryRunner.query(
18
+ `ALTER TABLE "AcmeChallenge" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
19
+ );
20
+
21
+ await queryRunner.query(
22
+ `ALTER TABLE "Reseller" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
23
+ );
24
+
25
+ await queryRunner.query(
26
+ `ALTER TABLE "ResellerPlan" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
27
+ );
28
+
29
+ await queryRunner.query(
30
+ `ALTER TABLE "Project" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
31
+ );
32
+
33
+ await queryRunner.query(
34
+ `ALTER TABLE "ApiKey" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
35
+ );
36
+
37
+ await queryRunner.query(
38
+ `ALTER TABLE "Label" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
39
+ );
40
+
41
+ await queryRunner.query(
42
+ `ALTER TABLE "ApiKeyPermission" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
43
+ );
44
+
45
+ await queryRunner.query(
46
+ `ALTER TABLE "BillingInvoice" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
47
+ );
48
+
49
+ await queryRunner.query(
50
+ `ALTER TABLE "BillingPaymentMethod" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
51
+ );
52
+
53
+ await queryRunner.query(
54
+ `ALTER TABLE "CallLog" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
55
+ );
56
+
57
+ await queryRunner.query(
58
+ `ALTER TABLE "CopilotCodeRepository" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
59
+ );
60
+
61
+ await queryRunner.query(
62
+ `ALTER TABLE "ServiceCatalog" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
63
+ );
64
+
65
+ await queryRunner.query(
66
+ `ALTER TABLE "ServiceCopilotCodeRepository" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
67
+ );
68
+
69
+ await queryRunner.query(
70
+ `ALTER TABLE "CopilotPullRequest" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
71
+ );
72
+
73
+ await queryRunner.query(
74
+ `ALTER TABLE "CopilotAction" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
75
+ );
76
+
77
+ await queryRunner.query(
78
+ `ALTER TABLE "DataMigrations" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
79
+ );
80
+
81
+ await queryRunner.query(
82
+ `ALTER TABLE "Domain" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
83
+ );
84
+
85
+ await queryRunner.query(
86
+ `ALTER TABLE "ProjectSMTPConfig" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
87
+ );
88
+
89
+ await queryRunner.query(
90
+ `ALTER TABLE "EmailLog" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
91
+ );
92
+
93
+ await queryRunner.query(
94
+ `ALTER TABLE "EmailVerificationToken" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
95
+ );
96
+
97
+ await queryRunner.query(
98
+ `ALTER TABLE "GlobalConfig" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
99
+ );
100
+
101
+ await queryRunner.query(
102
+ `ALTER TABLE "GreenlockCertificate" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
103
+ );
104
+
105
+ await queryRunner.query(
106
+ `ALTER TABLE "GreenlockChallenge" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
107
+ );
108
+
109
+ await queryRunner.query(
110
+ `ALTER TABLE "IncidentSeverity" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
111
+ );
112
+
113
+ await queryRunner.query(
114
+ `ALTER TABLE "IncidentState" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
115
+ );
116
+
117
+ await queryRunner.query(
118
+ `ALTER TABLE "MonitorStatus" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
119
+ );
120
+
121
+ await queryRunner.query(
122
+ `ALTER TABLE "Monitor" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
123
+ );
124
+
125
+ await queryRunner.query(
126
+ `ALTER TABLE "OnCallDutyPolicy" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
127
+ );
128
+
129
+ await queryRunner.query(
130
+ `ALTER TABLE "Probe" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
131
+ );
132
+
133
+ await queryRunner.query(
134
+ `ALTER TABLE "Incident" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
135
+ );
136
+
137
+ await queryRunner.query(
138
+ `ALTER TABLE "IncidentCustomField" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
139
+ );
140
+
141
+ await queryRunner.query(
142
+ `ALTER TABLE "IncidentInternalNote" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
143
+ );
144
+
145
+ await queryRunner.query(
146
+ `ALTER TABLE "IncidentNoteTemplate" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
147
+ );
148
+
149
+ await queryRunner.query(
150
+ `ALTER TABLE "Team" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
151
+ );
152
+
153
+ await queryRunner.query(
154
+ `ALTER TABLE "IncidentOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
155
+ );
156
+
157
+ await queryRunner.query(
158
+ `ALTER TABLE "IncidentOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
159
+ );
160
+
161
+ await queryRunner.query(
162
+ `ALTER TABLE "IncidentPublicNote" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
163
+ );
164
+
165
+ await queryRunner.query(
166
+ `ALTER TABLE "IncidentStateTimeline" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
167
+ );
168
+
169
+ await queryRunner.query(
170
+ `ALTER TABLE "IncidentTemplate" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
171
+ );
172
+
173
+ await queryRunner.query(
174
+ `ALTER TABLE "IncidentTemplateOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
175
+ );
176
+
177
+ await queryRunner.query(
178
+ `ALTER TABLE "IncidentTemplateOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
179
+ );
180
+
181
+ await queryRunner.query(
182
+ `ALTER TABLE "MonitorCustomField" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
183
+ );
184
+
185
+ await queryRunner.query(
186
+ `ALTER TABLE "MonitorGroup" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
187
+ );
188
+
189
+ await queryRunner.query(
190
+ `ALTER TABLE "MonitorGroupOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
191
+ );
192
+
193
+ await queryRunner.query(
194
+ `ALTER TABLE "MonitorGroupOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
195
+ );
196
+
197
+ await queryRunner.query(
198
+ `ALTER TABLE "MonitorGroupResource" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
199
+ );
200
+
201
+ await queryRunner.query(
202
+ `ALTER TABLE "MonitorOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
203
+ );
204
+
205
+ await queryRunner.query(
206
+ `ALTER TABLE "MonitorOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
207
+ );
208
+
209
+ await queryRunner.query(
210
+ `ALTER TABLE "MonitorProbe" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
211
+ );
212
+
213
+ await queryRunner.query(
214
+ `ALTER TABLE "MonitorSecret" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
215
+ );
216
+
217
+ await queryRunner.query(
218
+ `ALTER TABLE "MonitorStatusTimeline" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
219
+ );
220
+
221
+ await queryRunner.query(
222
+ `ALTER TABLE "OnCallDutyPolicyCustomField" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
223
+ );
224
+
225
+ await queryRunner.query(
226
+ `ALTER TABLE "OnCallDutyPolicyEscalationRule" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
227
+ );
228
+
229
+ await queryRunner.query(
230
+ `ALTER TABLE "OnCallDutyPolicySchedule" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
231
+ );
232
+
233
+ await queryRunner.query(
234
+ `ALTER TABLE "OnCallDutyPolicyEscalationRuleSchedule" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
235
+ );
236
+
237
+ await queryRunner.query(
238
+ `ALTER TABLE "OnCallDutyPolicyEscalationRuleTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
239
+ );
240
+
241
+ await queryRunner.query(
242
+ `ALTER TABLE "OnCallDutyPolicyEscalationRuleUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
243
+ );
244
+
245
+ await queryRunner.query(
246
+ `ALTER TABLE "OnCallDutyPolicyExecutionLog" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
247
+ );
248
+
249
+ await queryRunner.query(
250
+ `ALTER TABLE "OnCallDutyPolicyExecutionLogTimeline" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
251
+ );
252
+
253
+ await queryRunner.query(
254
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
255
+ );
256
+
257
+ await queryRunner.query(
258
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`,
259
+ );
260
+ await queryRunner.query(
261
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`,
262
+ );
263
+ await queryRunner.query(
264
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
265
+ );
266
+
267
+ await queryRunner.query(
268
+ `ALTER TABLE "ProbeOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
269
+ );
270
+
271
+ await queryRunner.query(
272
+ `ALTER TABLE "ProbeOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
273
+ );
274
+
275
+ await queryRunner.query(
276
+ `ALTER TABLE "ProjectCallSMSConfig" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
277
+ );
278
+
279
+ await queryRunner.query(
280
+ `ALTER TABLE "ProjectSSO" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
281
+ );
282
+
283
+ await queryRunner.query(
284
+ `ALTER TABLE "PromoCode" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
285
+ );
286
+
287
+ await queryRunner.query(
288
+ `ALTER TABLE "ScheduledMaintenanceState" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
289
+ );
290
+
291
+ await queryRunner.query(
292
+ `ALTER TABLE "StatusPage" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
293
+ );
294
+
295
+ await queryRunner.query(
296
+ `ALTER TABLE "ScheduledMaintenance" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
297
+ );
298
+
299
+ await queryRunner.query(
300
+ `ALTER TABLE "ScheduledMaintenanceCustomField" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
301
+ );
302
+
303
+ await queryRunner.query(
304
+ `ALTER TABLE "ScheduledMaintenanceInternalNote" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
305
+ );
306
+
307
+ await queryRunner.query(
308
+ `ALTER TABLE "ScheduledMaintenanceNoteTemplate" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
309
+ );
310
+
311
+ await queryRunner.query(
312
+ `ALTER TABLE "ScheduledMaintenanceOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
313
+ );
314
+
315
+ await queryRunner.query(
316
+ `ALTER TABLE "ScheduledMaintenanceOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
317
+ );
318
+
319
+ await queryRunner.query(
320
+ `ALTER TABLE "ScheduledMaintenancePublicNote" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
321
+ );
322
+
323
+ await queryRunner.query(
324
+ `ALTER TABLE "ScheduledMaintenanceStateTimeline" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
325
+ );
326
+
327
+ await queryRunner.query(
328
+ `ALTER TABLE "ServiceCatalogOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
329
+ );
330
+
331
+ await queryRunner.query(
332
+ `ALTER TABLE "ServiceCatalogOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
333
+ );
334
+
335
+ await queryRunner.query(
336
+ `ALTER TABLE "ShortLink" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
337
+ );
338
+
339
+ await queryRunner.query(
340
+ `ALTER TABLE "SmsLog" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
341
+ );
342
+
343
+ await queryRunner.query(
344
+ `ALTER TABLE "StatusPageAnnouncement" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
345
+ );
346
+
347
+ await queryRunner.query(
348
+ `ALTER TABLE "StatusPageCustomField" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
349
+ );
350
+
351
+ await queryRunner.query(
352
+ `ALTER TABLE "StatusPageDomain" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
353
+ );
354
+
355
+ await queryRunner.query(
356
+ `ALTER TABLE "StatusPageFooterLink" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
357
+ );
358
+
359
+ await queryRunner.query(
360
+ `ALTER TABLE "StatusPageGroup" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
361
+ );
362
+
363
+ await queryRunner.query(
364
+ `ALTER TABLE "StatusPageHeaderLink" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
365
+ );
366
+
367
+ await queryRunner.query(
368
+ `ALTER TABLE "StatusPageHistoryChartBarColorRule" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
369
+ );
370
+
371
+ await queryRunner.query(
372
+ `ALTER TABLE "StatusPageOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
373
+ );
374
+
375
+ await queryRunner.query(
376
+ `ALTER TABLE "StatusPageOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
377
+ );
378
+
379
+ await queryRunner.query(
380
+ `ALTER TABLE "StatusPagePrivateUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
381
+ );
382
+
383
+ await queryRunner.query(
384
+ `ALTER TABLE "StatusPageResource" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
385
+ );
386
+
387
+ await queryRunner.query(
388
+ `ALTER TABLE "StatusPageSSO" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
389
+ );
390
+
391
+ await queryRunner.query(
392
+ `ALTER TABLE "StatusPageSubscriber" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
393
+ );
394
+
395
+ await queryRunner.query(
396
+ `ALTER TABLE "TeamMember" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
397
+ );
398
+
399
+ await queryRunner.query(
400
+ `ALTER TABLE "TeamPermission" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
401
+ );
402
+
403
+ await queryRunner.query(
404
+ `ALTER TABLE "TelemetryService" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
405
+ );
406
+
407
+ await queryRunner.query(
408
+ `ALTER TABLE "TelemetryUsageBilling" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
409
+ );
410
+
411
+ await queryRunner.query(
412
+ `ALTER TABLE "UserCall" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
413
+ );
414
+
415
+ await queryRunner.query(
416
+ `ALTER TABLE "UserEmail" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
417
+ );
418
+
419
+ await queryRunner.query(
420
+ `ALTER TABLE "UserSMS" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
421
+ );
422
+
423
+ await queryRunner.query(
424
+ `ALTER TABLE "UserNotificationRule" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
425
+ );
426
+
427
+ await queryRunner.query(
428
+ `ALTER TABLE "UserNotificationSetting" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
429
+ );
430
+
431
+ await queryRunner.query(
432
+ `ALTER TABLE "UserOnCallLog" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
433
+ );
434
+
435
+ await queryRunner.query(
436
+ `ALTER TABLE "UserOnCallLogTimeline" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
437
+ );
438
+
439
+ await queryRunner.query(
440
+ `ALTER TABLE "Workflow" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
441
+ );
442
+
443
+ await queryRunner.query(
444
+ `ALTER TABLE "WorkflowLog" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
445
+ );
446
+
447
+ await queryRunner.query(
448
+ `ALTER TABLE "WorkflowVariable" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
449
+ );
450
+
451
+ await queryRunner.query(
452
+ `ALTER TABLE "ServiceCatlogDependency" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
453
+ );
454
+
455
+ await queryRunner.query(
456
+ `ALTER TABLE "ServiceCatalogMonitor" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
457
+ );
458
+
459
+ await queryRunner.query(
460
+ `ALTER TABLE "ServiceCatalogTelemetryService" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
461
+ );
462
+
463
+ await queryRunner.query(
464
+ `ALTER TABLE "UserTwoFactorAuth" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
465
+ );
466
+
467
+ await queryRunner.query(
468
+ `ALTER TABLE "TelemetryIngestionKey" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
469
+ );
470
+
471
+ await queryRunner.query(
472
+ `ALTER TABLE "TelemetryException" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
473
+ );
474
+
475
+ await queryRunner.query(
476
+ `ALTER TABLE "CopilotActionTypePriority" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
477
+ );
478
+
479
+ await queryRunner.query(
480
+ `ALTER TABLE "ScheduledMaintenanceTemplate" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
481
+ );
482
+
483
+ await queryRunner.query(
484
+ `ALTER TABLE "ScheduledMaintenanceTemplateOwnerTeam" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
485
+ );
486
+
487
+ await queryRunner.query(
488
+ `ALTER TABLE "ScheduledMaintenanceTemplateOwnerUser" ALTER COLUMN "deletedAt" TYPE TIMESTAMP WITH TIME ZONE`,
489
+ );
490
+ }
491
+
492
+ public async down(_queryRunner: QueryRunner): Promise<void> {}
493
+ }
@@ -66,6 +66,11 @@ import { MigrationName1727102156072 } from "./1727102156072-MigrationName";
66
66
  import { MigrationName1727102331367 } from "./1727102331367-MigrationName";
67
67
  import { MigrationName1727103023745 } from "./1727103023745-MigrationName";
68
68
  import { MigrationName1727104469670 } from "./1727104469670-MigrationName";
69
+ import { MigrationName1727192530019 } from "./1727192530019-MigrationName";
70
+ import { MigrationName1727193130193 } from "./1727193130193-MigrationName";
71
+ import { MigrationName1727193702212 } from "./1727193702212-MigrationName";
72
+ import { MigrationName1727194211048 } from "./1727194211048-MigrationName";
73
+ import { MigrationName1727194579925 } from "./1727194579925-MigrationName";
69
74
 
70
75
  export default [
71
76
  InitialMigration,
@@ -136,4 +141,9 @@ export default [
136
141
  MigrationName1727102331367,
137
142
  MigrationName1727103023745,
138
143
  MigrationName1727104469670,
144
+ MigrationName1727192530019,
145
+ MigrationName1727193130193,
146
+ MigrationName1727193702212,
147
+ MigrationName1727194211048,
148
+ MigrationName1727194579925,
139
149
  ];
@@ -1,4 +1,3 @@
1
- import AccessTokenService from "../Services/AccessTokenService";
2
1
  import ApiKeyService from "../Services/ApiKeyService";
3
2
  import GlobalConfigService from "../Services/GlobalConfigService";
4
3
  import UserService from "../Services/UserService";
@@ -18,6 +17,7 @@ import UserType from "Common/Types/UserType";
18
17
  import ApiKey from "Common/Models/DatabaseModels/ApiKey";
19
18
  import GlobalConfig from "Common/Models/DatabaseModels/GlobalConfig";
20
19
  import User from "Common/Models/DatabaseModels/User";
20
+ import APIKeyAccessPermission from "../Utils/APIKey/AccessPermission";
21
21
 
22
22
  export default class ProjectMiddleware {
23
23
  public static getProjectId(req: ExpressRequest): ObjectID | null {
@@ -94,10 +94,12 @@ export default class ProjectMiddleware {
94
94
  // (req as OneUptimeRequest).permissions =
95
95
  // apiKeyModel.permissions || [];
96
96
  (req as OneUptimeRequest).userGlobalAccessPermission =
97
- await AccessTokenService.getDefaultApiGlobalPermission(tenantId);
97
+ await APIKeyAccessPermission.getDefaultApiGlobalPermission(
98
+ tenantId,
99
+ );
98
100
 
99
101
  const userTenantAccessPermission: UserTenantAccessPermission | null =
100
- await AccessTokenService.getApiTenantAccessPermission(
102
+ await APIKeyAccessPermission.getApiTenantAccessPermission(
101
103
  tenantId,
102
104
  apiKeyModel.id!,
103
105
  );
@@ -31,6 +31,7 @@ import {
31
31
  } from "Common/Types/Permission";
32
32
  import UserType from "Common/Types/UserType";
33
33
  import Project from "Common/Models/DatabaseModels/Project";
34
+ import UserPermissionUtil from "../Utils/UserPermission/UserPermission";
34
35
 
35
36
  export default class UserMiddleware {
36
37
  /*
@@ -40,11 +41,35 @@ export default class UserMiddleware {
40
41
  * Returns: 401: User is unauthorized since unauthorized token was present.
41
42
  */
42
43
 
43
- public static getAccessToken(req: ExpressRequest): string | undefined {
44
+ public static getAccessTokenFromCookie(
45
+ req: ExpressRequest,
46
+ ): string | undefined {
47
+ let accessToken: string | undefined = undefined;
48
+
49
+ if (
50
+ CookieUtil.getCookieFromExpressRequest(req, CookieUtil.getUserTokenKey())
51
+ ) {
52
+ accessToken = CookieUtil.getCookieFromExpressRequest(
53
+ req,
54
+ CookieUtil.getUserTokenKey(),
55
+ );
56
+ }
57
+
58
+ return accessToken;
59
+ }
60
+
61
+ public static getAccessTokenFromExpressRequest(
62
+ req: ExpressRequest,
63
+ ): string | undefined {
44
64
  let accessToken: string | undefined = undefined;
45
65
 
46
- if (CookieUtil.getCookie(req, CookieUtil.getUserTokenKey())) {
47
- accessToken = CookieUtil.getCookie(req, CookieUtil.getUserTokenKey());
66
+ if (
67
+ CookieUtil.getCookieFromExpressRequest(req, CookieUtil.getUserTokenKey())
68
+ ) {
69
+ accessToken = CookieUtil.getCookieFromExpressRequest(
70
+ req,
71
+ CookieUtil.getUserTokenKey(),
72
+ );
48
73
  }
49
74
 
50
75
  return accessToken;
@@ -130,7 +155,8 @@ export default class UserMiddleware {
130
155
  );
131
156
  }
132
157
 
133
- const accessToken: string | undefined = UserMiddleware.getAccessToken(req);
158
+ const accessToken: string | undefined =
159
+ UserMiddleware.getAccessTokenFromExpressRequest(req);
134
160
 
135
161
  if (!accessToken) {
136
162
  oneuptimeRequest.userType = UserType.Public;
@@ -202,6 +228,7 @@ export default class UserMiddleware {
202
228
  new ObjectID(userId),
203
229
  userGlobalAccessPermission.projectIds,
204
230
  );
231
+
205
232
  if (userTenantAccessPermission) {
206
233
  oneuptimeRequest.userTenantAccessPermission =
207
234
  userTenantAccessPermission;
@@ -340,7 +367,7 @@ export default class UserMiddleware {
340
367
  ) {
341
368
  // Add default permissions.
342
369
  userTenantAccessPermission =
343
- AccessTokenService.getDefaultUserTenantAccessPermission(projectId);
370
+ UserPermissionUtil.getDefaultUserTenantAccessPermission(projectId);
344
371
  } else {
345
372
  // get project level permissions if projectid exists in request.
346
373
  userTenantAccessPermission =