Skip to content

Commit 8b816a2

Browse files
authored
Merge pull request #1709 from Northeastern-Electric-Racing/#1604-archivable-teams-edit-schema
#1604 Archivable Teams Edit Schema
2 parents 5ccf484 + 33b5ca1 commit 8b816a2

3 files changed

Lines changed: 31 additions & 15 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
-- AlterTable
2+
ALTER TABLE "Team" ADD COLUMN "dateArchived" TIMESTAMP(3),
3+
ADD COLUMN "userArchivedId" INTEGER;
4+
5+
-- AddForeignKey
6+
ALTER TABLE "Team" ADD CONSTRAINT "Team_userArchivedId_fkey" FOREIGN KEY ("userArchivedId") REFERENCES "User"("userId") ON DELETE SET NULL ON UPDATE CASCADE;

src/backend/src/prisma/schema.prisma

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -114,20 +114,24 @@ model User {
114114
createdAssemblies Assembly[] @relation(name: "assemblyCreator")
115115
deletedMaterials Material[] @relation(name: "materialDeleter")
116116
createdMaterials Material[] @relation(name: "materialCreator")
117+
archivedTeams Team[] @relation(name: "userArchived")
117118
createdMaterialTypes Material_Type[] @relation(name: "materialTypeCreator")
118119
createdManufacturers Manufacturer[] @relation(name: "manufacturerCreator")
119120
}
120121

121122
model Team {
122-
teamId String @id @default(uuid())
123-
teamName String
124-
slackId String
125-
description String @default("")
126-
projects Project[] @relation(name: "assignedBy")
127-
members User[] @relation(name: "teamsAsMember")
128-
leads User[] @relation(name: "teamsAsLead")
129-
headId Int @unique
130-
head User @relation(name: "teamAsHead", fields: [headId], references: [userId])
123+
teamId String @id @default(uuid())
124+
teamName String
125+
slackId String
126+
description String @default("")
127+
projects Project[] @relation(name: "assignedBy")
128+
members User[] @relation(name: "teamsAsMember")
129+
leads User[] @relation(name: "teamsAsLead")
130+
headId Int @unique
131+
head User @relation(name: "teamAsHead", fields: [headId], references: [userId])
132+
dateArchived DateTime?
133+
userArchivedId Int?
134+
userArchived User? @relation(name: "userArchived", fields: [userArchivedId], references: [userId])
131135
}
132136

133137
model Session {
@@ -492,7 +496,7 @@ model Unit {
492496

493497
model Assembly {
494498
assemblyId String @id @default(uuid())
495-
name String
499+
name String
496500
pdmFileName String?
497501
dateDeleted DateTime?
498502
userDeleted User? @relation(fields: [userDeletedId], references: [userId], name: "assemblyDeleter")
@@ -537,7 +541,7 @@ model Material {
537541
model Material_Type {
538542
name String @id
539543
dateCreated DateTime
540-
dateDeleted DateTime?
544+
dateDeleted DateTime?
541545
userCreatedId Int
542546
userCreated User @relation(name: "materialTypeCreator", fields: [userCreatedId], references: [userId])
543547
materials Material[]
@@ -548,6 +552,6 @@ model Manufacturer {
548552
dateCreated DateTime
549553
userCreatedId Int
550554
userCreated User @relation(name: "manufacturerCreator", fields: [userCreatedId], references: [userId])
551-
dateDeleted DateTime?
555+
dateDeleted DateTime?
552556
materials Material[]
553557
}

src/backend/tests/test-data/teams.test-data.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ export const prismaTeam1: Prisma.TeamGetPayload<typeof teamQueryArgs> = {
1717
headId: 4,
1818
projects: [],
1919
members: [aquaman],
20-
leads: [wonderwoman, alfred]
20+
leads: [wonderwoman, alfred],
21+
dateArchived: new Date('12/15/1985'),
22+
userArchivedId: 3
2123
};
2224

2325
export const primsaTeam2: Prisma.TeamGetPayload<typeof teamQueryArgs> = {
@@ -29,7 +31,9 @@ export const primsaTeam2: Prisma.TeamGetPayload<typeof teamQueryArgs> = {
2931
headId: 10,
3032
projects: [],
3133
members: [],
32-
leads: []
34+
leads: [],
35+
dateArchived: new Date('12/02/2002'),
36+
userArchivedId: null
3337
};
3438

3539
export const sharedTeam1: SharedTeam = {
@@ -52,5 +56,7 @@ export const justiceLeague: Prisma.TeamGetPayload<typeof teamQueryArgs> = {
5256
head: batman,
5357
projects: [],
5458
members: [aquaman, theVisitor],
55-
leads: [wonderwoman]
59+
leads: [wonderwoman],
60+
dateArchived: null,
61+
userArchivedId: null
5662
};

0 commit comments

Comments
 (0)