cleaned up db resource leaks

This commit is contained in:
2025-12-14 16:53:40 -05:00
parent 81ae9ebea1
commit 011439fb19
4 changed files with 19 additions and 11 deletions

View File

@@ -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();
}
});

View File

@@ -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);

View File

@@ -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();
}
});