Skip to content

Commit db45c94

Browse files
committed
fixed validation and enum issues
1 parent 64b76f5 commit db45c94

3 files changed

Lines changed: 8 additions & 5 deletions

File tree

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,11 +239,11 @@ export default class ProjectsController {
239239
static async copyMaterialsToProject(req: Request, res: Response, next: NextFunction) {
240240
try {
241241
const { materialIds, destinationWbsNum } = req.body;
242-
const destinationWBS = validateWBS(destinationWbsNum as string);
242+
243243
const newMaterialIds = await BillOfMaterialsService.copyMaterialsToProject(
244244
req.currentUser,
245245
materialIds,
246-
destinationWBS,
246+
destinationWbsNum,
247247
req.organization
248248
);
249249
res.status(200).json(newMaterialIds);

src/backend/src/services/boms.services.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ export default class BillOfMaterialsService {
256256
const newMaterial = await tx.material.create({
257257
data: {
258258
name: material.name,
259-
status: 'NOT_READY_TO_ORDER',
259+
status: Material_Status.NOT_READY_TO_ORDER,
260260
materialTypeId: material.materialTypeId,
261261
manufacturerId: material.manufacturerId,
262262
manufacturerPartNumber: material.manufacturerPartNumber,

src/backend/src/utils/validation.utils.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Design_Review_Status, Graph_Display_Type, Graph_Type, Measure, Special_Permission } from '@prisma/client';
22
import { Request, Response } from 'express';
33
import { body, query, ValidationChain, validationResult } from 'express-validator';
4-
import { MaterialStatus, TaskPriority, TaskStatus, WorkPackageStage, RoleEnum, WbsElementStatus } from 'shared';
4+
import { MaterialStatus, TaskPriority, TaskStatus, WorkPackageStage, RoleEnum, WbsElementStatus, validateWBS } from 'shared';
55

66
export const intMinZero = (validationObject: ValidationChain): ValidationChain => {
77
return validationObject.isInt({ min: 0 }).not().isString();
@@ -212,7 +212,10 @@ export const materialValidators = [
212212
export const copyMaterialsValidators = [
213213
body('materialIds').isArray({ min: 1 }),
214214
body('materialIds.*').isString().notEmpty(),
215-
nonEmptyString(body('destinationWbsNum'))
215+
body('destinationWbsNum').custom((value) => {
216+
validateWBS(value);
217+
return true;
218+
})
216219
];
217220
export const validateInputs = (req: Request, res: Response, next: Function): void => {
218221
const errors = validationResult(req);

0 commit comments

Comments
 (0)