From 61f48e4e9c15fcb00ad6f83ce8b961be4f1e18cf Mon Sep 17 00:00:00 2001 From: Hanen Alrwasheda <alrwasheda@mi.fu-berlin.de> Date: Thu, 6 Jan 2022 14:20:14 +0100 Subject: [PATCH] showCurrentUser + updateCurrentUser Controllers --- .../userControllers.controllers.ts | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 server/src/controllers/userControllers.controllers.ts diff --git a/server/src/controllers/userControllers.controllers.ts b/server/src/controllers/userControllers.controllers.ts new file mode 100644 index 0000000..6db8d39 --- /dev/null +++ b/server/src/controllers/userControllers.controllers.ts @@ -0,0 +1,65 @@ +import Worker from "../db/models/Worker"; +import { Request, Response } from "express"; + +//show current user GET +const showCurrentUserController = async (req: Request, res: Response) => { + try { + if (!(res.locals.user.role === "coordinator")) { + return res + .status(403) + .json({ success: false, error: "MustBeCoordinator" }); + } + + //get current user (coordinator) data from DB + const currentUserData = await Worker.findAll({ + where: { + role: "coordinator", + }, + }); + res.status(200).json({ success: true, result: currentUserData }); + } catch (error) { + console.log("server error: ", error.message); + res.status(500).json({ success: false, error: "serverError!" }); + } +}; + +//update current user PUT +const updateCurrentUser = async (req: Request, res: Response) => { + try { + //check role + if (!(res.locals.user.role === "coordinator")) { + return res + .status(403) + .json({ success: false, error: "MustBeCoordinator" }); + } + + //take what ever in req.body is, and pass it to update() + const input = req.body; //Data are saved in the DB in camelCase + + //update coordinator data + await Worker.update(input, { + where: { + role: "coordinator", + }, + }); + + //send new coordinator-data back + const updatedWorker = await Worker.findAll({ + where: { + role: "coordinator", + }, + }); + + return res.status(200).json({ success: true, result: updatedWorker }); + } catch (error) { + console.error("server error: ", error.message); + return res.status(500).json({ success: false, error: "serverError" }); + } +}; + +const userControllers = { + showCurrentUserController, + updateCurrentUser, +}; + +export default userControllers; -- GitLab