Made user created poll route ✔️
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { createPollService, getPollDataService } from "../services/poll.service.js";
|
import { createPollService, getAllCreatedPollsService, getPollDataService } from "../services/poll.service.js";
|
||||||
|
|
||||||
export async function createPollController(req, res) {
|
export async function createPollController(req, res) {
|
||||||
try {
|
try {
|
||||||
@@ -51,3 +51,29 @@ export async function getPollDataController(req, res) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function getAllCreatedPollsController(req, res) {
|
||||||
|
try {
|
||||||
|
const user = req.user;
|
||||||
|
const polls = await getAllCreatedPollsService(user._id);
|
||||||
|
res.status(200).json({
|
||||||
|
success: true,
|
||||||
|
message: "Polls fetched successfully",
|
||||||
|
data: polls,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
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,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,3 +19,13 @@ export async function findPollById(id) {
|
|||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function findPollsByCreatorId(id) {
|
||||||
|
try {
|
||||||
|
const polls = await PollModel.find({creatorId : id});
|
||||||
|
return polls;
|
||||||
|
}
|
||||||
|
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 { createPollController, getPollDataController } from "../../controllers/poll.controller.js";
|
import { createPollController, getAllCreatedPollsController, 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";
|
||||||
const pollRouter = express.Router();
|
const pollRouter = express.Router();
|
||||||
@@ -59,7 +59,7 @@ pollRouter.get("/test", (req, res) => {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
pollRouter.post("/create", validator(pollDataSchema), verifyToken, createPollController);
|
pollRouter.post("/create", validator(pollDataSchema), verifyToken, createPollController);
|
||||||
|
pollRouter.get("/data/:pollId", verifyToken, getPollDataController);
|
||||||
pollRouter.get("/:pollId", verifyToken, getPollDataController);
|
pollRouter.get("/created", verifyToken, getAllCreatedPollsController);
|
||||||
|
|
||||||
export default pollRouter;
|
export default pollRouter;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import mongoose from "mongoose";
|
import mongoose from "mongoose";
|
||||||
import { createPollByData, findPollById } from "../repositories/poll.repo.js";
|
import { createPollByData, findPollById, findPollsByCreatorId } from "../repositories/poll.repo.js";
|
||||||
|
|
||||||
export async function createPollService(title, description, options, userId) {
|
export async function createPollService(title, description, options, userId) {
|
||||||
try {
|
try {
|
||||||
@@ -39,3 +39,13 @@ export async function getPollDataService(pollId) {
|
|||||||
throw err;
|
throw err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function getAllCreatedPollsService(id) {
|
||||||
|
try {
|
||||||
|
const polls = await findPollsByCreatorId(id);
|
||||||
|
return polls;
|
||||||
|
}
|
||||||
|
catch(err){
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user