Skip to content

Commit 4dd057c

Browse files
committed
#1520 - setup transformers and add some seed data
1 parent 19991ae commit 4dd057c

6 files changed

Lines changed: 40 additions & 10 deletions

File tree

src/backend/src/controllers/projects.controllers.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { Project, validateWBS, WbsNumber, wbsPipe } from 'shared';
1+
import { Manufacturer, MaterialType, Project, validateWBS, WbsNumber, wbsPipe } from 'shared';
22
import { NextFunction, Request, Response } from 'express';
3-
import { Manufacturer, Material_Type, User } from '@prisma/client';
3+
import { User } from '@prisma/client';
44
import { getCurrentUser } from '../utils/auth.utils';
55
import ProjectsService from '../services/projects.services';
66

@@ -206,7 +206,7 @@ export default class ProjectsController {
206206
static async getAllMaterialTypes(req: Request, res: Response, next: NextFunction) {
207207
try {
208208
const user = await getCurrentUser(res);
209-
const materialTypes: Material_Type[] = await ProjectsService.getAllMaterialTypes(user);
209+
const materialTypes: MaterialType[] = await ProjectsService.getAllMaterialTypes(user);
210210
return res.status(200).json(materialTypes);
211211
} catch (error: unknown) {
212212
next(error);

src/backend/src/prisma/seed.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import { seedProject } from './seed-data/projects.seed';
2929
import { seedWorkPackage } from './seed-data/work-packages.seed';
3030
import ReimbursementRequestService from '../services/reimbursement-requests.services';
3131
import { writeFileSync } from 'fs';
32+
import ProjectsService from '../services/projects.services';
3233

3334
const prisma = new PrismaClient();
3435

@@ -837,6 +838,10 @@ const performSeed: () => Promise<void> = async () => {
837838
[joeShmoe.userId]
838839
);
839840

841+
/**
842+
* Reimbursements
843+
*/
844+
840845
const vendor = await ReimbursementRequestService.createVendor(thomasEmrax, 'Tesla');
841846
const vendor2 = await ReimbursementRequestService.createVendor(thomasEmrax, 'Amazon');
842847
const vendor3 = await ReimbursementRequestService.createVendor(thomasEmrax, 'Google');
@@ -867,6 +872,12 @@ const performSeed: () => Promise<void> = async () => {
867872
expenseType.expenseTypeId,
868873
100
869874
);
875+
876+
/**
877+
* Bill of Materials
878+
*/
879+
await ProjectsService.createManufacturer(thomasEmrax, 'Digikey');
880+
await ProjectsService.createMaterialType('Resistor', thomasEmrax);
870881
};
871882

872883
performSeed()

src/backend/src/services/projects.services.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
1-
import { Manufacturer, Role, Material_Type, User, Assembly, Material_Status, Material } from '@prisma/client';
2-
import { isAdmin, isGuest, isLeadership, isProject, LinkCreateArgs, LinkType, Project, WbsNumber, wbsPipe } from 'shared';
1+
import { Role, Material_Type, User, Assembly, Material_Status, Material } from '@prisma/client';
2+
import {
3+
isAdmin,
4+
isGuest,
5+
isLeadership,
6+
isProject,
7+
LinkCreateArgs,
8+
LinkType,
9+
Manufacturer,
10+
MaterialType,
11+
Project,
12+
WbsNumber,
13+
wbsPipe
14+
} from 'shared';
315
import projectQueryArgs from '../prisma-query-args/projects.query-args';
416
import prisma from '../prisma/prisma';
517
import projectTransformer from '../transformers/projects.transformer';
@@ -809,7 +821,7 @@ export default class ProjectsService {
809821
* @param submitter the user who's getting all material types
810822
* @returns all the material types
811823
*/
812-
static async getAllMaterialTypes(submitter: User): Promise<Material_Type[]> {
824+
static async getAllMaterialTypes(submitter: User): Promise<MaterialType[]> {
813825
if (submitter.role === Role.GUEST) {
814826
throw new AccessDeniedGuestException('Get Material Types');
815827
}

src/backend/src/transformers/manufacturer.transformer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
* See the LICENSE file in the repository root folder for details.
44
*/
55

6-
import { Manufacturer, Prisma } from '@prisma/client';
6+
import { Prisma } from '@prisma/client';
77
import manufacturerQueryArgs from '../prisma-query-args/manufacturers.query-args';
8+
import { Manufacturer } from 'shared';
89

910
export const manufacturerTransformer = (
1011
manufacturer: Prisma.ManufacturerGetPayload<typeof manufacturerQueryArgs>

src/backend/src/transformers/material-type.transformer.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
* See the LICENSE file in the repository root folder for details.
44
*/
55

6-
import { Material_Type, Prisma } from '@prisma/client';
6+
import { Prisma } from '@prisma/client';
77
import materialTypeQueryArgs from '../prisma-query-args/material-type.query-args';
8+
import { MaterialType } from 'shared';
89

910
export const materialTypeTransformer = (
1011
materialType: Prisma.Material_TypeGetPayload<typeof materialTypeQueryArgs>
11-
): Material_Type => {
12+
): MaterialType => {
1213
return {
1314
name: materialType.name,
1415
dateCreated: materialType.dateCreated,

src/shared/src/types/project-types.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,12 @@ export interface Manufacturer {
118118
name: string;
119119
dateCreated: Date;
120120
creatorId: number;
121-
materials: Material[];
121+
}
122+
123+
export interface MaterialType {
124+
name: string;
125+
dateCreated: Date;
126+
creatorId: number;
122127
}
123128

124129
export enum MaterialStatus {

0 commit comments

Comments
 (0)