Update adminService.js

This commit is contained in:
Gilles Lazures 2026-01-18 21:21:42 +01:00
parent 30a0ac3927
commit 487bd08141

View File

@ -17,12 +17,12 @@ async function registerAdmin(username, plainPassword, permissions = []) {
}
}
return { id: result.id, username, message: "Administrateur créé avec succès." }
return { id: result.id, username, message: "Administrator successfully created." }
}
async function checkAdminAccess(adminId, requiredPermission) {
if (!adminId || !requiredPermission) {
throw new DefaultError(400, "ID administrateur ou permission manquante.")
throw new DefaultError(400, "Administrator ID or permission missing.")
}
return await adminRepository.hasPermission(adminId, requiredPermission)
@ -30,7 +30,7 @@ async function checkAdminAccess(adminId, requiredPermission) {
async function changeAdminPassword(adminId, newPlainPassword) {
if (!newPlainPassword || newPlainPassword.length < 8) {
throw new DefaultError(400, "Le mot de passe doit contenir au moins 6 caractères.")
throw new DefaultError(400, "The password must contain at least 8 characters.")
}
const hashed = await bcrypt.hash(newPlainPassword, 10)
@ -40,7 +40,7 @@ async function changeAdminPassword(adminId, newPlainPassword) {
async function getAdminProfile(adminId) {
const admin = await adminRepository.getAdminById(adminId)
if (!admin) {
throw new DefaultError(404, "Administrateur introuvable.")
throw new DefaultError(404, "Administrator not found.")
}
const permissions = await adminRepository.getAdminPermissions(adminId)
@ -105,6 +105,7 @@ function hasPermission(requiredPermission) {
throw new DefaultError(403, "Invalid token.")
}
console.log(decoded, requiredPermission)
const hasAccess = await checkAdminAccess(decoded.id, requiredPermission)
if (!hasAccess) {
throw new DefaultError(403, `Missing permission : ${requiredPermission}`)