const { pool } = require("../triggerBackend.cjs"); const escapeString = require("sql-escape-string"); const getProviders = async (_req, res) => { const conn = await pool.getConnection(); const query = "SELECT * FROM trigger_database.providers;"; conn.query(query).then((rows) => { res.status(200).send(rows); }); conn.end(); }; const getDefaultProvider = async (_req, res) => { const conn = await pool.getConnection(); const query = `SELECT * FROM trigger_database.providers WHERE \`default\` = 1;`; conn.query(query).then((rows) => { res.status(200).send(rows); }); conn.end(); }; const createProvider = async (req, res) => { const conn = await pool.getConnection(); if (req.body.default === true || req.body.default === 1) { const query = `UPDATE trigger_database.providers SET \`default\` = 0;`; conn.query(query); } const query = `INSERT INTO trigger_database.providers (name, url, prefix, \`default\`, icon) VALUES (${escapeString(req.body.name)}, ${escapeString(req.body.url)}, ${escapeString(req.body.prefix)}, ${req.body.default ? 1 : 0}, ${escapeString(req.body.icon)});`; conn .query(query) .then((_rows) => { res.status(200).send({ status: "success" }); }) .catch((err) => { res.status(500).send({ error: err }); }); conn.end(); }; const updateProvider = async (req, res) => { const conn = await pool.getConnection(); if (req.body.default === true || req.body.default === 1) { const query = `UPDATE trigger_database.providers SET \`default\` = 0;`; conn.query(query); } const query = `UPDATE trigger_database.providers SET name = ${escapeString(req.body.name)}, url = ${escapeString(req.body.url)}, prefix = ${escapeString(req.body.prefix)}, \`default\` = ${req.body.default}, icon = ${escapeString(req.body.icon)} WHERE id = ${req.body.id}`; conn .query(query) .then((_rows) => { res.status(200).send({ status: "success" }); }) .catch((err) => { res.status(500).send({ error: err }); }); conn.end(); }; const deleteProvider = async (req, res) => { const conn = await pool.getConnection(); const query = `DELETE FROM trigger_database.providers WHERE id = ${req.body.id}`; conn .query(query) .then((_rows) => { res.status(200).send({ status: "success" }); }) .catch((err) => { res.status(500).send({ error: err }); }); conn.end(); }; module.exports = { getProviders, getDefaultProvider, createProvider, updateProvider, deleteProvider, };