Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | /**
* Helper pour scoper les requetes SQL par group_id.
*
* En mode groupe (req.access defini), ajoute un filtre WHERE group_id = $N.
* En mode global (req.access null), pas de filtre supplementaire.
*
* @module helpers/groupScope
*/
/**
* Ajoute un filtre group_id a une requete SQL existante.
*
* @param {string} query — Requete SQL de base (doit deja avoir un WHERE)
* @param {Array} params — Parametres de la requete
* @param {object|null} access — req.access (contexte groupe)
* @param {string} [column='group_id'] — Nom de la colonne group_id (avec alias si besoin)
* @returns {{ query: string, params: Array }}
*/
function applyGroupScope(query, params, access, column = 'group_id') {
if (!access) return { query, params };
const paramIndex = params.length + 1;
const scopedQuery = query + ` AND ${column} = $${paramIndex}`;
return { query: scopedQuery, params: [...params, access.groupId] };
}
module.exports = { applyGroupScope };
|