2024-11-09 22:31:19 +05:30
|
|
|
import {
|
|
|
|
|
createPollService,
|
|
|
|
|
deletePollService,
|
|
|
|
|
getAllCreatedPollsService,
|
|
|
|
|
getPollDataService,
|
|
|
|
|
} from "../services/poll.service.js";
|
2024-11-08 20:27:06 +05:30
|
|
|
|
|
|
|
|
export async function createPollController(req, res) {
|
|
|
|
|
try {
|
2024-11-09 22:31:19 +05:30
|
|
|
const { title, description, options } = req.body;
|
2024-11-08 20:27:06 +05:30
|
|
|
const user = req.user;
|
|
|
|
|
const poll = await createPollService(title, description, options, user._id);
|
|
|
|
|
res.status(201).json({
|
|
|
|
|
success: true,
|
|
|
|
|
message: "Poll created successfully",
|
|
|
|
|
data: poll,
|
|
|
|
|
});
|
|
|
|
|
} catch (err) {
|
|
|
|
|
if (err.statusCode) {
|
|
|
|
|
res.status(err.statusCode).json({
|
|
|
|
|
success: false,
|
|
|
|
|
message: err.message,
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
res.status(500).json({
|
|
|
|
|
success: false,
|
|
|
|
|
message: err.message,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-11-09 20:53:28 +05:30
|
|
|
|
|
|
|
|
export async function getPollDataController(req, res) {
|
|
|
|
|
try {
|
|
|
|
|
const pollId = req.params.pollId;
|
|
|
|
|
const poll = await getPollDataService(pollId);
|
|
|
|
|
res.status(200).json({
|
|
|
|
|
success: true,
|
|
|
|
|
message: "Poll data fetched successfully",
|
|
|
|
|
data: poll,
|
|
|
|
|
});
|
2024-11-09 22:31:19 +05:30
|
|
|
} catch (err) {
|
2024-11-09 20:53:28 +05:30
|
|
|
if (err.statusCode) {
|
|
|
|
|
res.status(err.statusCode).json({
|
|
|
|
|
success: false,
|
|
|
|
|
message: err.message,
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
res.status(500).json({
|
|
|
|
|
success: false,
|
|
|
|
|
message: err.message,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-11-09 21:18:01 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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,
|
|
|
|
|
});
|
2024-11-09 22:31:19 +05:30
|
|
|
} 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,
|
|
|
|
|
});
|
|
|
|
|
}
|
2024-11-09 21:18:01 +05:30
|
|
|
}
|
2024-11-09 22:31:19 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function deletePollController(req, res) {
|
|
|
|
|
try {
|
|
|
|
|
const reqPollId = req.params.pollId;
|
2024-11-10 15:44:02 +05:30
|
|
|
const reqUser = req.user;
|
|
|
|
|
const deletedPoll = await deletePollService(reqPollId, reqUser);
|
2024-11-09 22:31:19 +05:30
|
|
|
res.json({
|
|
|
|
|
success : true,
|
|
|
|
|
message : "Poll deleted successfully.",
|
|
|
|
|
data : deletedPoll
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
catch (err) {
|
2024-11-09 21:18:01 +05:30
|
|
|
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,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-11-09 22:31:19 +05:30
|
|
|
}
|