From 69a86b5a140e6b6dd2bc4fa4ce0069a77c8d6c6a Mon Sep 17 00:00:00 2001 From: rift <117926989+Riftriot@users.noreply.github.com> Date: Tue, 20 Aug 2024 23:47:46 -0500 Subject: [PATCH] Add video, style, and script storage --- server.js | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/server.js b/server.js index b34ed9c..1ea09ad 100644 --- a/server.js +++ b/server.js @@ -44,7 +44,37 @@ var image_storage = multer.diskStorage({ }, }); +var video_storage = multer.diskStorage({ + destination: function (req, file, cb) { + cb(null, "database_assets/video"); + }, + filename: function (req, file, cb) { + cb(null, file.originalname); //Appending extension + }, +}); + +var style_storage = multer.diskStorage({ + destination: function (req, file, cb) { + cb(null, "database_assets/styles"); + }, + filename: function (req, file, cb) { + cb(null, file.originalname); //Appending extension + }, +}); + +var script_storage = multer.diskStorage({ + destination: function (req, file, cb) { + cb(null, "database_assets/scripts"); + }, + filename: function (req, file, cb) { + cb(null, file.originalname); //Appending extension + }, +}); + var image_upload = multer({ storage: image_storage }); +var video_upload = multer({ storage: video_storage }); +var style_upload = multer({ storage: style_storage }); +var script_upload = multer({ storage: script_storage }); const catalog_assets = sequelize.define("catalog_assets", { package_name: { @@ -185,6 +215,60 @@ app.post( } ); +// This API is responsible for video uploads +// PSK authentication required. +app.post( + "/api/upload-video", + auth_psk, + video_upload.single("file"), + (req, res) => { + if (!req.file) { + return res.status(400).json({ error: "No file uploaded" }); + } + + res.json({ + message: "File uploaded successfully", + filename: req.file.originalname, + }); + } +); + +// This API is responsible for stylesheet uploads +// PSK authentication required. +app.post( + "/api/upload-style", + auth_psk, + style_upload.single("file"), + (req, res) => { + if (!req.file) { + return res.status(400).json({ error: "No file uploaded" }); + } + + res.json({ + message: "File uploaded successfully", + filename: req.file.originalname, + }); + } +); + +// This API is responsible for script/plugin uploads +// PSK authentication required. +app.post( + "/api/upload-script", + auth_psk, + script_upload.single("file"), + (req, res) => { + if (!req.file) { + return res.status(400).json({ error: "No file uploaded" }); + } + + res.json({ + message: "File uploaded successfully", + filename: req.file.originalname, + }); + } +); + app.use("/images/", express.static("./database_assets/image")); app.use("/videos/", express.static("./database_assets/video")); app.use("/styles/", express.static("./database_assets/styles"));