lego/back-end/src/controllers/member.controller.ts
2024-11-18 14:19:29 +01:00

43 lines
994 B
TypeScript

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 allMembers: RequestHandler = async (_req, res) => {
const members = await memberService.getAllMembers();
res.render('members.ejs', { members });
};
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,
allMembers,
};
export default memberController;