Upgraded handling of duplicate member roles Close #56
This commit is contained in:
@@ -16,10 +16,16 @@ ur.post('/', [requireMemberState(MemberState.Member), requireRole("17th Administ
|
||||
try {
|
||||
const body = req.body;
|
||||
|
||||
assignUserGroup(body.member_id, body.role_id);
|
||||
await assignUserGroup(body.member_id, body.role_id);
|
||||
|
||||
res.sendStatus(201);
|
||||
} catch (err) {
|
||||
if (err?.code === 'ER_DUP_ENTRY') {
|
||||
return res.status(400).json({
|
||||
error: 'Member already has this role',
|
||||
});
|
||||
}
|
||||
|
||||
console.error('Insert failed:', err);
|
||||
res.status(500).json({ error: 'Failed to add to group' });
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ import pool from '../db';
|
||||
import { Role, RoleSummary } from '@app/shared/types/roles'
|
||||
|
||||
export async function assignUserGroup(userID: number, roleID: number) {
|
||||
|
||||
const sql = `INSERT INTO members_roles (member_id, role_id) VALUES (?, ?);`;
|
||||
const params = [userID, roleID];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user