const express = require("express") const router = express.Router() const { requireAuth } = require('./../../middleware/authmiddleware') const items = require('./../../model/item.js') const bodyParser = require('body-parser') const fs = require('fs') const path = require("path"); router.use(bodyParser.json()) router.post("/", requireAuth,async (req, res) => { let {itemid} = req.body if (typeof itemid == "undefined"){ return res.json({status: 'error', error: "itemid not sent!"}) } itemid = parseInt(itemid) if (req.userdocument.admin == false && req.userdocument?.ugcpermission == false) { return res.redirect('/') } const item = await items.findOne({ItemId: itemid}) if (item.Creator != req.userdocument.userid && req.userdocument.admin === false){ // basically we want ugc uploaders to be able to delete there own items but not other peoples items return res.json({status: 'error', error: "You don't own this item!"}) } try{ items.updateOne({ItemId: itemid}, { $set: { Hidden: true } }, function(err, doc) { //console.log(err) }) // delete the item from our servers fs.unlink(path.resolve(path.resolve(__dirname, "../../assets/ugc/itemfile-"+itemid+".rbxm")), (err => { if (err) console.log(err) })); }catch(err){ console.log(err) } return res.json({status: 'success'}) }) router.post("/queue", requireAuth,async (req, res) => { const {action,itemid} = req.body if (typeof action == "undefined"){ return res.json("Send Action Please") } if (typeof itemid == "undefined"){ return res.json("Send Itemid Please") } if (req.userdocument.admin == false) { return res.redirect('/') } const item = await items.findOne({ItemId: itemid}) if (!item){ return res.json({status: "error", error: "Send Itemid Please"}) } console.log(action) if (action === "deny"){ item.Hidden = true item.denied = true item.markModified("Hidden") item.markModified("denied") await item.save() fs.unlink(path.resolve(path.resolve(__dirname, "../../assets/ugc/itemfile-"+itemid+".rbxm")), (err => { if (err) console.log(err) })); } if (action === "approve"){ item.approved = true item.markModified("approved") await item.save() if (item.Type === "Shirts" || item.Type === "Pants"){ // we also have to approve the associated image const image = await items.findOne({ItemId: parseInt(itemid)-1}) image.approved = true image.markModified("approved") await image.save() } } // finish this LMAO pretty ez tho return res.json({status: "success", message: "Done!"}) }) module.exports = router