23 lines
822 B
JavaScript
23 lines
822 B
JavaScript
import db from '../db.js';
|
|
|
|
class ProxyService {
|
|
async add(proto, host, port, username, password) {
|
|
await db.query("INSERT INTO proxies (proto, host, port, username, password) VALUES ($1, $2, $3, $4, $5)", [proto, host, port, username, password]);
|
|
}
|
|
|
|
async take() {
|
|
let proxy = (await db.query("UPDATE proxies SET claimed = TRUE WHERE id = ( SELECT id FROM proxies WHERE claimed = FALSE ORDER BY id LIMIT 1 ) RETURNING proto, host, port, username, password")).rows[0]
|
|
if (proxy == undefined) return undefined;
|
|
return proxy;
|
|
}
|
|
|
|
async give_back(id) {
|
|
await db.query("UPDATE proxies SET claimed = false WHERE id = $1", [id]);
|
|
}
|
|
|
|
async delete(id) {
|
|
await db.query("DELETE FRM proxies WHERE id = $1", [id]);
|
|
}
|
|
}
|
|
|
|
export default new ProxyService(); |