added pprofile picture in user and writeen update function

master
varun 3 years ago
parent b06f48fca9
commit 95e7309696

@ -340,28 +340,21 @@ exports.uploadProfilePicture = async (req, reply) => {
try {
const customerId = req.params.customerId;
const picture = new Buffer.from(req.body.picture, 'base64');
let profilePicture = await ProfilePicture.findOne({ customerId });
const profilePicture = new ProfilePicture({ customerId, picture });
await profilePicture.save();
return { message: 'Profile picture uploaded successfully' };
} catch (error) {
reply.status(500).send({ error: error.message });
}
};
exports.updateProfilePicture = async (req, reply) => {
try {
const customerId = req.params.customerId;
const picture = new Buffer.from(req.body.picture, 'base64');
const profilePicture = await ProfilePicture.findOneAndUpdate({ customerId }, { picture }, { new: true });
if (!profilePicture) {
reply.status(404).send({ error: 'Profile picture not found' });
return;
profilePicture = new ProfilePicture({
customerId,
picture,
});
} else {
profilePicture. picture = picture;
}
return { message: 'Profile picture updated successfully' };
await profilePicture.save();
reply.send({ message: 'Profile picture uploaded successfully' });
} catch (error) {
reply.status(500).send({ error: error.message });
}
@ -370,3 +363,4 @@ exports.updateProfilePicture = async (req, reply) => {

@ -113,7 +113,7 @@ const userSchema = new mongoose.Schema(
const profilePictureSchema = new Schema({
customerId: {
type: String,
type: String,unique: true,
required: true
},
picture: {

@ -412,40 +412,7 @@ module.exports = function (fastify, opts, next) {
},
handler: userController.uploadProfilePicture,
});
fastify.route({
method: "POST",
url: "/api/users/update-profile-picture/:customerId",
schema: {
tags: ["User"],
description: "This is for updating profile picture.",
summary: "This is for updating profile picture.",
params: {
type: "object",
properties: {
customerId: {
type: "string",
description: "customerId",
},
},
},
body: {
type: "object",
required: ["picture"],
properties: {
picture: {
type: 'string'
}
},
},
security: [
{
basicAuth: [],
},
],
},
handler: userController.updateProfilePicture,
});

Loading…
Cancel
Save