1+ import mongoose from "mongoose" ;
12import {
23 createFaculty ,
34 facultyList ,
45 deleteFacultyById ,
56 updateFacultyById ,
67} from "#services/faculty" ;
8+ import {
9+ createEmployeeBank ,
10+ // employeeBankList,
11+ // deleteEmployeeBankById,
12+ // updateEmployeeBankById,
13+ } from "#services/employee/empBank" ;
14+ import {
15+ addNewEmployeeCurrent ,
16+ // getEmployeeCurrent,
17+ // deleteEmployeeCurrentById,
18+ // updateEmployeeCurrentById,
19+ } from "#services/employee/empCurrentDetail" ;
20+ import {
21+ createEmployeeEducationHistory ,
22+ // employeeEducationHistoryList,
23+ // deleteEmployeeEducationHistoryById,
24+ // updateEmployeeEducationHistoryById,
25+ } from "#services/employee/empEduHistory" ;
26+ import {
27+ addNewEmployeePersonal ,
28+ // getEmployeePersonal,
29+ // deleteEmployeePersonalById,
30+ // updateEmployeePersonalById,
31+ } from "#services/employee/empPersonal" ;
732import { logger } from "#util" ;
833
934async function addFaculty ( req , res ) {
@@ -23,7 +48,13 @@ async function addFaculty(req, res) {
2348 designation,
2449 natureOfAssociation,
2550 additionalResponsibilities,
51+ employeePersonalDetails,
52+ employeeBankDetails,
53+ employeeCurrentDetails,
54+ employeeEducationDetails,
2655 } = req . body ;
56+ const session = await mongoose . startSession ( ) ;
57+ session . startTransaction ( ) ;
2758 try {
2859 const newFaculty = await createFaculty (
2960 ERPID ,
@@ -41,9 +72,23 @@ async function addFaculty(req, res) {
4172 designation ,
4273 natureOfAssociation ,
4374 additionalResponsibilities ,
75+ session ,
4476 ) ;
45- res . json ( { res : `added faculty ${ newFaculty . ERPID } ` } ) ;
77+ await Promise . all ( [
78+ addNewEmployeePersonal ( employeePersonalDetails , session ) ,
79+ createEmployeeEducationHistory ( employeeEducationDetails , session ) ,
80+ addNewEmployeeCurrent ( employeeCurrentDetails , session ) ,
81+ createEmployeeBank ( employeeBankDetails , session ) ,
82+ ] ) ;
83+ res . json ( {
84+ res : `added faculty ${ newFaculty . ERPID } ` ,
85+ id : newFaculty . ERPID ,
86+ } ) ;
87+ await session . commitTransaction ( ) ;
88+ session . endSession ( ) ;
4689 } catch ( error ) {
90+ await session . abortTransaction ( ) ;
91+ session . endSession ( ) ;
4792 logger . error ( "Error while inserting" , error ) ;
4893 res . status ( 500 ) ;
4994 res . json ( { err : "Error while inserting in DB" } ) ;
0 commit comments