Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions api/cloudinary.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cloudinary.config({
cloud_name: 'dzdwjdv7d',
api_key: '686838615854155',
api_secret: '-DEjftqSoE-yZWDNtOjXV8s1RiE'
});


76 changes: 50 additions & 26 deletions api/controllers/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,57 @@ const User = require("../models/user");
const TokenGenerator = require("../models/token_generator");

const UserController = {
Index: (req, res) => {
const userName = req.query.username;
const _id = req.query._id;

let userDetails = {};

const searchKey = userName ? 'userName' : '_id';
const searchValue = userName || _id;

userDetails[searchKey] = searchValue;

User.findOne(userDetails).then(async (user) => {
if (!user) {
console.log("auth error: user not found")
res.status(401).json({ message: "auth error" });
} else {
const token = await TokenGenerator.jsonwebtoken(user.id)
const foundUser = {
userId: user._id,
firstName: user.firstName,
lastName: user.lastName,
userName: user.userName
}
res.status(200).json({ user: foundUser, token: token});
}
});
Index: (req, res) => {
const userName = req.query.username;
const _id = req.query._id;

let userDetails = {};

const searchKey = userName ? "userName" : "_id";
const searchValue = userName || _id;

userDetails[searchKey] = searchValue;

User.findOne(userDetails).then(async (user) => {
if (!user) {
console.log("auth error: user not found");
res.status(401).json({ message: "auth error" });
} else {
const token = await TokenGenerator.jsonwebtoken(user.id);
const foundUser = {
userId: user._id,
firstName: user.firstName,
lastName: user.lastName,
userName: user.userName,
imageUrl: user.imageUrl
};
res.status(200).json({ user: foundUser, token: token });
}
});
},

UpdateImageUrl: async (req, res) => {
const userId = req.body.userId;
const imageUrl = req.body.imageUrl;

try {
const updatedUser = await User.findOneAndUpdate(
{ _id: userId },
{ imageUrl: imageUrl },
{ new: true }
);

if (!updatedUser) {
return res.status(404).json({ message: "User not found" });
}

const token = await TokenGenerator.jsonwebtoken(updatedUser.id);
res.status(200).json({ message: "User updated", token });
} catch (error) {
console.log("Error updating user:", error);
res.status(500).json({ message: "Error updating user" });
}
},
};

module.exports = UserController;
1 change: 1 addition & 0 deletions api/models/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const UserSchema = new mongoose.Schema({
firstName: { type: String, required: true },
lastName: { type: String, required: true },
userName: { type: String, required: true },
imageUrl: { type: String },

});
// Before saving the user, hash the password if it has been modified
Expand Down
Loading