2018-09-23 20:17:35 +00:00
|
|
|
import * as express from "express";
|
|
|
|
import * as bodyparser from "body-parser";
|
|
|
|
|
|
|
|
import { authRoute } from "../security/token";
|
|
|
|
|
|
|
|
const userRouter = express.Router();
|
|
|
|
userRouter.use(bodyparser.json());
|
|
|
|
userRouter.use(authRoute);
|
|
|
|
|
|
|
|
// Return the user object if the user is still authenticated
|
|
|
|
userRouter.get("/get", async (req, res) => {
|
|
|
|
console.log("STUB: /user/get");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
|
|
|
data: {
|
|
|
|
test: 0,
|
|
|
|
},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// Removes the user's session
|
|
|
|
userRouter.get("/logout", async (req, res) => {
|
|
|
|
console.log("STUB: /user/logout");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
|
|
|
data: {},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2018-09-24 11:53:20 +00:00
|
|
|
// TODO: This should be shared with the frontend, to remove code duplication
|
|
|
|
export enum VocabType {
|
|
|
|
NOMEN = 0,
|
|
|
|
VERB = 1,
|
|
|
|
ADJEKTIV = 2,
|
|
|
|
ADVERB = 3,
|
|
|
|
};
|
|
|
|
|
2018-09-23 20:17:35 +00:00
|
|
|
// Gets the user's review queue
|
|
|
|
userRouter.get("/queue", async (req, res) => {
|
|
|
|
console.log("STUB: /user/queue");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
2018-09-24 11:53:20 +00:00
|
|
|
data: {
|
|
|
|
queue: [{
|
|
|
|
german: ["Wein"],
|
|
|
|
hint: "Worte auf '-um' sind meistens NeutrUM",
|
|
|
|
type: VocabType.NOMEN,
|
|
|
|
latin: {
|
|
|
|
grundform: "Vinum",
|
|
|
|
genitiv: "Vini",
|
|
|
|
genus: "Neutrum"
|
|
|
|
},
|
|
|
|
id: 0
|
|
|
|
}]
|
|
|
|
},
|
2018-09-23 20:17:35 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// Get ot set the last review results
|
|
|
|
userRouter.get("/lastReview", async (req, res) => {
|
|
|
|
console.log("STUB(get): /user/lastReview");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
2018-09-24 11:36:42 +00:00
|
|
|
data: {
|
|
|
|
correct: 6,
|
|
|
|
wrong: 2,
|
|
|
|
},
|
2018-09-23 20:17:35 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
userRouter.post("/lastReview", async (req, res) => {
|
|
|
|
console.log("STUB(post): /user/lastReview");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
|
|
|
data: {},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// Get the next level
|
|
|
|
userRouter.get("/nextLevel", async (req, res) => {
|
|
|
|
console.log("STUB: /user/nextLevel");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
|
|
|
data: {
|
|
|
|
name: "Test level",
|
|
|
|
desc: "Just a test",
|
|
|
|
level: 3,
|
|
|
|
|
|
|
|
done: false,
|
|
|
|
},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// Mark a level as done
|
|
|
|
userRouter.post("/level/:id", async (req, res) => {
|
|
|
|
console.log("STUB(post): /user/level/:id");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
|
|
|
data: {},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// Get the data needed for the dashboard
|
|
|
|
userRouter.post("/dashboard", async (req, res) => {
|
|
|
|
console.log("STUB(post): /user/dashboard");
|
|
|
|
|
|
|
|
// TODO: Stub
|
|
|
|
res.send({
|
|
|
|
error: "0",
|
|
|
|
data: {
|
|
|
|
nextLevel: {},
|
|
|
|
topTen: {},
|
|
|
|
lastReview: {},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
export default userRouter;
|