parent
43209070cd
commit
e16c429aa6
@ -0,0 +1,46 @@ |
||||
module.exports = (app, router) => { |
||||
const Anime = app.db.models.ani.series; |
||||
|
||||
const editCheck = (series, req, res) => { |
||||
if (!series) {res.status(400).send("A series with that ID doesn't exist!"); return 0;} |
||||
if (series.meta.locked) {res.status(401).send("This series has been locked. Nobody can edit it unless it has been unlocked. Please contact API admin to have it unlocked if you believe there is erroneous information."); return 0;} |
||||
if (series.meta.approved && !series.meta.locked && req.unauthorized) {res.status(401).send("This series has been approved, so you must have series approval permissions in order to do that."); return 0;} |
||||
if (series.meta.creator !== req.authenticatedUser && req.unauthorized) {res.status(401).send("You must have series approval permissions or be the series' creator to do that !"); return 0;} |
||||
if (!req.authenticatedUser || !req.authenticatedUser.id) {res.status(401).send("You are not authorized to do that!"); return 0;} |
||||
return true; |
||||
} |
||||
|
||||
router.route('/:id/synopsis') //completed i think?
|
||||
.patch(app.auth.token, app.auth.perms('series-submit'), async (req, res, next) => { |
||||
const series = await Anime.findOne({id: req.params.id.toLowerCase()}); |
||||
if (!editCheck(series, req, res)) {return;} |
||||
if (!req.body.synopsis) {return res.status(400).send("You did not provide a new synopsis in your body.");} |
||||
if (req.body.synopsis.length > 1000) {return res.status(400).send("Your new synopsis is too long!");} |
||||
try { |
||||
series.synopsis.synopsis = req.body.synopsis; |
||||
if (!series.synopsis.by) {series.synopsis.by = req.authenticatedUser.id;} |
||||
if (req.body.updateAuthor === true && series.synopsis.by !== req.authenticatedUser.id) {series.synopsis.by = req.authenticatedUser.id;} |
||||
} |
||||
catch {return res.status(500).send("There was an error trying to update your synopsis. Please try again.");} |
||||
series.meta.edits.push({ |
||||
user: req.authenticatedUser.id, |
||||
timestamp: new Date().getTime(), |
||||
action: "Updated synopsis" |
||||
}); |
||||
series.markModified('synopsis.synopsis'); |
||||
series.markModified('meta.edits'); |
||||
return series.save() |
||||
.then(() => res.send("Synopsis updated.")) |
||||
.catch(() => res.status(500).send("There was an error trying to update your synopsis. Please try again.")); |
||||
}) |
||||
.get(app.auth.tokenPass, app.auth.permsPass('series-approve'), async (req, res) => { //working
|
||||
const series = await Anime.findOne({id: req.params.id.toLowerCase()}); |
||||
if (!series || (series && !series.meta.completed && req.unauthorized)) {return res.status(400).send("A series with that ID doesn't exist!");} |
||||
return res.send({synopsis: series.synopsis.synopsis, by: series.synopsis.by}); |
||||
}); |
||||
|
||||
//router.route()
|
||||
|
||||
router.use('/:id/altnames', app.auth.tokenPass, app.auth.permsPass('series-approve')) |
||||
|
||||
}; |
@ -0,0 +1,7 @@ |
||||
module.exports = (app, router) => { |
||||
router.use('/queue', app.auth.token, app.auth.perms('series-approve'), |
||||
(req, res, next) => {req.listData = app.cache.seriesQueue; next();}, |
||||
app.util.list(router, '/queue') |
||||
); |
||||
//i dont know why i made a whole file for this but oh well here we are
|
||||
}; |
Loading…
Reference in new issue