Skip to content

Commit 9402788

Browse files
authored
Merge branch 'develop' into #1533-Create-new-team-with-12-members
2 parents a03d931 + ea0cace commit 9402788

11 files changed

Lines changed: 439 additions & 15 deletions

File tree

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
-- CreateEnum
2+
CREATE TYPE "Material_Status" AS ENUM ('RECEIVED', 'ORDERED', 'SHIPPED', 'UNORDERED');
3+
4+
-- CreateTable
5+
CREATE TABLE "Unit" (
6+
"name" TEXT NOT NULL,
7+
8+
CONSTRAINT "Unit_pkey" PRIMARY KEY ("name")
9+
);
10+
11+
-- CreateTable
12+
CREATE TABLE "Assembly" (
13+
"assemblyId" TEXT NOT NULL,
14+
"name" TEXT NOT NULL,
15+
"pdmFileName" TEXT NOT NULL,
16+
"dateDeleted" TIMESTAMP(3),
17+
"userDeletedId" INTEGER,
18+
"dateCreated" TIMESTAMP(3) NOT NULL,
19+
"userCreatedId" INTEGER NOT NULL,
20+
"wbsElementId" INTEGER NOT NULL,
21+
22+
CONSTRAINT "Assembly_pkey" PRIMARY KEY ("assemblyId")
23+
);
24+
25+
-- CreateTable
26+
CREATE TABLE "Material" (
27+
"materialId" TEXT NOT NULL,
28+
"assembyId" TEXT,
29+
"name" TEXT NOT NULL,
30+
"wbsElementId" INTEGER NOT NULL,
31+
"dateDeleted" TIMESTAMP(3),
32+
"userDeletedId" INTEGER,
33+
"dateCreated" TIMESTAMP(3) NOT NULL,
34+
"userCreatedId" INTEGER NOT NULL,
35+
"staus" "Material_Status" NOT NULL,
36+
"materialTypeName" TEXT NOT NULL,
37+
"manufacturerName" TEXT NOT NULL,
38+
"manufacturerPartNumber" TEXT NOT NULL,
39+
"pdmFileName" TEXT,
40+
"quantity" INTEGER NOT NULL,
41+
"unitName" TEXT,
42+
"price" INTEGER NOT NULL,
43+
"subtotal" INTEGER NOT NULL,
44+
"linkUrl" TEXT NOT NULL,
45+
"notes" TEXT NOT NULL,
46+
47+
CONSTRAINT "Material_pkey" PRIMARY KEY ("materialId")
48+
);
49+
50+
-- CreateTable
51+
CREATE TABLE "Material_Type" (
52+
"name" TEXT NOT NULL,
53+
"dateCreated" TIMESTAMP(3) NOT NULL,
54+
"creatorId" INTEGER NOT NULL,
55+
56+
CONSTRAINT "Material_Type_pkey" PRIMARY KEY ("name")
57+
);
58+
59+
-- CreateTable
60+
CREATE TABLE "Manufacturer" (
61+
"name" TEXT NOT NULL,
62+
"dateCreated" TIMESTAMP(3) NOT NULL,
63+
"creatorId" INTEGER NOT NULL,
64+
65+
CONSTRAINT "Manufacturer_pkey" PRIMARY KEY ("name")
66+
);
67+
68+
-- CreateIndex
69+
CREATE UNIQUE INDEX "Assembly_name_key" ON "Assembly"("name");
70+
71+
-- CreateIndex
72+
CREATE UNIQUE INDEX "Material_name_key" ON "Material"("name");
73+
74+
-- AddForeignKey
75+
ALTER TABLE "Assembly" ADD CONSTRAINT "Assembly_userDeletedId_fkey" FOREIGN KEY ("userDeletedId") REFERENCES "User"("userId") ON DELETE SET NULL ON UPDATE CASCADE;
76+
77+
-- AddForeignKey
78+
ALTER TABLE "Assembly" ADD CONSTRAINT "Assembly_userCreatedId_fkey" FOREIGN KEY ("userCreatedId") REFERENCES "User"("userId") ON DELETE RESTRICT ON UPDATE CASCADE;
79+
80+
-- AddForeignKey
81+
ALTER TABLE "Assembly" ADD CONSTRAINT "Assembly_wbsElementId_fkey" FOREIGN KEY ("wbsElementId") REFERENCES "WBS_Element"("wbsElementId") ON DELETE RESTRICT ON UPDATE CASCADE;
82+
83+
-- AddForeignKey
84+
ALTER TABLE "Material" ADD CONSTRAINT "Material_assembyId_fkey" FOREIGN KEY ("assembyId") REFERENCES "Assembly"("assemblyId") ON DELETE SET NULL ON UPDATE CASCADE;
85+
86+
-- AddForeignKey
87+
ALTER TABLE "Material" ADD CONSTRAINT "Material_wbsElementId_fkey" FOREIGN KEY ("wbsElementId") REFERENCES "WBS_Element"("wbsElementId") ON DELETE RESTRICT ON UPDATE CASCADE;
88+
89+
-- AddForeignKey
90+
ALTER TABLE "Material" ADD CONSTRAINT "Material_userDeletedId_fkey" FOREIGN KEY ("userDeletedId") REFERENCES "User"("userId") ON DELETE SET NULL ON UPDATE CASCADE;
91+
92+
-- AddForeignKey
93+
ALTER TABLE "Material" ADD CONSTRAINT "Material_userCreatedId_fkey" FOREIGN KEY ("userCreatedId") REFERENCES "User"("userId") ON DELETE RESTRICT ON UPDATE CASCADE;
94+
95+
-- AddForeignKey
96+
ALTER TABLE "Material" ADD CONSTRAINT "Material_materialTypeName_fkey" FOREIGN KEY ("materialTypeName") REFERENCES "Material_Type"("name") ON DELETE RESTRICT ON UPDATE CASCADE;
97+
98+
-- AddForeignKey
99+
ALTER TABLE "Material" ADD CONSTRAINT "Material_manufacturerName_fkey" FOREIGN KEY ("manufacturerName") REFERENCES "Manufacturer"("name") ON DELETE RESTRICT ON UPDATE CASCADE;
100+
101+
-- AddForeignKey
102+
ALTER TABLE "Material" ADD CONSTRAINT "Material_unitName_fkey" FOREIGN KEY ("unitName") REFERENCES "Unit"("name") ON DELETE SET NULL ON UPDATE CASCADE;

src/backend/src/prisma/schema.prisma

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ model User {
110110
createdLinkTypes LinkType[] @relation(name: "linkTypeCreator")
111111
deletedReceipts Receipt[] @relation(name: "deletedReceipts")
112112
createdReceipts Receipt[] @relation(name: "receiptsCreatedBy")
113+
deletedAssemblies Assembly[] @relation(name: "assemblyDeleter")
114+
createdAssemblies Assembly[] @relation(name: "assemblyCreator")
115+
deletedMaterials Material[] @relation(name: "materialDeleter")
116+
createdMaterials Material[] @relation(name: "materialCreator")
113117
}
114118

115119
model Team {
@@ -252,6 +256,8 @@ model WBS_Element {
252256
tasks Task[]
253257
reimbursementProducts Reimbursement_Product[]
254258
links Link[] @relation(name: "links")
259+
assembies Assembly[]
260+
materials Material[]
255261
256262
@@unique([carNumber, projectNumber, workPackageNumber], name: "wbsNumber")
257263
}
@@ -451,3 +457,73 @@ model User_Secure_Settings {
451457
zipcode String
452458
phoneNumber String @unique
453459
}
460+
461+
enum Material_Status {
462+
RECEIVED
463+
ORDERED
464+
SHIPPED
465+
UNORDERED
466+
}
467+
468+
model Unit {
469+
name String @id
470+
materials Material[]
471+
}
472+
473+
model Assembly {
474+
assemblyId String @id @default(uuid())
475+
name String @unique
476+
pdmFileName String
477+
dateDeleted DateTime?
478+
userDeleted User? @relation(fields: [userDeletedId], references: [userId], name: "assemblyDeleter")
479+
userDeletedId Int?
480+
dateCreated DateTime
481+
userCreated User @relation(fields: [userCreatedId], references: [userId], name: "assemblyCreator")
482+
userCreatedId Int
483+
wbsElement WBS_Element @relation(fields: [wbsElementId], references: [wbsElementId])
484+
wbsElementId Int
485+
materials Material[]
486+
}
487+
488+
model Material {
489+
materialId String @id @default(uuid())
490+
assemby Assembly? @relation(fields: [assembyId], references: [assemblyId])
491+
assembyId String?
492+
name String @unique
493+
wbsElement WBS_Element @relation(fields: [wbsElementId], references: [wbsElementId])
494+
wbsElementId Int
495+
dateDeleted DateTime?
496+
userDeleted User? @relation(fields: [userDeletedId], references: [userId], name: "materialDeleter")
497+
userDeletedId Int?
498+
dateCreated DateTime
499+
userCreated User @relation(fields: [userCreatedId], references: [userId], name: "materialCreator")
500+
userCreatedId Int
501+
staus Material_Status
502+
materialType Material_Type @relation(fields: [materialTypeName], references: [name])
503+
materialTypeName String
504+
manufacturer Manufacturer @relation(fields: [manufacturerName], references: [name])
505+
manufacturerName String
506+
manufacturerPartNumber String
507+
pdmFileName String?
508+
quantity Int
509+
quantityUnit Unit? @relation(fields: [unitName], references: [name])
510+
unitName String?
511+
price Int
512+
subtotal Int
513+
linkUrl String
514+
notes String
515+
}
516+
517+
model Material_Type {
518+
name String @id
519+
dateCreated DateTime
520+
creatorId Int
521+
materials Material[]
522+
}
523+
524+
model Manufacturer {
525+
name String @id
526+
dateCreated DateTime
527+
creatorId Int
528+
materials Material[]
529+
}

src/backend/src/prisma/seed-data/users.seed.ts

Lines changed: 153 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,70 @@ const ryanHowe: Prisma.UserCreateInput = {
229229
role: Role.HEAD
230230
};
231231

232+
const jkDobbins: Prisma.UserCreateInput = {
233+
firstName: 'J.K',
234+
lastName: 'Dobbins',
235+
email: 'Dobbins.j.k@ravens.com',
236+
googleAuthId: 'ravensRB',
237+
role: Role.MEMBER
238+
};
239+
240+
const davidOjabo: Prisma.UserCreateInput = {
241+
firstName: 'David',
242+
lastName: 'Ojabo',
243+
email: 'Ojabo.D@ravens.com',
244+
googleAuthId: 'ravensOLB',
245+
role: Role.MEMBER
246+
};
247+
248+
const markAndrews: Prisma.UserCreateInput = {
249+
firstName: 'Mark',
250+
lastName: 'Andrews',
251+
email: 'Andrews.MD@ravens.com',
252+
googleAuthId: 'ravensTE',
253+
role: Role.MEMBER
254+
};
255+
256+
const odellBeckham: Prisma.UserCreateInput = {
257+
firstName: 'Odell',
258+
lastName: 'Beckham',
259+
email: 'Beckham.O@ravens.com',
260+
googleAuthId: 'ravensWR',
261+
role: Role.MEMBER
262+
};
263+
264+
const chrisHorton: Prisma.UserCreateInput = {
265+
firstName: 'Chris',
266+
lastName: 'Horton',
267+
email: 'Horton.C@ravens.com',
268+
googleAuthId: 'ravensSTC',
269+
role: Role.LEADERSHIP
270+
};
271+
272+
const mikeMacdonald: Prisma.UserCreateInput = {
273+
firstName: 'Mike',
274+
lastName: 'Macdonald',
275+
email: 'Macdonald.M@ravens.com',
276+
googleAuthId: 'ravensDC',
277+
role: Role.MEMBER
278+
};
279+
280+
const toddMonken: Prisma.UserCreateInput = {
281+
firstName: 'Todd',
282+
lastName: 'Monken',
283+
email: 'Monken.T@ravens.com',
284+
googleAuthId: 'ravensOC',
285+
role: Role.MEMBER
286+
};
287+
288+
const stephenBisciotti: Prisma.UserCreateInput = {
289+
firstName: 'Stephen',
290+
lastName: 'Bisciotti',
291+
email: 'Bisciotti.S@ravens.com',
292+
googleAuthId: 'ravensOwner',
293+
role: Role.HEAD
294+
};
295+
232296
const anthonyBernardi: Prisma.UserCreateInput = {
233297
firstName: 'Anthony',
234298
lastName: 'Bernadi',
@@ -339,6 +403,77 @@ const dennisBergkamp: Prisma.UserCreateInput = {
339403
email: 'dbergkamp@arsenal.com',
340404
googleAuthId: 'DutchMaster',
341405
role: Role.MEMBER
406+
407+
const brooksRobinson: Prisma.UserCreateInput = {
408+
firstName: 'Brooks',
409+
lastName: 'Robinson',
410+
email: 'the.brooksters@orioles.com',
411+
googleAuthId: 'fries',
412+
role: Role.HEAD
413+
};
414+
415+
const jimPalmer: Prisma.UserCreateInput = {
416+
firstName: 'Jim',
417+
lastName: 'Palmer',
418+
email: 'jimmy.palms@orioles.com',
419+
googleAuthId: 'burger',
420+
role: Role.LEADERSHIP
421+
};
422+
423+
const eddieMurray: Prisma.UserCreateInput = {
424+
firstName: 'Eddie',
425+
lastName: 'Murray',
426+
email: 'eddie.murray@orioles.com',
427+
googleAuthId: 'hotdog',
428+
role: Role.HEAD
429+
};
430+
431+
const georgeSisler: Prisma.UserCreateInput = {
432+
firstName: 'George',
433+
lastName: 'Sisler',
434+
email: 'g.sisler@orioles.com',
435+
googleAuthId: 'popcorn',
436+
role: Role.LEADERSHIP
437+
};
438+
439+
const urbanShocker: Prisma.UserCreateInput = {
440+
firstName: 'Urban',
441+
lastName: 'Shocker',
442+
email: 'shock.the.game@orioles.com',
443+
googleAuthId: 'shocking',
444+
role: Role.MEMBER
445+
};
446+
447+
const kenWilliams: Prisma.UserCreateInput = {
448+
firstName: 'Ken',
449+
lastName: 'Williams',
450+
email: 'justKen@orioles.com',
451+
googleAuthId: 'kenough',
452+
role: Role.MEMBER
453+
};
454+
455+
const boogPowell: Prisma.UserCreateInput = {
456+
firstName: 'Boog',
457+
lastName: 'Powell',
458+
email: 'boogs@orioles.com',
459+
googleAuthId: 'soda',
460+
role: Role.MEMBER
461+
};
462+
463+
const mannyMachado: Prisma.UserCreateInput = {
464+
firstName: 'Manny',
465+
lastName: 'Machado',
466+
email: 'machoman@orioles.com',
467+
googleAuthId: 'macho',
468+
role: Role.HEAD
469+
};
470+
471+
const babyDollJacobson: Prisma.UserCreateInput = {
472+
firstName: 'Baby Doll',
473+
lastName: 'Jacobson',
474+
email: 'bbydoll@orioles.com',
475+
googleAuthId: 'babes',
476+
role: Role.LEADERSHIP
342477
};
343478

344479
export const dbSeedAllUsers = {
@@ -377,5 +512,22 @@ export const dbSeedAllUsers = {
377512
patrickVieira,
378513
didierDrogba,
379514
johnTerry,
380-
dennisBergkamp
515+
dennisBergkamp,
516+
jkDobbins,
517+
davidOjabo,
518+
markAndrews,
519+
odellBeckham,
520+
chrisHorton,
521+
mikeMacdonald,
522+
toddMonken,
523+
stephenBisciotti,
524+
brooksRobinson,
525+
jimPalmer,
526+
eddieMurray,
527+
georgeSisler,
528+
urbanShocker,
529+
kenWilliams,
530+
boogPowell,
531+
mannyMachado,
532+
babyDollJacobson
381533
};

0 commit comments

Comments
 (0)