79 lines
2.4 KiB
JavaScript
79 lines
2.4 KiB
JavaScript
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,
|
|
};
|