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 {
|
try {
|
||||||
const body = req.body;
|
const body = req.body;
|
||||||
|
|
||||||
assignUserGroup(body.member_id, body.role_id);
|
await assignUserGroup(body.member_id, body.role_id);
|
||||||
|
|
||||||
res.sendStatus(201);
|
res.sendStatus(201);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
if (err?.code === 'ER_DUP_ENTRY') {
|
||||||
|
return res.status(400).json({
|
||||||
|
error: 'Member already has this role',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
console.error('Insert failed:', err);
|
console.error('Insert failed:', err);
|
||||||
res.status(500).json({ error: 'Failed to add to group' });
|
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'
|
import { Role, RoleSummary } from '@app/shared/types/roles'
|
||||||
|
|
||||||
export async function assignUserGroup(userID: number, roleID: number) {
|
export async function assignUserGroup(userID: number, roleID: number) {
|
||||||
|
|
||||||
const sql = `INSERT INTO members_roles (member_id, role_id) VALUES (?, ?);`;
|
const sql = `INSERT INTO members_roles (member_id, role_id) VALUES (?, ?);`;
|
||||||
const params = [userID, roleID];
|
const params = [userID, roleID];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user