100 lines
2.9 KiB
JavaScript
100 lines
2.9 KiB
JavaScript
const { pool } = require("../triggerBackend.cjs");
|
|
const escapeString = require("sql-escape-string");
|
|
|
|
const getApplications = async (_req, res) => {
|
|
const conn = await pool.getConnection();
|
|
const query = "SELECT * FROM trigger_database.applications;";
|
|
conn.query(query).then((rows) => {
|
|
res.status(200).send(rows);
|
|
});
|
|
conn.end();
|
|
};
|
|
|
|
const getEnabledApplications = async (_req, res) => {
|
|
const conn = await pool.getConnection();
|
|
const query =
|
|
"SELECT * FROM trigger_database.applications WHERE enabled = 1;";
|
|
conn.query(query).then((rows) => {
|
|
res.status(200).send(rows);
|
|
});
|
|
conn.end();
|
|
};
|
|
|
|
const postApplication = async (req, res) => {
|
|
const conn = await pool.getConnection();
|
|
const query = `INSERT INTO trigger_database.applications (name, url, icon, baseUrl, filterName, enabled, \`index\`) VALUES (${escapeString(req.body.name)}, ${escapeString(req.body.url)}, ${escapeString(req.body.icon)}, ${escapeString(req.body.baseUrl)}, ${escapeString(req.body.filterName)}, ${req.body.enabled}, ${req.body.index});`;
|
|
conn
|
|
.query(query)
|
|
.then((_rows) => {
|
|
res.status(200).send({ status: "success" });
|
|
})
|
|
.catch((err) => {
|
|
res.status(500).send({ error: err });
|
|
});
|
|
conn.end();
|
|
};
|
|
|
|
const patchApplication = async (req, res) => {
|
|
const conn = await pool.getConnection();
|
|
const query = `UPDATE trigger_database.applications SET name = ${escapeString(req.body.name)}, url = ${escapeString(req.body.url)}, icon = ${escapeString(req.body.icon)}, baseUrl = ${escapeString(req.body.baseUrl)}, filterName = ${escapeString(req.body.filterName)}, enabled = ${req.body.enabled} 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 deleteApplication = async (req, res) => {
|
|
const conn = await pool.getConnection();
|
|
const query = `DELETE FROM trigger_database.applications 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 getAppCategories = async (_req, res) => {
|
|
const conn = await pool.getConnection();
|
|
const query =
|
|
"SELECT filterName FROM trigger_database.applications UNION SELECT filterName FROM trigger_database.bookmarkCategories;";
|
|
conn.query(query).then((rows) => {
|
|
res.status(200).send(rows);
|
|
});
|
|
conn.end();
|
|
};
|
|
|
|
const updateApplicationOrder = async (req, res) => {
|
|
const conn = await pool.getConnection();
|
|
req.body.map(async (link) => {
|
|
return conn
|
|
.query(
|
|
"UPDATE trigger_database.applications SET `index` = ? where id IN (?)",
|
|
[link.index, link.id],
|
|
)
|
|
.then((_rows) => {
|
|
res.status(200);
|
|
});
|
|
});
|
|
res.send({ status: "success" });
|
|
conn.end();
|
|
};
|
|
|
|
module.exports = {
|
|
getApplications,
|
|
getEnabledApplications,
|
|
postApplication,
|
|
patchApplication,
|
|
deleteApplication,
|
|
getAppCategories,
|
|
updateApplicationOrder,
|
|
};
|