ваше сообщение коммита

This commit is contained in:
2025-05-20 14:32:03 +03:00
parent d79aab9352
commit 7ccd08b172
22 changed files with 677 additions and 551 deletions

View File

@@ -0,0 +1,31 @@
const db = require('../db');
async function getAllRpcProviders() {
const { rows } = await db.query('SELECT * FROM rpc_providers ORDER BY id');
return rows;
}
async function saveAllRpcProviders(rpcConfigs) {
await db.query('DELETE FROM rpc_providers');
for (const cfg of rpcConfigs) {
await db.query(
'INSERT INTO rpc_providers (network_id, rpc_url, chain_id) VALUES ($1, $2, $3)',
[cfg.networkId, cfg.rpcUrl, cfg.chainId || null]
);
}
}
async function upsertRpcProvider(cfg) {
await db.query(
`INSERT INTO rpc_providers (network_id, rpc_url, chain_id)
VALUES ($1, $2, $3)
ON CONFLICT (network_id) DO UPDATE SET rpc_url=EXCLUDED.rpc_url, chain_id=EXCLUDED.chain_id`,
[cfg.networkId, cfg.rpcUrl, cfg.chainId || null]
);
}
async function deleteRpcProvider(networkId) {
await db.query('DELETE FROM rpc_providers WHERE network_id = $1', [networkId]);
}
module.exports = { getAllRpcProviders, saveAllRpcProviders, upsertRpcProvider, deleteRpcProvider };