diff --git a/api/routes/achievements.ts b/api/routes/achievements.ts new file mode 100644 index 0000000..310f5dc --- /dev/null +++ b/api/routes/achievements.ts @@ -0,0 +1,19 @@ +import {Response, Router} from "express"; +import {AuthenticatedRequest} from "../middlewares/authenticate"; +import {getAchievements, getStatistics} from "../../controller/achievement"; + +const app = Router(); + +app.get("/:guildId", async (req: AuthenticatedRequest, res: Response) => { + res.json(await getStatistics(req.params.guildId)); +}); + +app.get("/:guildId/:categoryId", (req: AuthenticatedRequest, res: Response) => { + getAchievements(req.params.guildId, parseInt(req.params.categoryId)).then((achievements) => { + res.json(achievements); + }).catch(() => { + res.status(500).json({message: "An internal error occurred"}); + }); +}); + +module.exports = app; \ No newline at end of file