Skip to content

Commit a7e3642

Browse files
committed
feat: clean up descriptions and access control in OnCallDutyPolicySchedule and OnCallDutyPolicyScheduleLayer models
1 parent 317ff80 commit a7e3642

File tree

4 files changed

+139
-131
lines changed

4 files changed

+139
-131
lines changed

Common/Models/DatabaseModels/OnCallDutyPolicySchedule.ts

+8-22
Original file line numberDiff line numberDiff line change
@@ -421,8 +421,7 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
421421
type: TableColumnType.Entity,
422422
modelType: User,
423423
title: "Current User On Roster",
424-
description:
425-
"Relation to User who is currently on roster",
424+
description: "Relation to User who is currently on roster",
426425
})
427426
@ManyToOne(
428427
() => {
@@ -439,9 +438,7 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
439438
public currentUserOnRoster?: User = undefined;
440439

441440
@ColumnAccessControl({
442-
create: [
443-
444-
],
441+
create: [],
445442
read: [
446443
Permission.ProjectOwner,
447444
Permission.ProjectAdmin,
@@ -453,8 +450,7 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
453450
@TableColumn({
454451
type: TableColumnType.ObjectID,
455452
title: "Current User ID On Roster",
456-
description:
457-
"User ID who is currently on roster",
453+
description: "User ID who is currently on roster",
458454
})
459455
@Column({
460456
type: ColumnType.ObjectID,
@@ -463,7 +459,6 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
463459
})
464460
public currentUserIdOnRoster?: ObjectID = undefined;
465461

466-
467462
@ColumnAccessControl({
468463
create: [
469464
Permission.ProjectOwner,
@@ -484,8 +479,7 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
484479
type: TableColumnType.Entity,
485480
modelType: User,
486481
title: "Next User On Roster",
487-
description:
488-
"Relation to User who is next on roster",
482+
description: "Relation to User who is next on roster",
489483
})
490484
@ManyToOne(
491485
() => {
@@ -502,9 +496,7 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
502496
public nextUserOnRoster?: User = undefined;
503497

504498
@ColumnAccessControl({
505-
create: [
506-
507-
],
499+
create: [],
508500
read: [
509501
Permission.ProjectOwner,
510502
Permission.ProjectAdmin,
@@ -516,8 +508,7 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
516508
@TableColumn({
517509
type: TableColumnType.ObjectID,
518510
title: "Next User ID On Roster",
519-
description:
520-
"Next ID who is currently on roster",
511+
description: "Next ID who is currently on roster",
521512
})
522513
@Column({
523514
type: ColumnType.ObjectID,
@@ -526,11 +517,8 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
526517
})
527518
public nextUserIdOnRoster?: ObjectID = undefined;
528519

529-
530520
@ColumnAccessControl({
531-
create: [
532-
533-
],
521+
create: [],
534522
read: [
535523
Permission.ProjectOwner,
536524
Permission.ProjectAdmin,
@@ -542,13 +530,11 @@ export default class OnCallDutyPolicySchedule extends BaseModel {
542530
@TableColumn({
543531
type: TableColumnType.Date,
544532
title: "Roster Next Handoff At",
545-
description:
546-
"When is the next roster handoff for this schedule?",
533+
description: "When is the next roster handoff for this schedule?",
547534
})
548535
@Column({
549536
type: ColumnType.Date,
550537
nullable: true,
551538
})
552539
public rosterNextHandoffAt?: Date = undefined;
553-
554540
}

Common/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts

+77-86
Original file line numberDiff line numberDiff line change
@@ -553,91 +553,82 @@ export default class OnCallDutyPolicyScheduleLayer extends BaseModel {
553553
})
554554
public restrictionTimes?: RestrictionTimes = undefined;
555555

556-
557-
@ColumnAccessControl({
558-
create: [
559-
Permission.ProjectOwner,
560-
Permission.ProjectAdmin,
561-
Permission.ProjectMember,
562-
Permission.CreateProjectOnCallDutyPolicySchedule,
563-
],
564-
read: [
565-
Permission.ProjectOwner,
566-
Permission.ProjectAdmin,
567-
Permission.ProjectMember,
568-
Permission.ReadProjectOnCallDutyPolicySchedule,
569-
],
570-
update: [],
571-
})
572-
@TableColumn({
573-
manyToOneRelationColumn: "nextUserIdOnLayer",
574-
type: TableColumnType.Entity,
575-
modelType: User,
576-
title: "Next User On Layer",
577-
description:
578-
"Relation to User who is next on layer",
579-
})
580-
@ManyToOne(
581-
() => {
582-
return User;
583-
},
584-
{
585-
eager: false,
586-
nullable: true,
587-
onDelete: "SET NULL",
588-
orphanedRowAction: "nullify",
589-
},
590-
)
591-
@JoinColumn({ name: "nextUserIdOnLayer" })
592-
public nextUserOnLayer?: User = undefined;
593-
594-
@ColumnAccessControl({
595-
create: [
596-
597-
],
598-
read: [
599-
Permission.ProjectOwner,
600-
Permission.ProjectAdmin,
601-
Permission.ProjectMember,
602-
Permission.ReadProjectOnCallDutyPolicySchedule,
603-
],
604-
update: [],
605-
})
606-
@TableColumn({
607-
type: TableColumnType.ObjectID,
608-
title: "Next User ID On Layer",
609-
description:
610-
"Next ID who is currently on layer",
611-
})
612-
@Column({
613-
type: ColumnType.ObjectID,
614-
nullable: true,
615-
transformer: ObjectID.getDatabaseTransformer(),
616-
})
617-
public nextUserIdOnLayer?: ObjectID = undefined;
618-
619-
620-
@ColumnAccessControl({
621-
create: [
622-
623-
],
624-
read: [
625-
Permission.ProjectOwner,
626-
Permission.ProjectAdmin,
627-
Permission.ProjectMember,
628-
Permission.ReadProjectOnCallDutyPolicySchedule,
629-
],
630-
update: [],
631-
})
632-
@TableColumn({
633-
type: TableColumnType.Date,
634-
title: "Layer Next Handoff At",
635-
description:
636-
"When is the next layer handoff for this schedule?",
637-
})
638-
@Column({
639-
type: ColumnType.Date,
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,
640584
nullable: true,
641-
})
642-
public layerNextHandoffAt?: Date = undefined;
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;
643634
}
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,59 @@
11
import { MigrationInterface, QueryRunner } from "typeorm";
22

33
export class MigrationName1743530326936 implements MigrationInterface {
4-
public name = 'MigrationName1743530326936'
4+
public name = "MigrationName1743530326936";
55

6-
public async up(queryRunner: QueryRunner): Promise<void> {
7-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" ADD "currentUserIdOnRoster" uuid`);
8-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" ADD "nextUserIdOnRoster" uuid`);
9-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" ADD "rosterNextHandoffAt" TIMESTAMP WITH TIME ZONE`);
10-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ADD "nextUserIdOnLayer" uuid`);
11-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ADD "layerNextHandoffAt" TIMESTAMP WITH TIME ZONE`);
12-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" ADD CONSTRAINT "FK_49ffa461b854ad28bebd3661db5" FOREIGN KEY ("currentUserIdOnRoster") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
13-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" ADD CONSTRAINT "FK_775f3837d5094d9d8f433596238" FOREIGN KEY ("nextUserIdOnRoster") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
14-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ADD CONSTRAINT "FK_815023b155d367f28cc6855b843" FOREIGN KEY ("nextUserIdOnLayer") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
15-
}
16-
17-
public async down(queryRunner: QueryRunner): Promise<void> {
18-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" DROP CONSTRAINT "FK_815023b155d367f28cc6855b843"`);
19-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" DROP CONSTRAINT "FK_775f3837d5094d9d8f433596238"`);
20-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" DROP CONSTRAINT "FK_49ffa461b854ad28bebd3661db5"`);
21-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" DROP COLUMN "layerNextHandoffAt"`);
22-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" DROP COLUMN "nextUserIdOnLayer"`);
23-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" DROP COLUMN "rosterNextHandoffAt"`);
24-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" DROP COLUMN "nextUserIdOnRoster"`);
25-
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicySchedule" DROP COLUMN "currentUserIdOnRoster"`);
26-
}
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+
}
2732

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+
}
2859
}

Common/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -255,5 +255,5 @@ export default [
255255
MigrationName1743186793413,
256256
MigrationName1743518485566,
257257
MigrationName1743521461137,
258-
MigrationName1743530326936
258+
MigrationName1743530326936,
259259
];

0 commit comments

Comments
 (0)