Skip to content
Snippets Groups Projects
Commit 58e7a12b authored by Fikri Naufal Hamdi's avatar Fikri Naufal Hamdi
Browse files

Merge branch 'feature/backend' into 'develop'

feat: merge to add api for getting order_product by id_order

See merge request !35
parents 56228d0f 0c1c040b
......@@ -69,6 +69,25 @@ class OrderProductController {
}
}
async getOrderProductByOrderId(req: Request, res: Response) {
try {
const id_order = parseInt(req.params["orderId"]);
const orderProducts =
await new OrderProductRepo().getOrderProductByOrderId(id_order);
res.status(200).json({
status: "Ok!",
message: "Successfully fetched order products by order id!",
data: orderProducts,
});
} catch (error) {
res.status(500).json({
status: "Internal Server Error!",
message: "Internal Server Error!",
});
}
}
async getAllOrderProduct(req: Request, res: Response) {
try {
const orderProducts =
......
......@@ -44,6 +44,24 @@ export default class OrderProductRepo implements IOrderProductRepo {
}
}
async getOrderProductByOrderId(orderId: number): Promise<OrderProduct[]> {
try {
const orderProducts = await OrderProduct.findAll({
where: { id_order: orderId },
});
if (!orderProducts) {
throw new Error(
`OrderProduct with orderId ${orderId} not found`,
);
}
return orderProducts;
} catch (error: any) {
throw new Error(
`Error while fetching order product: ${error.message}`,
);
}
}
async createOrderProduct(orderProduct: OrderProduct): Promise<void> {
try {
await OrderProduct.create({
......
......@@ -28,6 +28,10 @@ class OrderProductRoutes extends BaseRoutes {
"/:orderId/:productId",
OrderProductController.getOrderProductById,
);
this.router.get(
"/:orderId",
OrderProductController.getOrderProductByOrderId,
);
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment