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) { async function checkAdminAccess(adminId, requiredPermission) {
if (!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) return await adminRepository.hasPermission(adminId, requiredPermission)
@ -30,7 +30,7 @@ async function checkAdminAccess(adminId, requiredPermission) {
async function changeAdminPassword(adminId, newPlainPassword) { async function changeAdminPassword(adminId, newPlainPassword) {
if (!newPlainPassword || newPlainPassword.length < 8) { 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) const hashed = await bcrypt.hash(newPlainPassword, 10)
@ -40,7 +40,7 @@ async function changeAdminPassword(adminId, newPlainPassword) {
async function getAdminProfile(adminId) { async function getAdminProfile(adminId) {
const admin = await adminRepository.getAdminById(adminId) const admin = await adminRepository.getAdminById(adminId)
if (!admin) { if (!admin) {
throw new DefaultError(404, "Administrateur introuvable.") throw new DefaultError(404, "Administrator not found.")
} }
const permissions = await adminRepository.getAdminPermissions(adminId) const permissions = await adminRepository.getAdminPermissions(adminId)
@ -105,6 +105,7 @@ function hasPermission(requiredPermission) {
throw new DefaultError(403, "Invalid token.") throw new DefaultError(403, "Invalid token.")
} }
console.log(decoded, requiredPermission)
const hasAccess = await checkAdminAccess(decoded.id, requiredPermission) const hasAccess = await checkAdminAccess(decoded.id, requiredPermission)
if (!hasAccess) { if (!hasAccess) {
throw new DefaultError(403, `Missing permission : ${requiredPermission}`) throw new DefaultError(403, `Missing permission : ${requiredPermission}`)