Image uploads

This commit is contained in:
Sean Edmunds
2025-06-19 13:05:37 -05:00
parent f777374e78
commit 1fccfb43ed
3 changed files with 202 additions and 1 deletions

View File

@@ -6,6 +6,8 @@ const wol = require("wol");
const mariadb = require("mariadb");
const bodyParser = require("body-parser");
const escapeString = require("sql-escape-string");
const multer = require("multer");
const { exec } = require('child_process');
const pool = mariadb.createPool({
host: process.env.DB_HOST,
@@ -23,8 +25,20 @@ const corsOptions = {
credentials: true,
};
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "../TriggerFrontend/dist/backgrounds/");
},
filename: function (req, file, cb) {
cb(null, file.originalname);
},
});
const uploads = multer({ storage: storage });
app.use(cors(corsOptions));
app.use(bodyParser.json());
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
//////////////////////////////////////////////
// Personal Data //
@@ -521,6 +535,19 @@ app.get("/trigger/api/backgrounds", async (req, res) => {
});
});
app.post("/trigger/api/backgrounds", uploads.single("background"), async (req, res) => {
const image = req.file.path;
exec(`convert ${image} -define jpeg:extent=300kb ${image}`)
res.status(200).send({ status: "success", statusText: image });
})
app.delete("/trigger/api/backgrounds", async (req, res) => {
fs.rm("../TriggerFrontend/dist/backgrounds/" + req.body.background, (err) => {
res.status(200).send({ status: "success" });
})
})
//////////////////////////////////////////////
// Wake on LAN Clients //
//////////////////////////////////////////////