Merge pull request 'cleaned up db resource leaks' (#96) from db-resource-leak-fix into main
All checks were successful
Continuous Integration / Update Development (push) Successful in 2m25s
All checks were successful
Continuous Integration / Update Development (push) Successful in 2m25s
Reviewed-on: #96
This commit was merged in pull request #96.
This commit is contained in:
@@ -207,8 +207,9 @@ router.post('/:id/comment', [requireLogin], async (req: Request, res: Response)
|
||||
)
|
||||
VALUES(?, ?, ?);`
|
||||
|
||||
|
||||
try {
|
||||
const conn = await pool.getConnection();
|
||||
var conn = await pool.getConnection();
|
||||
|
||||
const result = await conn.query(sql, [appID, user.id, data])
|
||||
console.log(result)
|
||||
@@ -232,6 +233,8 @@ VALUES(?, ?, ?);`
|
||||
} catch (err) {
|
||||
console.error('Comment failed:', err);
|
||||
res.status(500).json({ error: 'Could not post comment' });
|
||||
} finally {
|
||||
conn.release();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -252,7 +255,7 @@ router.post('/:id/adminComment', [requireLogin, requireRole("Recruiter")], async
|
||||
VALUES(?, ?, ?, 1);`
|
||||
|
||||
try {
|
||||
const conn = await pool.getConnection();
|
||||
var conn = await pool.getConnection();
|
||||
|
||||
const result = await conn.query(sql, [appID, user.id, data])
|
||||
console.log(result)
|
||||
@@ -277,6 +280,8 @@ VALUES(?, ?, ?, 1);`
|
||||
} catch (err) {
|
||||
console.error('Comment failed:', err);
|
||||
res.status(500).json({ error: 'Could not post comment' });
|
||||
} finally {
|
||||
conn.release();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -34,8 +34,9 @@ passport.use(new OpenIDConnectStrategy({
|
||||
// console.log('id_token claims:', JSON.stringify(jwtClaims, null, 2));
|
||||
// console.log('preferred_username:', jwtClaims?.preferred_username);
|
||||
|
||||
const con = await pool.getConnection();
|
||||
try {
|
||||
var con = await pool.getConnection();
|
||||
|
||||
await con.beginTransaction();
|
||||
|
||||
//lookup existing user
|
||||
@@ -111,10 +112,11 @@ passport.deserializeUser(function (user, cb) {
|
||||
|
||||
const memberID = user.memberId as number;
|
||||
|
||||
const con = await pool.getConnection();
|
||||
|
||||
var userData: { id: number, name: string, roles: Role[], state: MemberState };
|
||||
try {
|
||||
var con = await pool.getConnection();
|
||||
|
||||
let userResults = await con.query(`SELECT id, name FROM members WHERE id = ?;`, [memberID])
|
||||
userData = userResults[0];
|
||||
let userRoles = await getUserRoles(memberID);
|
||||
|
||||
@@ -45,7 +45,7 @@ ur.delete('/', [requireMemberState(MemberState.Member), requireRole("17th Admini
|
||||
//get all roles
|
||||
r.get('/', [requireMemberState(MemberState.Member)], async (req, res) => {
|
||||
try {
|
||||
const con = await pool.getConnection();
|
||||
var con = await pool.getConnection();
|
||||
|
||||
// Get all roles
|
||||
const roles = await con.query('SELECT * FROM roles;');
|
||||
@@ -73,11 +73,12 @@ r.get('/', [requireMemberState(MemberState.Member)], async (req, res) => {
|
||||
members: roleIdToMembers[role.id] || []
|
||||
}));
|
||||
|
||||
con.release();
|
||||
res.json(result);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
res.status(500).json({ error: 'Internal server error' });
|
||||
} finally {
|
||||
con.release();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -79,9 +79,9 @@ export async function getCourseEventDetails(id: number): Promise<CourseEventDeta
|
||||
}
|
||||
|
||||
export async function insertCourseEvent(event: CourseEventDetails): Promise<number> {
|
||||
console.log(event);
|
||||
const con = await pool.getConnection();
|
||||
try {
|
||||
var con = await pool.getConnection();
|
||||
|
||||
await con.beginTransaction();
|
||||
const res = await con.query("INSERT INTO course_events (course_id, event_date, remarks, created_by) VALUES (?, ?, ?, ?);", [event.course_id, toDateTime(event.event_date), event.remarks, event.created_by]);
|
||||
var eventID: number = res.insertId;
|
||||
@@ -98,12 +98,12 @@ export async function insertCourseEvent(event: CourseEventDetails): Promise<numb
|
||||
VALUES (?, ?, ?, ?, ?, ?);`, [attendee.attendee_id, eventID, attendee.attendee_role_id, attendee.passed_bookwork, attendee.passed_qual, attendee.remarks]);
|
||||
}
|
||||
await con.commit();
|
||||
await con.release();
|
||||
return Number(eventID);
|
||||
} catch (error) {
|
||||
await con.rollback();
|
||||
await con.release();
|
||||
if (con) await con.rollback();
|
||||
throw error;
|
||||
} finally {
|
||||
if (con) await con.release();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user