@@ -128,6 +128,60 @@ export default class ProjectsController {
128128 }
129129 }
130130
131+ static async createAssembly ( req : Request , res : Response , next : NextFunction ) {
132+ try {
133+ const user : User = await getCurrentUser ( res ) ;
134+ const wbsNum : WbsNumber = validateWBS ( req . params . wbsNum ) ;
135+ const { name, pdmFileName } = req . body ;
136+ const createAssembly = await ProjectsService . createAssembly ( name , user , wbsNum , pdmFileName ) ;
137+ res . status ( 200 ) . json ( createAssembly ) ;
138+ } catch ( error : unknown ) {
139+ next ( error ) ;
140+ }
141+ }
142+
143+ static async createMaterial ( req : Request , res : Response , next : NextFunction ) {
144+ try {
145+ const {
146+ name,
147+ assemblyId,
148+ status,
149+ materialTypeName,
150+ manufacturerName,
151+ manufacturerPartNumber,
152+ pdmFileName,
153+ quantity,
154+ unitName,
155+ price,
156+ subtotal,
157+ linkUrl,
158+ notes
159+ } = req . body ;
160+ const creator = await getCurrentUser ( res ) ;
161+ const wbsNum = validateWBS ( req . params . wbsNum ) ;
162+ const material = await ProjectsService . createMaterial (
163+ creator ,
164+ name ,
165+ status ,
166+ materialTypeName ,
167+ manufacturerName ,
168+ manufacturerPartNumber ,
169+ quantity ,
170+ unitName ,
171+ price ,
172+ subtotal ,
173+ linkUrl ,
174+ notes ,
175+ wbsNum ,
176+ assemblyId ,
177+ pdmFileName
178+ ) ;
179+ return res . status ( 200 ) . json ( material ) ;
180+ } catch ( error : unknown ) {
181+ next ( error ) ;
182+ }
183+ }
184+
131185 static async createManufacturer ( req : Request , res : Response , next : NextFunction ) {
132186 try {
133187 const { name } = req . body ;
@@ -147,5 +201,16 @@ export default class ProjectsController {
147201 } catch ( error : unknown ) {
148202 next ( error ) ;
149203 }
204+ }
205+
206+ static async createMaterialType ( req : Request , res : Response , next : NextFunction ) {
207+ try {
208+ const { name } = req . body ;
209+ const user = await getCurrentUser ( res ) ;
210+ const createdMaterialType = await ProjectsService . createMaterialType ( name , user ) ;
211+ res . status ( 200 ) . json ( createdMaterialType ) ;
212+ } catch ( error : unknown ) {
213+ next ( error ) ;
214+ }
150215 }
151216}
0 commit comments