All files / src/helpers groupScope.js

0% Statements 0/6
0% Branches 0/3
0% Functions 0/1
0% Lines 0/5

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 };