27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import express, { Request, Response } from "express";
|
|
import { getLogin } from "../auth";
|
|
import { parseToken } from "../utils";
|
|
import { getUserVotes, updateFeatureVote } from "../voting";
|
|
import { UpdateFeatureVoteRequest } from "../../../types";
|
|
import { FeatureRequest } from "../../../types";
|
|
|
|
const router = express.Router();
|
|
|
|
router.get("/getVotes", async (req: Request<{}, any, undefined>, res: Response<FeatureRequest[]>) => {
|
|
const login = getLogin(parseToken(req));
|
|
const data = await getUserVotes(login);
|
|
res.status(200).json(data);
|
|
});
|
|
|
|
router.post("/updateVote", async (req: Request<{}, any, UpdateFeatureVoteRequest>, res, next) => {
|
|
const login = getLogin(parseToken(req));
|
|
if (req.body?.option == null || req.body?.active == null) {
|
|
res.status(400).json({ error: "Chybné parametry volání" });
|
|
}
|
|
try {
|
|
const data = await updateFeatureVote(login, req.body.option, req.body.active);
|
|
res.status(200).json(data);
|
|
} catch (e: any) { next(e) }
|
|
});
|
|
|
|
export default router; |