Files
TriggerBackend/commands/messageData.cjs

72 lines
1.9 KiB
JavaScript

const { pool } = require("../triggerBackend.cjs");
const escapeString = require("sql-escape-string");
const getMessages = async (_req, res) => {
const conn = await pool.getConnection();
const query = "SELECT * FROM trigger_database.messages;";
conn.query(query).then((rows) => {
res.status(200).send(rows);
});
conn.end();
};
const getDisplayedGreeting = async (_req, res) => {
const conn = await pool.getConnection();
const query =
"SELECT * FROM trigger_database.messages WHERE customGreeting = 1 ORDER BY RAND() LIMIT 1;";
conn.query(query).then((rows) => {
res.status(200).send(rows);
});
conn.end();
};
const createMessage = async (req, res) => {
const conn = await pool.getConnection();
const query = `INSERT INTO trigger_database.messages (message) VALUES (${escapeString(req.body.message)});`;
conn
.query(query)
.then((_rows) => {
res.status(200).send({ status: "success" });
})
.catch((err) => {
res.status(500).send({ error: err });
});
conn.end();
};
const updateMessage = async (req, res) => {
const conn = await pool.getConnection();
const query = `UPDATE trigger_database.messages SET message = ${escapeString(req.body.message)}, customGreeting = ${req.body.customGreeting} 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 deleteMessage = async (req, res) => {
const conn = await pool.getConnection();
const query = `DELETE FROM trigger_database.messages 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 = {
getMessages,
getDisplayedGreeting,
createMessage,
updateMessage,
deleteMessage,
};