Files
kuerbiskern-web/routes/update.ts
Sebastian Seedorf fc582eb48c List implemented
2019-01-11 16:57:22 +01:00

71 lines
1.6 KiB
TypeScript

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;