diff --git a/api/user.mjs b/api/user.mjs new file mode 100644 index 0000000..54266ca --- /dev/null +++ b/api/user.mjs @@ -0,0 +1,12 @@ +import { getDB } from "../database.mjs"; + +const getUserPastOrders = async (user) => { + const db = await getDB(); + const orders = await db + .collection("orders") + .find({ user: user._id }) + .toArray(); + return orders; +}; + +export { getUserPastOrders }; diff --git a/routes/api.mjs b/routes/api.mjs index c9ecc91..6ba9f65 100644 --- a/routes/api.mjs +++ b/routes/api.mjs @@ -6,6 +6,7 @@ import searchRouter from "./search.mjs"; import autocompleteRouter from "./autocomplete.mjs"; import popularPicksRouter from "./popularPicks.mjs"; import dbRouter from "./db.mjs"; +import userRouter from "./user.mjs"; const apiRouter = Router(); @@ -16,5 +17,6 @@ apiRouter.use("/autocomplete", autocompleteRouter); apiRouter.use("/search", searchRouter); apiRouter.use("/db", dbRouter); apiRouter.use("/popularPicks", popularPicksRouter); +apiRouter.use("/user", userRouter); export default apiRouter; diff --git a/routes/user.mjs b/routes/user.mjs new file mode 100644 index 0000000..7ba7da1 --- /dev/null +++ b/routes/user.mjs @@ -0,0 +1,17 @@ +import { Router } from "express"; +import { getUserPastOrders } from "../api/user.mjs"; +import { requireAuthentication } from "../middleware.mjs"; + +const userRouter = Router(); + +userRouter.get("/pastViewed", requireAuthentication, async (req, res) => { + try { + const orders = await getUserPastOrders(req.user); + res.json(orders); + } catch (e) { + console.error(e); + res.status(500).json({ error: "Something went wrong." }); + } +}); + +export default userRouter;