X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Froutes%2Fchallenges.js;h=663072f5db5d657f35e379eaf38a94fe3ca73b87;hb=7b626bdd29da0927354c92526fc5e03095877351;hp=174cf451a0b86e0bb5de050004c1773aa227fdd1;hpb=98db2082fd31e7a7bc0348e31ce119f39dbc31b3;p=vchess.git diff --git a/server/routes/challenges.js b/server/routes/challenges.js index 174cf451..663072f5 100644 --- a/server/routes/challenges.js +++ b/server/routes/challenges.js @@ -3,26 +3,35 @@ let router = require("express").Router(); const access = require("../utils/access"); const ChallengeModel = require("../models/Challenge"); +const UserModel = require("../models/User"); //for name check -router.post("/challenges/:vid([0-9]+)", access.logged, access.ajax, (req,res) => { - const vid = req.params["vid"]; - const chall = { - uid: req.userId, - vid: vid, - fen: req.body["fen"], - mainTime: req.body["mainTime"], - increment: req.body["increment"], - nbPlayers: req.body["nbPlayers"], - players: req.body["players"], - }; - const error = ChallengeModel.checkChallenge(chall); - ChallengeModel.create(chall, (err,lastId) => { +router.post("/challenges", access.logged, access.ajax, (req,res) => { + const error = ChallengeModel.checkChallenge(req.body.chall); + // TODO: treat "to" field separately (search users by name) + // --> replace "to" by an array of uid (in chall), then call: + const from = req.userId; +// let to = !!req.body.to ? ObjectID(req.body.to) : undefined; +// let nameTo = !!req.body.nameTo ? req.body.nameTo : undefined; +// let vid = ObjectID(req.body.vid); +// if (!to && !!nameTo) +// { +// UserModel.getByName(nameTo, (err,user) => { +// access.checkRequest(res, err, user, "Opponent not found", () => { +// createChallenge(vid, from, user._id, res); +// }); +// }); +// } +// else if (!!to) +// createChallenge(vid, from, to, res); +// else +// createChallenge(vid, from, undefined, res); //automatch + ChallengeModel.create(req.body.chall, (err,lastId) => { res.json(err || {cid: lastId["rowid"]}); }); }); //// index -//router.get("/challengesbyplayer", access.logged, access.ajax, (req,res) => { +//router.get("/challenges", access.logged, access.ajax, (req,res) => { // if (req.query["uid"] != req.user._id) // return res.json({errmsg: "Not your challenges"}); // let uid = ObjectID(req.query["uid"]); @@ -42,28 +51,6 @@ router.post("/challenges/:vid([0-9]+)", access.logged, access.ajax, (req,res) => // }); //} // -//// from[, to][,nameTo] -//router.post("/challenges", access.logged, access.ajax, (req,res) => { -// if (req.body.from != req.user._id) -// return res.json({errmsg: "Identity usurpation"}); -// let from = ObjectID(req.body.from); -// let to = !!req.body.to ? ObjectID(req.body.to) : undefined; -// let nameTo = !!req.body.nameTo ? req.body.nameTo : undefined; -// let vid = ObjectID(req.body.vid); -// if (!to && !!nameTo) -// { -// UserModel.getByName(nameTo, (err,user) => { -// access.checkRequest(res, err, user, "Opponent not found", () => { -// createChallenge(vid, from, user._id, res); -// }); -// }); -// } -// else if (!!to) -// createChallenge(vid, from, to, res); -// else -// createChallenge(vid, from, undefined, res); //automatch -//}); -// //router.delete("/challenges", access.logged, access.ajax, (req,res) => { // let cid = ObjectID(req.query.cid); // ChallengeModel.getById(cid, (err,chall) => {