fix: JSON parsing for user roles and offline counting sync

This commit is contained in:
2026-06-12 10:53:14 +03:30
parent cc85a78e45
commit aabcea3aeb
2 changed files with 12 additions and 2 deletions
+6 -1
View File
@@ -24,7 +24,12 @@ export async function POST(req) {
return Response.json({ error: 'رمز عبور اشتباه است.' }, { status: 401 });
}
let userRoles = Array.isArray(user.roles) ? user.roles : (user.role === 'ADMIN' ? ['ADMIN'] : ['COUNTER']);
let parsedRoles = user.roles;
if (typeof parsedRoles === 'string') {
try { parsedRoles = JSON.parse(parsedRoles); } catch (e) { parsedRoles = null; }
}
let userRoles = Array.isArray(parsedRoles) ? parsedRoles : (user.role === 'ADMIN' ? ['ADMIN'] : ['COUNTER']);
const token = signToken({ id: user.id, username: user.username, name: user.name, orgId: user.orgId, roles: userRoles, role: user.role });