Save current state (unmerged, broken, not working...)
[vchess.git] / routes / variant.js
1 let router = require("express").Router();
2 const createError = require('http-errors');
3 const VariantModel = require("../models/Variant");
4 const selectLanguage = require("../utils/language.js");
5 const access = require("../utils/access");
6
7 router.get("/:variant([a-zA-Z0-9]+)", (req,res,next) => {
8 const vname = req.params["variant"];
9 VariantModel.getByName(vname, (err,variant) => {
10 if (!!err)
11 return next(err);
12 if (!variant)
13 return next(createError(404));
14 res.render('variant', {
15 title: vname + ' Variant',
16 variant: variant, //the variant ID might also be useful
17 lang: selectLanguage(req, res),
18 });
19 });
20 });
21
22 // Load a rules page (AJAX)
23 router.get("/rules/:vname([a-zA-Z0-9]+)", access.ajax, (req,res) => {
24 const lang = selectLanguage(req, res);
25 res.render("rules/" + req.params["vname"] + "/" + lang);
26 });
27
28 module.exports = router;