Files
LivePoll/backend/src/controllers/user.controller.js

56 lines
1.3 KiB
JavaScript
Raw Normal View History

2024-11-08 12:51:14 +05:30
import { signinService, signupService } from "../services/user.service.js";
2024-11-07 21:08:08 +05:30
export async function signupController(req, res) {
2024-11-08 12:51:14 +05:30
try {
const { username, email, password } = req.body;
const user = await signupService(username, email, password);
res.status(201).json({
success: true,
message: "User created successfully",
data: user,
});
} 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-07 21:08:08 +05:30
}
2024-11-08 12:51:14 +05:30
}
}
export async function signinController(req, res) {
try {
const { email, password } = req.body;
const { token, userData } = await signinService(email, password);
res.cookie("access-token", token, {
httpOnly: true,
maxAge: 10 * 24 * 60 * 60 * 1000, // 10 days
}).status(200).json({
success : true,
message : "User signedin successfully.",
user : userData
});
} 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-07 21:08:08 +05:30
}
2024-11-08 12:51:14 +05:30
}
}