galleria_photo_face_rknn_op.../middleware/faceReviewUser.js
2026-10-03 12:16:58 +02:00

55 lines
957 B
JavaScript

function createHttpError(status, message) {
const error = new Error(message);
error.status = status;
return error;
}
function getAuthenticatedUser(req) {
const user = String(
req.user?.name || '',
).trim();
if (!user) {
throw createHttpError(
401,
'Utente autenticato non disponibile',
);
}
return user;
}
function isFaceReviewAdmin(req) {
return getAuthenticatedUser(req) === 'Admin';
}
function resolveFaceReviewUser(req) {
const authenticatedUser =
getAuthenticatedUser(req);
const requestedUser = String(
req.query?.user
?? req.body?.user
?? '',
).trim();
if (!requestedUser) {
return authenticatedUser;
}
if (!isFaceReviewAdmin(req)) {
throw createHttpError(
403,
'Selezione utente non autorizzata',
);
}
return requestedUser;
}
module.exports = {
createHttpError,
getAuthenticatedUser,
isFaceReviewAdmin,
resolveFaceReviewUser,
};