diff --git a/back-end/src/controllers/member.controller.ts b/back-end/src/controllers/member.controller.ts index e69de29..9d89da4 100644 --- a/back-end/src/controllers/member.controller.ts +++ b/back-end/src/controllers/member.controller.ts @@ -0,0 +1,36 @@ +import { RequestHandler } from "express"; +import memberService from "../services/member.service"; + +const memberByName: RequestHandler<{name: string;}> = async (req, res) => { + const memberEither = await memberService.getMember(req.params.name); + + if (memberEither.hasRight) { + res.sendStatus(404); + return; + } + + const member = memberEither.left; + + res.render('member.ejs', { member }); +}; + +const memberById: RequestHandler<{id: string;}> = async (req, res) => { + const id = parseInt(req.params.id); + const memberEither = await memberService.getMember(id); + + if (memberEither.hasRight) { + res.sendStatus(404); + return; + } + + const member = memberEither.left; + + res.render('member.ejs', { member }); +}; + +const memberController = { + memberByName, + memberById, +}; + +export default memberController;