import * as express from "express"; const router = express.Router(); router.use((req, res, next) => { if (!req.cookies || !req.cookies.uid) { res.status(404); res.send(); } else { next(); } }); router.get("/personal", (req, res) => { const ageStr = req.query.age || null; const age = parseInt(ageStr, 10); const sex = req.query.sex || null; const result: {age?: number, sex?: string} = {}; if (age > 15 && age < 99) { result.age = age; } else if (ageStr === "" || !isNaN(age)) { result.age = -1; } if (["na", "m", "w", "o"].indexOf(sex) > -1) { result.sex = sex; } console.log(result); if (!!result.age || !!result.sex) { req.app.db.get("users") .find({id: req.cookies.uid}) .assign(result) .write(); } res.status(204); res.send(); }); router.get("/newcocktail", (req, res) => { const db = (req.app as any).db; const levelStr = req.query.level || null; const level = parseInt(levelStr, 10); const cocktail = req.query.cocktail || null; const result: {level?: number, cocktail?: string} = {}; if (level > 0 && level < 8) { result.level = level; } if (req.app.cocktailList.indexOf(cocktail) > -1) { result.cocktail = cocktail; } if (!!result.level && !!result.cocktail) { const findRes = db.get("users").find({id: req.cookies.uid}).get("cocktails").find({cocktail}); if (!findRes.value()) { db.get("users") .find({id: req.cookies.uid}) .get("cocktails") .push(result) .write(); } else { findRes .assign(result) .write(); } } res.status(204); res.send(); }); export = router;