Commit | Line | Data |
---|---|---|
582df349 BA |
1 | // (any) variant page (with room, games, problems ...) |
2 | ||
298c42e6 BA |
3 | let router = require("express").Router(); |
4 | const createError = require('http-errors'); | |
8d7e2786 BA |
5 | const VariantModel = require("../models/Variant"); |
6 | const selectLanguage = require("../utils/language.js"); | |
7 | const access = require("../utils/access"); | |
298c42e6 | 8 | |
582df349 BA |
9 | router.get("/:vname([a-zA-Z0-9]+)", (req,res,next) => { |
10 | const vname = req.params["vname"]; | |
8d7e2786 BA |
11 | VariantModel.getByName(vname, (err,variant) => { |
12 | if (!!err) | |
13 | return next(err); | |
14 | if (!variant) | |
15 | return next(createError(404)); | |
16 | res.render('variant', { | |
17 | title: vname + ' Variant', | |
18 | variant: variant, //the variant ID might also be useful | |
19 | lang: selectLanguage(req, res), | |
298c42e6 BA |
20 | }); |
21 | }); | |
22 | }); | |
23 | ||
24 | // Load a rules page (AJAX) | |
8d7e2786 | 25 | router.get("/rules/:vname([a-zA-Z0-9]+)", access.ajax, (req,res) => { |
298c42e6 | 26 | const lang = selectLanguage(req, res); |
8d7e2786 | 27 | res.render("rules/" + req.params["vname"] + "/" + lang); |
298c42e6 BA |
28 | }); |
29 | ||
30 | module.exports = router; |