43 lines
994 B
TypeScript
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;
|