diff --git a/README.md b/README.md
index 84874ea40..a11d6f770 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ You can see the designs [here](https://www.figma.com/design/RPSfaw66HjzSwzntKcgD
###### Monitors
- GET [/api/v1/monitors](#get-monitors)
- GET [/api/v1/monitor/{id}](#get-monitor-id)
- - GET [/api/v1/monitors/user/{userId}](#get-monitors-user-userid)
+ - GET [/api/v1/monitors/user/{userId}?limit](#get-monitors-user-userid)
- POST [/api/v1/monitors](#post-monitors)
- POST [/api/v1/monitors/delete/{monitorId}](#post-monitors-del-id)
- POST [/api/v1/monitors/edit/{monitorId}](#post-monitors-edit-id)
@@ -749,7 +749,7 @@ curl --request GET \
-GET /api/v1/monitors/user/{userId}
+GET /api/v1/monitors/user/{userId}?limit
###### Method/Headers
@@ -767,7 +767,7 @@ curl --request GET \
```
curl --request GET \
- --url http://localhost:5000/api/v1/monitors/user/6645079aae0b439371913972 \
+ --url http://localhost:5000/api/v1/monitors/user/6645079aae0b439371913972?limit=25 \
--header '' \
```
diff --git a/Server/db/MongoDB.js b/Server/db/MongoDB.js
index 1325b3f5d..36741711c 100644
--- a/Server/db/MongoDB.js
+++ b/Server/db/MongoDB.js
@@ -293,15 +293,26 @@ const getMonitorById = async (req, res) => {
*/
const getMonitorsByUserId = async (req, res) => {
try {
+ const limit = req.body.limit;
const monitors = await Monitor.find({ userId: req.params.userId });
// Map each monitor to include its associated checks
const monitorsWithChecks = await Promise.all(
monitors.map(async (monitor) => {
- // Checks are order oldest -> newest
- const checks = await Check.find({ monitorId: monitor._id }).sort({
- createdAt: 1,
- });
- return { ...monitor.toObject(), checks };
+
+ if(limit) {
+ // Checks are order oldest -> newest
+ const checks = await Check.find({ monitorId: monitor._id }).sort({
+ createdAt: 1,
+ }).limit(limit);;
+ return { ...monitor.toObject(), checks };
+
+ } else {
+ // Checks are order oldest -> newest
+ const checks = await Check.find({ monitorId: monitor._id }).sort({
+ createdAt: 1,
+ });
+ return { ...monitor.toObject(), checks };
+ }
})
);
diff --git a/Server/routes/monitorRoute.js b/Server/routes/monitorRoute.js
index ae7a5852e..d19aedad9 100644
--- a/Server/routes/monitorRoute.js
+++ b/Server/routes/monitorRoute.js
@@ -5,7 +5,7 @@ const Monitor = require("../models/Monitor");
router.get("/", monitorController.getAllMonitors);
router.get("/:monitorId", monitorController.getMonitorById);
-router.get("/user/:userId", monitorController.getMonitorsByUserId);
+router.get("/user/:userId?limit", monitorController.getMonitorsByUserId);
router.post("/", monitorController.createMonitor);
router.post(