Add user profile retrieval function
This commit is contained in:
@@ -30,6 +30,7 @@ const {
|
||||
sendVerificationEmail,
|
||||
deleteEmailVerification,
|
||||
} = require("../utils/emailVerification.util");
|
||||
const { getUserProfile } = require("../utils/users/userProfileDetails.util");
|
||||
const User = db.User;
|
||||
const Profile = db.Profile;
|
||||
|
||||
@@ -345,36 +346,81 @@ exports.getAllUsers = async (req, res) => {
|
||||
}
|
||||
};
|
||||
|
||||
// Get user details by ID
|
||||
exports.getUserById = async (req, res) => {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const user = await User.findOne({
|
||||
where: { id },
|
||||
attributes: { exclude: ["password"] },
|
||||
include: [{ model: Profile, as: "profile" }],
|
||||
});
|
||||
//get user profile details
|
||||
exports.userProfile = async (req, res) => {
|
||||
|
||||
if (!user) {
|
||||
try {
|
||||
const userId = req.user.id;
|
||||
|
||||
const profile =
|
||||
await getUserProfile(userId);
|
||||
|
||||
|
||||
if (!profile) {
|
||||
return res.status(404).send({
|
||||
success: false,
|
||||
message: "User not found",
|
||||
});
|
||||
}
|
||||
|
||||
res.status(200).send({
|
||||
|
||||
return res.status(200).send({
|
||||
success: true,
|
||||
data: user,
|
||||
message:
|
||||
"User profile retrieved successfully",
|
||||
|
||||
data: profile,
|
||||
});
|
||||
|
||||
|
||||
} catch (error) {
|
||||
res.status(500).send({
|
||||
|
||||
console.error(
|
||||
"GET USER PROFILE ERROR:",
|
||||
error
|
||||
);
|
||||
|
||||
|
||||
return res.status(500).send({
|
||||
success: false,
|
||||
message: "Failed to retrieve user",
|
||||
error: error.message,
|
||||
message:
|
||||
"Failed to retrieve user profile",
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// Get user details by ID
|
||||
// exports.getUserById = async (req, res) => {
|
||||
// try {
|
||||
// const { id } = req.params;
|
||||
// const user = await User.findOne({
|
||||
// where: { id },
|
||||
// attributes: { exclude: ["password"] },
|
||||
// include: [{ model: Profile, as: "profile" }],
|
||||
// });
|
||||
|
||||
// if (!user) {
|
||||
// return res.status(404).send({
|
||||
// success: false,
|
||||
// message: "User not found",
|
||||
// });
|
||||
// }
|
||||
|
||||
// res.status(200).send({
|
||||
// success: true,
|
||||
// data: user,
|
||||
// });
|
||||
// } catch (error) {
|
||||
// res.status(500).send({
|
||||
// success: false,
|
||||
// message: "Failed to retrieve user",
|
||||
// error: error.message,
|
||||
// });
|
||||
// }
|
||||
// };
|
||||
|
||||
// Update user details
|
||||
exports.updateUser = async (req, res) => {
|
||||
const transaction = await db.sequelize.transaction();
|
||||
|
||||
Reference in New Issue
Block a user