@@ -14,6 +14,7 @@ import {
1414} from '../utils/errors.utils' ;
1515import {
1616 addDescriptionBullets ,
17+ checkMaterialInputs ,
1718 editDescriptionBullets ,
1819 getHighestProjectNumber ,
1920 getUserFullName
@@ -656,25 +657,7 @@ export default class ProjectsService {
656657
657658 if ( ! project ) throw new NotFoundException ( 'Project' , wbsPipe ( wbsNumber ) ) ;
658659
659- if ( assemblyId ) {
660- const assembly = await prisma . assembly . findFirst ( { where : { assemblyId } } ) ;
661- if ( ! assembly ) throw new NotFoundException ( 'Assembly' , assemblyId ) ;
662- }
663-
664- const materialType = await prisma . material_Type . findFirst ( {
665- where : { name : materialTypeName }
666- } ) ;
667- if ( ! materialType ) throw new NotFoundException ( 'Material Type' , materialTypeName ) ;
668-
669- const manufacturer = await prisma . manufacturer . findFirst ( {
670- where : { name : manufacturerName }
671- } ) ;
672- if ( ! manufacturer ) throw new NotFoundException ( 'Manufacturer' , manufacturerName ) ;
673-
674- const unit = await prisma . unit . findFirst ( {
675- where : { name : unitName }
676- } ) ;
677- if ( ! unit ) throw new NotFoundException ( 'Unit' , unitName ) ;
660+ await checkMaterialInputs ( manufacturerName , unitName , assemblyId , materialTypeName ) ;
678661
679662 const perms = isLeadership ( creator . role ) || isUserPartOfTeams ( project . teams , creator ) ;
680663
@@ -884,6 +867,8 @@ export default class ProjectsService {
884867 if ( ! project ) throw new NotFoundException ( 'Project' , material . wbsElementId ) ;
885868 if ( project . wbsElement . dateDeleted ) throw new DeletedException ( 'Project' , project . projectId ) ;
886869
870+ await checkMaterialInputs ( manufacturerName , unitName , assemblyId ) ;
871+
887872 const perms = isLeadership ( submitter . role ) || isUserPartOfTeams ( project . teams , submitter ) ;
888873
889874 if ( ! perms ) throw new AccessDeniedException ( 'update material' ) ;
@@ -902,8 +887,8 @@ export default class ProjectsService {
902887 linkUrl,
903888 notes,
904889 wbsElementId : project . wbsElementId ,
905- assemblyId : assemblyId || undefined ,
906- pdmFileName : pdmFileName || undefined
890+ assemblyId : assemblyId ,
891+ pdmFileName : pdmFileName
907892 }
908893 } ) ;
909894
0 commit comments