{ prefix: '/api/price', upstream: SERVICE_BASE_URLS.price, name: 'price-service' },
{ prefix: '/api/pairs', upstream: SERVICE_BASE_URLS.price, name: 'price-service' },
{ prefix: '/api/strategy', upstream: SERVICE_BASE_URLS.strategy, name: 'strategy-service' },
+ { prefix: '/api/signal', upstream: SERVICE_BASE_URLS.strategy, name: 'strategy-service' },
].sort((a, b) => b.prefix.length - a.prefix.length);
const PROXY_TIMEOUT_MS = 5000;
// On vérifie si l'utilisateur a déjà une configuration pour cette paire
const checkSql = `SELECT user_strategy_id FROM user_strategies WHERE user_id = ? AND pair_id = ?`;
- const [rows] = await db.query(checkSql, [userId, pairId]); // ⚠️ Remplace 'db' par le nom de ta variable de connexion (souvent 'pool' ou 'db')
+ const [rows] = await pool.query(checkSql, [userId, pairId]); // ⚠️ Remplace 'db' par le nom de ta variable de connexion (souvent 'pool' ou 'db')
if (rows.length > 0) {
// MISE À JOUR : La stratégie existe, on l'écrase avec le nouveau mode
SET mode = ?, params = ?, strategy_key = ?, is_active = 1, updated_at_ms = ?
WHERE user_id = ? AND pair_id = ?
`;
- await db.query(updateSql, [mode, params, strategyKey, now, userId, pairId]);
+ await pool.query(updateSql, [mode, params, strategyKey, now, userId, pairId]);
return { action: 'updated', user_id: userId, pair_id: pairId, mode };
} else {
// CRÉATION : C'est la première fois qu'il configure cette paire
(user_strategy_id, user_id, pair_id, strategy_key, mode, params, is_active, created_at_ms, updated_at_ms)
VALUES (UUID(), ?, ?, ?, ?, ?, 1, ?, ?)
`;
- await db.query(insertSql, [userId, pairId, strategyKey, mode, params, now, now]);
+ await pool.query(insertSql, [userId, pairId, strategyKey, mode, params, now, now]);
return { action: 'created', user_id: userId, pair_id: pairId, mode };
}
}