Possibilité d'avoir une clé API Globale par famille
This commit is contained in:
@@ -2279,4 +2279,22 @@ db.exec('CREATE INDEX IF NOT EXISTS idx_api_keys_user ON api_keys(user_id)');
|
||||
db.exec('CREATE INDEX IF NOT EXISTS idx_api_keys_inv ON api_keys(investisseur_id)');
|
||||
db.exec('CREATE INDEX IF NOT EXISTS idx_api_keys_hash ON api_keys(key_hash)');
|
||||
|
||||
// ── Migration : clés API à scope "Famille et entreprises" ───────────────
|
||||
// Une clé peut désormais couvrir tous les investisseurs du foyer plutôt
|
||||
// qu'un seul (agrégation, en miroir du scope=all déjà utilisé par le
|
||||
// frontend JWT). `investisseur_id` reste NOT NULL pour ne pas toucher à la
|
||||
// contrainte existante : quand scope_all=1, la route de création force
|
||||
// investisseur_id à pointer vers l'investisseur principal (ancrage FK),
|
||||
// mais les routes /api/v1/* ignorent alors cette valeur au profit d'un
|
||||
// filtre "tous les investisseurs de ce user_id" — voir apiKey.js et
|
||||
// routes/v1/*.js. Seul le profil principal peut créer une clé scope_all=1
|
||||
// (enforcement côté serveur dans routes/apiKeys.js, pas seulement l'UI).
|
||||
{
|
||||
const cols = db.prepare('PRAGMA table_info(api_keys)').all().map(c => c.name);
|
||||
if (!cols.includes('scope_all')) {
|
||||
db.exec('ALTER TABLE api_keys ADD COLUMN scope_all INTEGER NOT NULL DEFAULT 0');
|
||||
console.log('[DB] api_keys: colonne scope_all ajoutée');
|
||||
}
|
||||
}
|
||||
|
||||
export default db;
|
||||
|
||||
Reference in New Issue
Block a user