feat: add endpoint to register box
This commit is contained in:
parent
ee79781fb2
commit
12da240bad
@ -4,6 +4,8 @@ import boxService from "../services/box.service";
|
|||||||
import { Either, eitherLeft, eitherRight, eitherFormatError, Pair, createPair } from '../utils/utils';
|
import { Either, eitherLeft, eitherRight, eitherFormatError, Pair, createPair } from '../utils/utils';
|
||||||
import { Box } from '../types/box'
|
import { Box } from '../types/box'
|
||||||
import { Piece } from '../types/piece'
|
import { Piece } from '../types/piece'
|
||||||
|
import memberService from "../services/member.service";
|
||||||
|
import modelService from "../services/model.service";
|
||||||
|
|
||||||
const boxByTitle: RequestHandler<{ title: string; }> = async (req, res) => {
|
const boxByTitle: RequestHandler<{ title: string; }> = async (req, res) => {
|
||||||
const boxEither = await boxService.getBox(req.params.title);
|
const boxEither = await boxService.getBox(req.params.title);
|
||||||
@ -97,6 +99,25 @@ const boxById: RequestHandler<{ id: string; }> = async (req, res) => {
|
|||||||
res.render('box.ejs', { box });
|
res.render('box.ejs', { box });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const registerBox: RequestHandler<{ id_box: string; id_member: string; quantity: string; }> = async (req, res, next) => {
|
||||||
|
const id_box = parseInt(req.params.id_box);
|
||||||
|
const id_member = parseInt(req.params.id_member);
|
||||||
|
const quantity = parseInt(req.params.quantity);
|
||||||
|
|
||||||
|
await boxService.registerBox(id_box, id_member, quantity);
|
||||||
|
const memberEither = await memberService.getMember(id_member);
|
||||||
|
const models = await modelService.getAllBuildableModels(id_member);
|
||||||
|
|
||||||
|
if (memberEither.hasRight) {
|
||||||
|
next();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const member = memberEither.left;
|
||||||
|
|
||||||
|
res.render('member.ejs', { member, models });
|
||||||
|
};
|
||||||
|
|
||||||
const boxController = {
|
const boxController = {
|
||||||
boxAddPieces,
|
boxAddPieces,
|
||||||
boxRemovePiece,
|
boxRemovePiece,
|
||||||
@ -104,6 +125,7 @@ const boxController = {
|
|||||||
allBoxes,
|
allBoxes,
|
||||||
allBoxesFromDate,
|
allBoxesFromDate,
|
||||||
boxById,
|
boxById,
|
||||||
|
registerBox,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default boxController;
|
export default boxController;
|
||||||
|
@ -7,8 +7,12 @@ boxRouter.get("/", boxController.allBoxes);
|
|||||||
|
|
||||||
boxRouter.get("/from/:date", boxController.allBoxesFromDate);
|
boxRouter.get("/from/:date", boxController.allBoxesFromDate);
|
||||||
|
|
||||||
|
boxRouter.post("/register", boxController.registerBox);
|
||||||
|
|
||||||
boxRouter.get("/:title", boxController.boxByTitle);
|
boxRouter.get("/:title", boxController.boxByTitle);
|
||||||
boxRouter.post("/:title", boxController.boxAddPieces);
|
boxRouter.post("/:title", boxController.boxAddPieces);
|
||||||
|
|
||||||
|
|
||||||
boxRouter.delete("/:title", boxController.boxRemovePiece);
|
boxRouter.delete("/:title", boxController.boxRemovePiece);
|
||||||
boxRouter.get("/byid/:id", boxController.boxById);
|
boxRouter.get("/byid/:id", boxController.boxById);
|
||||||
|
|
||||||
|
@ -97,12 +97,19 @@ const getAllBoxesFromDate = async (date: Date) => {
|
|||||||
return await Promise.all(res.rows.map(async (el) => { return await db2box(el) }));
|
return await Promise.all(res.rows.map(async (el) => { return await db2box(el) }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const registerBox = async (id_box: number, id_member: number, quantity: number) => {
|
||||||
|
const client = new_client();
|
||||||
|
|
||||||
|
client.query("INSERT INTO enregistrer ($1, $2, $3);", [id_box, id_member, quantity]);
|
||||||
|
}
|
||||||
|
|
||||||
const boxService = {
|
const boxService = {
|
||||||
addPiecesToBox,
|
addPiecesToBox,
|
||||||
getBox,
|
getBox,
|
||||||
getAllBoxes,
|
getAllBoxes,
|
||||||
getAllBoxesFromDate,
|
getAllBoxesFromDate,
|
||||||
removePieceFromBox
|
removePieceFromBox,
|
||||||
|
registerBox,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default boxService;
|
export default boxService;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user