@oneuptime/common 7.0.3985 → 7.0.3993
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.
- package/Models/AnalyticsModels/Metric.ts +0 -62
- package/Models/DatabaseModels/MetricType.ts +63 -0
- package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +137 -0
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts +79 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1743530326936-MigrationName.ts +59 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1743538648415-MigrationName.ts +19 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Services/AlertService.ts +58 -36
- package/Server/Services/IncidentService.ts +49 -9
- package/Server/Utils/Monitor/MonitorResource.ts +93 -33
- package/Server/Utils/Telemetry/Telemetry.ts +32 -9
- package/UI/Components/ModelTable/BaseModelTable.tsx +4 -1
- package/build/dist/Models/AnalyticsModels/Metric.js +0 -56
- package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MetricType.js +67 -0
- package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +141 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js +82 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1743530326936-MigrationName.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1743530326936-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1743538648415-MigrationName.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1743538648415-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +52 -32
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +38 -9
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +56 -31
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/Telemetry.js +25 -4
- package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +4 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/package.json +2 -2
|
@@ -158,52 +158,6 @@ export default class Metric extends AnalyticsBaseModel {
|
|
|
158
158
|
},
|
|
159
159
|
}),
|
|
160
160
|
|
|
161
|
-
new AnalyticsTableColumn({
|
|
162
|
-
key: "description",
|
|
163
|
-
title: "Description",
|
|
164
|
-
description: "Description of the Metric",
|
|
165
|
-
required: false,
|
|
166
|
-
type: TableColumnType.Text,
|
|
167
|
-
accessControl: {
|
|
168
|
-
read: [
|
|
169
|
-
Permission.ProjectOwner,
|
|
170
|
-
Permission.ProjectAdmin,
|
|
171
|
-
Permission.ProjectMember,
|
|
172
|
-
Permission.ReadTelemetryServiceLog,
|
|
173
|
-
],
|
|
174
|
-
create: [
|
|
175
|
-
Permission.ProjectOwner,
|
|
176
|
-
Permission.ProjectAdmin,
|
|
177
|
-
Permission.ProjectMember,
|
|
178
|
-
Permission.CreateTelemetryServiceLog,
|
|
179
|
-
],
|
|
180
|
-
update: [],
|
|
181
|
-
},
|
|
182
|
-
}),
|
|
183
|
-
|
|
184
|
-
new AnalyticsTableColumn({
|
|
185
|
-
key: "unit",
|
|
186
|
-
title: "Unit",
|
|
187
|
-
description: "Unit of the Metric",
|
|
188
|
-
required: false,
|
|
189
|
-
type: TableColumnType.Text,
|
|
190
|
-
accessControl: {
|
|
191
|
-
read: [
|
|
192
|
-
Permission.ProjectOwner,
|
|
193
|
-
Permission.ProjectAdmin,
|
|
194
|
-
Permission.ProjectMember,
|
|
195
|
-
Permission.ReadTelemetryServiceLog,
|
|
196
|
-
],
|
|
197
|
-
create: [
|
|
198
|
-
Permission.ProjectOwner,
|
|
199
|
-
Permission.ProjectAdmin,
|
|
200
|
-
Permission.ProjectMember,
|
|
201
|
-
Permission.CreateTelemetryServiceLog,
|
|
202
|
-
],
|
|
203
|
-
update: [],
|
|
204
|
-
},
|
|
205
|
-
}),
|
|
206
|
-
|
|
207
161
|
new AnalyticsTableColumn({
|
|
208
162
|
key: "aggregationTemporality",
|
|
209
163
|
title: "Aggregation Temporality",
|
|
@@ -603,22 +557,6 @@ export default class Metric extends AnalyticsBaseModel {
|
|
|
603
557
|
this.setColumnValue("metricPointType", v);
|
|
604
558
|
}
|
|
605
559
|
|
|
606
|
-
public get description(): string | undefined {
|
|
607
|
-
return this.getColumnValue("description") as string | undefined;
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
public set description(v: string | undefined) {
|
|
611
|
-
this.setColumnValue("description", v);
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
public get unit(): string | undefined {
|
|
615
|
-
return this.getColumnValue("unit") as string | undefined;
|
|
616
|
-
}
|
|
617
|
-
|
|
618
|
-
public set unit(v: string | undefined) {
|
|
619
|
-
this.setColumnValue("unit", v);
|
|
620
|
-
}
|
|
621
|
-
|
|
622
560
|
public get isMonotonic(): boolean | undefined {
|
|
623
561
|
return this.getColumnValue("isMonotonic") as boolean | undefined;
|
|
624
562
|
}
|
|
@@ -219,6 +219,69 @@ export default class MetricType extends BaseModel {
|
|
|
219
219
|
@Index()
|
|
220
220
|
public name?: string = undefined;
|
|
221
221
|
|
|
222
|
+
@ColumnAccessControl({
|
|
223
|
+
create: [
|
|
224
|
+
Permission.ProjectOwner,
|
|
225
|
+
Permission.ProjectAdmin,
|
|
226
|
+
Permission.CreateTelemetryServiceMetrics,
|
|
227
|
+
],
|
|
228
|
+
read: [
|
|
229
|
+
Permission.ProjectOwner,
|
|
230
|
+
Permission.ProjectAdmin,
|
|
231
|
+
Permission.ProjectMember,
|
|
232
|
+
Permission.ReadTelemetryServiceMetrics,
|
|
233
|
+
],
|
|
234
|
+
update: [
|
|
235
|
+
Permission.ProjectOwner,
|
|
236
|
+
Permission.ProjectAdmin,
|
|
237
|
+
Permission.EditTelemetryServiceMetrics,
|
|
238
|
+
],
|
|
239
|
+
})
|
|
240
|
+
@TableColumn({
|
|
241
|
+
required: false,
|
|
242
|
+
type: TableColumnType.VeryLongText,
|
|
243
|
+
canReadOnRelationQuery: true,
|
|
244
|
+
title: "Description",
|
|
245
|
+
description: "Metric description",
|
|
246
|
+
})
|
|
247
|
+
@Column({
|
|
248
|
+
nullable: true,
|
|
249
|
+
type: ColumnType.VeryLongText,
|
|
250
|
+
})
|
|
251
|
+
public description?: string = undefined;
|
|
252
|
+
|
|
253
|
+
@ColumnAccessControl({
|
|
254
|
+
create: [
|
|
255
|
+
Permission.ProjectOwner,
|
|
256
|
+
Permission.ProjectAdmin,
|
|
257
|
+
Permission.CreateTelemetryServiceMetrics,
|
|
258
|
+
],
|
|
259
|
+
read: [
|
|
260
|
+
Permission.ProjectOwner,
|
|
261
|
+
Permission.ProjectAdmin,
|
|
262
|
+
Permission.ProjectMember,
|
|
263
|
+
Permission.ReadTelemetryServiceMetrics,
|
|
264
|
+
],
|
|
265
|
+
update: [
|
|
266
|
+
Permission.ProjectOwner,
|
|
267
|
+
Permission.ProjectAdmin,
|
|
268
|
+
Permission.EditTelemetryServiceMetrics,
|
|
269
|
+
],
|
|
270
|
+
})
|
|
271
|
+
@TableColumn({
|
|
272
|
+
required: false,
|
|
273
|
+
type: TableColumnType.VeryLongText,
|
|
274
|
+
canReadOnRelationQuery: true,
|
|
275
|
+
title: "Description",
|
|
276
|
+
description: "Metric description",
|
|
277
|
+
})
|
|
278
|
+
@Column({
|
|
279
|
+
nullable: true,
|
|
280
|
+
type: ColumnType.ShortText,
|
|
281
|
+
length: ColumnLength.ShortText,
|
|
282
|
+
})
|
|
283
|
+
public unit?: string = undefined;
|
|
284
|
+
|
|
222
285
|
@ColumnAccessControl({
|
|
223
286
|
create: [
|
|
224
287
|
Permission.ProjectOwner,
|
|
@@ -400,4 +400,141 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
|
|
|
400
400
|
transformer: ObjectID.getDatabaseTransformer(),
|
|
401
401
|
})
|
|
402
402
|
public deletedByUserId?: ObjectID = undefined;
|
|
403
|
+
|
|
404
|
+
@ColumnAccessControl({
|
|
405
|
+
create: [
|
|
406
|
+
Permission.ProjectOwner,
|
|
407
|
+
Permission.ProjectAdmin,
|
|
408
|
+
Permission.ProjectMember,
|
|
409
|
+
Permission.CreateProjectOnCallDutyPolicySchedule,
|
|
410
|
+
],
|
|
411
|
+
read: [
|
|
412
|
+
Permission.ProjectOwner,
|
|
413
|
+
Permission.ProjectAdmin,
|
|
414
|
+
Permission.ProjectMember,
|
|
415
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
416
|
+
],
|
|
417
|
+
update: [],
|
|
418
|
+
})
|
|
419
|
+
@TableColumn({
|
|
420
|
+
manyToOneRelationColumn: "currentUserIdOnRoster",
|
|
421
|
+
type: TableColumnType.Entity,
|
|
422
|
+
modelType: User,
|
|
423
|
+
title: "Current User On Roster",
|
|
424
|
+
description: "Relation to User who is currently on roster",
|
|
425
|
+
})
|
|
426
|
+
@ManyToOne(
|
|
427
|
+
() => {
|
|
428
|
+
return User;
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
eager: false,
|
|
432
|
+
nullable: true,
|
|
433
|
+
onDelete: "SET NULL",
|
|
434
|
+
orphanedRowAction: "nullify",
|
|
435
|
+
},
|
|
436
|
+
)
|
|
437
|
+
@JoinColumn({ name: "currentUserIdOnRoster" })
|
|
438
|
+
public currentUserOnRoster?: User = undefined;
|
|
439
|
+
|
|
440
|
+
@ColumnAccessControl({
|
|
441
|
+
create: [],
|
|
442
|
+
read: [
|
|
443
|
+
Permission.ProjectOwner,
|
|
444
|
+
Permission.ProjectAdmin,
|
|
445
|
+
Permission.ProjectMember,
|
|
446
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
447
|
+
],
|
|
448
|
+
update: [],
|
|
449
|
+
})
|
|
450
|
+
@TableColumn({
|
|
451
|
+
type: TableColumnType.ObjectID,
|
|
452
|
+
title: "Current User ID On Roster",
|
|
453
|
+
description: "User ID who is currently on roster",
|
|
454
|
+
})
|
|
455
|
+
@Column({
|
|
456
|
+
type: ColumnType.ObjectID,
|
|
457
|
+
nullable: true,
|
|
458
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
459
|
+
})
|
|
460
|
+
public currentUserIdOnRoster?: ObjectID = undefined;
|
|
461
|
+
|
|
462
|
+
@ColumnAccessControl({
|
|
463
|
+
create: [
|
|
464
|
+
Permission.ProjectOwner,
|
|
465
|
+
Permission.ProjectAdmin,
|
|
466
|
+
Permission.ProjectMember,
|
|
467
|
+
Permission.CreateProjectOnCallDutyPolicySchedule,
|
|
468
|
+
],
|
|
469
|
+
read: [
|
|
470
|
+
Permission.ProjectOwner,
|
|
471
|
+
Permission.ProjectAdmin,
|
|
472
|
+
Permission.ProjectMember,
|
|
473
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
474
|
+
],
|
|
475
|
+
update: [],
|
|
476
|
+
})
|
|
477
|
+
@TableColumn({
|
|
478
|
+
manyToOneRelationColumn: "nextUserIdOnRoster",
|
|
479
|
+
type: TableColumnType.Entity,
|
|
480
|
+
modelType: User,
|
|
481
|
+
title: "Next User On Roster",
|
|
482
|
+
description: "Relation to User who is next on roster",
|
|
483
|
+
})
|
|
484
|
+
@ManyToOne(
|
|
485
|
+
() => {
|
|
486
|
+
return User;
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
eager: false,
|
|
490
|
+
nullable: true,
|
|
491
|
+
onDelete: "SET NULL",
|
|
492
|
+
orphanedRowAction: "nullify",
|
|
493
|
+
},
|
|
494
|
+
)
|
|
495
|
+
@JoinColumn({ name: "nextUserIdOnRoster" })
|
|
496
|
+
public nextUserOnRoster?: User = undefined;
|
|
497
|
+
|
|
498
|
+
@ColumnAccessControl({
|
|
499
|
+
create: [],
|
|
500
|
+
read: [
|
|
501
|
+
Permission.ProjectOwner,
|
|
502
|
+
Permission.ProjectAdmin,
|
|
503
|
+
Permission.ProjectMember,
|
|
504
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
505
|
+
],
|
|
506
|
+
update: [],
|
|
507
|
+
})
|
|
508
|
+
@TableColumn({
|
|
509
|
+
type: TableColumnType.ObjectID,
|
|
510
|
+
title: "Next User ID On Roster",
|
|
511
|
+
description: "Next ID who is currently on roster",
|
|
512
|
+
})
|
|
513
|
+
@Column({
|
|
514
|
+
type: ColumnType.ObjectID,
|
|
515
|
+
nullable: true,
|
|
516
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
517
|
+
})
|
|
518
|
+
public nextUserIdOnRoster?: ObjectID = undefined;
|
|
519
|
+
|
|
520
|
+
@ColumnAccessControl({
|
|
521
|
+
create: [],
|
|
522
|
+
read: [
|
|
523
|
+
Permission.ProjectOwner,
|
|
524
|
+
Permission.ProjectAdmin,
|
|
525
|
+
Permission.ProjectMember,
|
|
526
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
527
|
+
],
|
|
528
|
+
update: [],
|
|
529
|
+
})
|
|
530
|
+
@TableColumn({
|
|
531
|
+
type: TableColumnType.Date,
|
|
532
|
+
title: "Roster Next Handoff At",
|
|
533
|
+
description: "When is the next roster handoff for this schedule?",
|
|
534
|
+
})
|
|
535
|
+
@Column({
|
|
536
|
+
type: ColumnType.Date,
|
|
537
|
+
nullable: true,
|
|
538
|
+
})
|
|
539
|
+
public rosterNextHandoffAt?: Date = undefined;
|
|
403
540
|
}
|
|
@@ -552,4 +552,83 @@ export default class OnCallDutyPolicyScheduleLayer extends BaseModel {
|
|
|
552
552
|
transformer: RestrictionTimes.getDatabaseTransformer(),
|
|
553
553
|
})
|
|
554
554
|
public restrictionTimes?: RestrictionTimes = undefined;
|
|
555
|
+
|
|
556
|
+
@ColumnAccessControl({
|
|
557
|
+
create: [
|
|
558
|
+
Permission.ProjectOwner,
|
|
559
|
+
Permission.ProjectAdmin,
|
|
560
|
+
Permission.ProjectMember,
|
|
561
|
+
Permission.CreateProjectOnCallDutyPolicySchedule,
|
|
562
|
+
],
|
|
563
|
+
read: [
|
|
564
|
+
Permission.ProjectOwner,
|
|
565
|
+
Permission.ProjectAdmin,
|
|
566
|
+
Permission.ProjectMember,
|
|
567
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
568
|
+
],
|
|
569
|
+
update: [],
|
|
570
|
+
})
|
|
571
|
+
@TableColumn({
|
|
572
|
+
manyToOneRelationColumn: "nextUserIdOnLayer",
|
|
573
|
+
type: TableColumnType.Entity,
|
|
574
|
+
modelType: User,
|
|
575
|
+
title: "Next User On Layer",
|
|
576
|
+
description: "Relation to User who is next on layer",
|
|
577
|
+
})
|
|
578
|
+
@ManyToOne(
|
|
579
|
+
() => {
|
|
580
|
+
return User;
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
eager: false,
|
|
584
|
+
nullable: true,
|
|
585
|
+
onDelete: "SET NULL",
|
|
586
|
+
orphanedRowAction: "nullify",
|
|
587
|
+
},
|
|
588
|
+
)
|
|
589
|
+
@JoinColumn({ name: "nextUserIdOnLayer" })
|
|
590
|
+
public nextUserOnLayer?: User = undefined;
|
|
591
|
+
|
|
592
|
+
@ColumnAccessControl({
|
|
593
|
+
create: [],
|
|
594
|
+
read: [
|
|
595
|
+
Permission.ProjectOwner,
|
|
596
|
+
Permission.ProjectAdmin,
|
|
597
|
+
Permission.ProjectMember,
|
|
598
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
599
|
+
],
|
|
600
|
+
update: [],
|
|
601
|
+
})
|
|
602
|
+
@TableColumn({
|
|
603
|
+
type: TableColumnType.ObjectID,
|
|
604
|
+
title: "Next User ID On Layer",
|
|
605
|
+
description: "Next ID who is currently on layer",
|
|
606
|
+
})
|
|
607
|
+
@Column({
|
|
608
|
+
type: ColumnType.ObjectID,
|
|
609
|
+
nullable: true,
|
|
610
|
+
transformer: ObjectID.getDatabaseTransformer(),
|
|
611
|
+
})
|
|
612
|
+
public nextUserIdOnLayer?: ObjectID = undefined;
|
|
613
|
+
|
|
614
|
+
@ColumnAccessControl({
|
|
615
|
+
create: [],
|
|
616
|
+
read: [
|
|
617
|
+
Permission.ProjectOwner,
|
|
618
|
+
Permission.ProjectAdmin,
|
|
619
|
+
Permission.ProjectMember,
|
|
620
|
+
Permission.ReadProjectOnCallDutyPolicySchedule,
|
|
621
|
+
],
|
|
622
|
+
update: [],
|
|
623
|
+
})
|
|
624
|
+
@TableColumn({
|
|
625
|
+
type: TableColumnType.Date,
|
|
626
|
+
title: "Layer Next Handoff At",
|
|
627
|
+
description: "When is the next layer handoff for this schedule?",
|
|
628
|
+
})
|
|
629
|
+
@Column({
|
|
630
|
+
type: ColumnType.Date,
|
|
631
|
+
nullable: true,
|
|
632
|
+
})
|
|
633
|
+
public layerNextHandoffAt?: Date = undefined;
|
|
555
634
|
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class MigrationName1743530326936 implements MigrationInterface {
|
|
4
|
+
public name = "MigrationName1743530326936";
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
await queryRunner.query(
|
|
8
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" ADD "currentUserIdOnRoster" uuid`,
|
|
9
|
+
);
|
|
10
|
+
await queryRunner.query(
|
|
11
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" ADD "nextUserIdOnRoster" uuid`,
|
|
12
|
+
);
|
|
13
|
+
await queryRunner.query(
|
|
14
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" ADD "rosterNextHandoffAt" TIMESTAMP WITH TIME ZONE`,
|
|
15
|
+
);
|
|
16
|
+
await queryRunner.query(
|
|
17
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ADD "nextUserIdOnLayer" uuid`,
|
|
18
|
+
);
|
|
19
|
+
await queryRunner.query(
|
|
20
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ADD "layerNextHandoffAt" TIMESTAMP WITH TIME ZONE`,
|
|
21
|
+
);
|
|
22
|
+
await queryRunner.query(
|
|
23
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" ADD CONSTRAINT "FK_49ffa461b854ad28bebd3661db5" FOREIGN KEY ("currentUserIdOnRoster") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
24
|
+
);
|
|
25
|
+
await queryRunner.query(
|
|
26
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" ADD CONSTRAINT "FK_775f3837d5094d9d8f433596238" FOREIGN KEY ("nextUserIdOnRoster") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
27
|
+
);
|
|
28
|
+
await queryRunner.query(
|
|
29
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ADD CONSTRAINT "FK_815023b155d367f28cc6855b843" FOREIGN KEY ("nextUserIdOnLayer") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
34
|
+
await queryRunner.query(
|
|
35
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" DROP CONSTRAINT "FK_815023b155d367f28cc6855b843"`,
|
|
36
|
+
);
|
|
37
|
+
await queryRunner.query(
|
|
38
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" DROP CONSTRAINT "FK_775f3837d5094d9d8f433596238"`,
|
|
39
|
+
);
|
|
40
|
+
await queryRunner.query(
|
|
41
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" DROP CONSTRAINT "FK_49ffa461b854ad28bebd3661db5"`,
|
|
42
|
+
);
|
|
43
|
+
await queryRunner.query(
|
|
44
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" DROP COLUMN "layerNextHandoffAt"`,
|
|
45
|
+
);
|
|
46
|
+
await queryRunner.query(
|
|
47
|
+
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" DROP COLUMN "nextUserIdOnLayer"`,
|
|
48
|
+
);
|
|
49
|
+
await queryRunner.query(
|
|
50
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" DROP COLUMN "rosterNextHandoffAt"`,
|
|
51
|
+
);
|
|
52
|
+
await queryRunner.query(
|
|
53
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" DROP COLUMN "nextUserIdOnRoster"`,
|
|
54
|
+
);
|
|
55
|
+
await queryRunner.query(
|
|
56
|
+
`ALTER TABLE "OnCallDutyPolicySchedule" DROP COLUMN "currentUserIdOnRoster"`,
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class MigrationName1743538648415 implements MigrationInterface {
|
|
4
|
+
public name = "MigrationName1743538648415";
|
|
5
|
+
|
|
6
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
await queryRunner.query(`ALTER TABLE "MetricType" ADD "description" text`);
|
|
8
|
+
await queryRunner.query(
|
|
9
|
+
`ALTER TABLE "MetricType" ADD "unit" character varying(100)`,
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
14
|
+
await queryRunner.query(`ALTER TABLE "MetricType" DROP COLUMN "unit"`);
|
|
15
|
+
await queryRunner.query(
|
|
16
|
+
`ALTER TABLE "MetricType" DROP COLUMN "description"`,
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -125,6 +125,8 @@ import { MigrationName1743006662678 } from "./1743006662678-MigrationName";
|
|
|
125
125
|
import { MigrationName1743186793413 } from "./1743186793413-MigrationName";
|
|
126
126
|
import { MigrationName1743518485566 } from "./1743518485566-MigrationName";
|
|
127
127
|
import { MigrationName1743521461137 } from "./1743521461137-MigrationName";
|
|
128
|
+
import { MigrationName1743530326936 } from "./1743530326936-MigrationName";
|
|
129
|
+
import { MigrationName1743538648415 } from "./1743538648415-MigrationName";
|
|
128
130
|
|
|
129
131
|
export default [
|
|
130
132
|
InitialMigration,
|
|
@@ -254,4 +256,6 @@ export default [
|
|
|
254
256
|
MigrationName1743186793413,
|
|
255
257
|
MigrationName1743518485566,
|
|
256
258
|
MigrationName1743521461137,
|
|
259
|
+
MigrationName1743530326936,
|
|
260
|
+
MigrationName1743538648415,
|
|
257
261
|
];
|