X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=server%2Froutes%2Fnews.js;h=e78020ef086d3fc62abc185ec85dba493f492e8e;hp=4c2a74e561698fa4aa4261bf68686f04dccdc0a6;hb=a9e7935190d8fc112e674add05e86b8d0152e8df;hpb=0234201fb338fc239d6f613c677fa932c7c3697c diff --git a/server/routes/news.js b/server/routes/news.js index 4c2a74e5..e78020ef 100644 --- a/server/routes/news.js +++ b/server/routes/news.js @@ -1,11 +1,11 @@ let router = require("express").Router(); const access = require("../utils/access"); +const params = require("../config/parameters"); const NewsModel = require("../models/News"); const sanitizeHtml = require('sanitize-html'); -const devs = [1]; //hard-coded list of developers IDs, allowed to post news router.post("/news", access.logged, access.ajax, (req,res) => { - if (devs.includes(req.userId)) { + if (params.devs.includes(req.userId)) { const content = sanitizeHtml(req.body.news.content); NewsModel.create(content, req.userId, (err, ret) => { res.json(err || ret); @@ -15,7 +15,7 @@ router.post("/news", access.logged, access.ajax, (req,res) => { router.get("/news", access.ajax, (req,res) => { const cursor = req.query["cursor"]; - if (!!cursor.match(/^[0-9]+$/)) { + if (!!cursor && !!cursor.match(/^[0-9]+$/)) { NewsModel.getNext(cursor, (err, newsList) => { res.json(err || { newsList: newsList }); }); @@ -24,14 +24,17 @@ router.get("/news", access.ajax, (req,res) => { router.get("/newsts", access.ajax, (req,res) => { // Special query for footer: just return timestamp of last news - NewsModel.getTimestamp((err,ts) => { - res.json(err || { timestamp: ts.added }); + NewsModel.getTimestamp((err, ts) => { + res.json(err || { timestamp: !!ts ? ts.added : 0 }); }); }); router.put("/news", access.logged, access.ajax, (req,res) => { let news = req.body.news; - if (devs.includes(req.userId) && news.id.toString().match(/^[0-9]+$/)) { + if ( + params.devs.includes(req.userId) && + news.id.toString().match(/^[0-9]+$/) + ) { news.content = sanitizeHtml(news.content); NewsModel.update(news); res.json({}); @@ -40,7 +43,10 @@ router.put("/news", access.logged, access.ajax, (req,res) => { router.delete("/news", access.logged, access.ajax, (req,res) => { const nid = req.query.id; - if (devs.includes(req.userId) && nid.toString().match(/^[0-9]+$/)) { + if ( + params.devs.includes(req.userId) && + nid.toString().match(/^[0-9]+$/) + ) { NewsModel.remove(nid); res.json({}); }