Added get user bookmark🔖
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
|||||||
createVoteService,
|
createVoteService,
|
||||||
deletePollService,
|
deletePollService,
|
||||||
getAllCreatedPollsService,
|
getAllCreatedPollsService,
|
||||||
|
getBookmarkPollService,
|
||||||
getPollDataService,
|
getPollDataService,
|
||||||
} from "../services/poll.service.js";
|
} from "../services/poll.service.js";
|
||||||
|
|
||||||
@@ -162,3 +163,29 @@ export const addToBookmarkController = async (req, res) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const getBookmarkPollController = async (req, res) => {
|
||||||
|
try {
|
||||||
|
const reqUser = req.user;
|
||||||
|
const data = await getBookmarkPollService(reqUser._id);
|
||||||
|
res.json({
|
||||||
|
success: true,
|
||||||
|
message: "Bookmarked Polls fetched successfully",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
if (err.statusCode) {
|
||||||
|
res.status(err.statusCode).json({
|
||||||
|
success: false,
|
||||||
|
message: err.message,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
res.status(500).json({
|
||||||
|
success: false,
|
||||||
|
message: err.message,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -61,3 +61,12 @@ export async function removePollIdFromBookmark(userId, pollId) {
|
|||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function getUserBookmarkedPolls(userId) {
|
||||||
|
try {
|
||||||
|
const user = await UserModel.findById(userId).populate("bookmarks");
|
||||||
|
return user.bookmarks;
|
||||||
|
} catch (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import express from "express";
|
import express from "express";
|
||||||
import { verifyToken } from "../../middlwares/verifyToken.js";
|
import { verifyToken } from "../../middlwares/verifyToken.js";
|
||||||
import { addToBookmarkController, createPollController, createVoteController, deletePollController, getAllCreatedPollsController, getPollDataController } from "../../controllers/poll.controller.js";
|
import { addToBookmarkController, createPollController, createVoteController, deletePollController, getAllCreatedPollsController, getBookmarkPollController, getPollDataController } from "../../controllers/poll.controller.js";
|
||||||
import pollDataSchema from "../../validations/pollDataValidation.js";
|
import pollDataSchema from "../../validations/pollDataValidation.js";
|
||||||
import validator from "../../validations/validator.js";
|
import validator from "../../validations/validator.js";
|
||||||
import voteSchema from "../../validations/voteValidation.js";
|
import voteSchema from "../../validations/voteValidation.js";
|
||||||
@@ -180,4 +180,20 @@ pollRouter.post("/vote", validator(voteSchema), verifyToken, createVoteControlle
|
|||||||
* */
|
* */
|
||||||
pollRouter.get("/bookmark/:pollId", verifyToken, addToBookmarkController);
|
pollRouter.get("/bookmark/:pollId", verifyToken, addToBookmarkController);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @swagger
|
||||||
|
* /poll/bookmarks:
|
||||||
|
* get:
|
||||||
|
* summary: Get bookmarked polls
|
||||||
|
* tags: [Bookmark]
|
||||||
|
* responses:
|
||||||
|
* 200:
|
||||||
|
* description: Bookmarked polls fetched successfully
|
||||||
|
* 401:
|
||||||
|
* description: Unauthorized
|
||||||
|
* 500:
|
||||||
|
* description: Internal server error
|
||||||
|
*/
|
||||||
|
pollRouter.get("/bookmarks", verifyToken, getBookmarkPollController);
|
||||||
|
|
||||||
export default pollRouter;
|
export default pollRouter;
|
||||||
@@ -12,6 +12,7 @@ import {
|
|||||||
} from "../repositories/vote.repo.js";
|
} from "../repositories/vote.repo.js";
|
||||||
import {
|
import {
|
||||||
addPollIdToBookmark,
|
addPollIdToBookmark,
|
||||||
|
getUserBookmarkedPolls,
|
||||||
removePollIdFromBookmark,
|
removePollIdFromBookmark,
|
||||||
} from "../repositories/user.repo.js";
|
} from "../repositories/user.repo.js";
|
||||||
|
|
||||||
@@ -140,3 +141,13 @@ export async function addToBookMarkService(pollId, user) {
|
|||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export async function getBookmarkPollService(userId) {
|
||||||
|
try {
|
||||||
|
const data = await getUserBookmarkedPolls(userId);
|
||||||
|
return data;
|
||||||
|
} catch (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user