added support for integrated rank changes
All checks were successful
Pull Request CI / Merge Check (pull_request) Successful in 3m27s

This commit is contained in:
2026-03-02 20:30:01 -05:00
parent a988545dda
commit adc9da6a40
5 changed files with 78 additions and 8 deletions

View File

@@ -11,6 +11,7 @@ import { Unit } from '@app/shared/types/units';
import { MemberState } from '@app/shared/types/member';
import { assignNewUnit } from '../services/db/unitService';
import { audit } from '../services/logging/auditLog';
import { forceInsertMemberRank, insertMemberRank } from '../services/db/rankService';
unitsRouter.use(requireLogin);
@@ -35,6 +36,7 @@ unitsRouter.get('/', async (req, res) => {
memberUnitsRouter.post('/admin', [requireMemberState(MemberState.Member), requireRole("17th Administrator")], async (req: Request, res: Response) => {
const memberId = Number(req.query.memberId);
const unitId = Number(req.query.unitId);
const rankId = Number(req.query.rankId);
const reason = req.query.reason as string;
try {
@@ -44,12 +46,14 @@ memberUnitsRouter.post('/admin', [requireMemberState(MemberState.Member), requir
}
await assignNewUnit(memberId, unitId, req.user.id, req.user.id, reason);
await forceInsertMemberRank(memberId, rankId, req.user.id, req.user.id, reason);
logger.info('app', 'Member force assigned unit', {
member: memberId,
unit: unitId,
rank: rankId,
caller: req.user.id,
});
audit.member('update_unit', { actorId: req.user.id, targetId: memberId }, { unit: unitId, reason: reason });
audit.member('update_unit', { actorId: req.user.id, targetId: memberId }, { unit: unitId, rank: rankId, reason: reason });
res.sendStatus(200);
} catch (error) {