From 2eb264433e0f2a695a0cb88a2fd4677bbf2b3686 Mon Sep 17 00:00:00 2001 From: Bhaskara Kishore Date: Thu, 4 May 2023 15:10:16 +0530 Subject: [PATCH] supplier profilePicture --- src/handlers/supplierHandler.js | 30 +++++++++++++++++++++++++-- src/models/supplier.js | 14 ++++++++++++- src/routes/supplierRoute.js | 36 +++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 3 deletions(-) diff --git a/src/handlers/supplierHandler.js b/src/handlers/supplierHandler.js index 2d88e7ce..229dbb03 100644 --- a/src/handlers/supplierHandler.js +++ b/src/handlers/supplierHandler.js @@ -1,5 +1,5 @@ //Get the data models -const { Supplier, DeliveryBoy } = require("../models/supplier"); +const { Supplier, DeliveryBoy, profilePictureSupplier } = require("../models/supplier"); const { FriendRequest } = require("../models/supplier"); const { ProfilePicture, User } = require("../models/User"); const supplierController = require("../controllers/supplierController"); @@ -173,7 +173,7 @@ exports.loginSupplier = async (request, reply) => { var s_id = loginObject.supplier.supplierId; console.log(s_id, "supplierId"); - var profilePicture = await ProfilePicture.findOne({ supplierId: s_id }); + var profilePicture = await profilePictureSupplier.findOne({ supplierId: s_id }); // request.session.set('supplierId', loginObject.supplier._id) @@ -1189,3 +1189,29 @@ exports.getconnectedCustomers = async (req, reply) => { throw boom.boomify(err); } }; + + +exports.uploadProfilePicture = async (req, reply) => { + try { + const supplierId = req.params.supplierId; + const picture = req.body.picture; + + let profilePicture = await profilePictureSupplier.findOne({ supplierId }); + + console.log(profilePicture,"profile===") + if (!profilePicture) { + profilePicture = new profilePictureSupplier({ + supplierId, + picture, + }); + } else { + profilePicture.picture = picture; + } + + await profilePicture.save(); + + reply.send({ message: 'Profile picture uploaded successfully' }); + } catch (error) { + reply.status(500).send({ error: error.message }); + } +}; diff --git a/src/models/supplier.js b/src/models/supplier.js index 13e3d143..9e9d2197 100644 --- a/src/models/supplier.js +++ b/src/models/supplier.js @@ -131,12 +131,24 @@ const supplierSchema = new mongoose.Schema( fcmId: { type: String, default: null }, }); + const profilePictureSupplierSchema = new Schema({ + supplierId: { + type: String,unique: true, + required: true + }, + picture: { + type: String, + required: true + } + }); + const Supplier = mongoose.model("Supplier", supplierSchema); //const DeliveryAgent = mongoose.model("DeliveryAgent", deliveryAgent); const FriendRequest = mongoose.model('FriendRequest', friendRequestSchema); const DeliveryBoy = mongoose.model('DeliveryBoy', deliveryBoySchema); +const profilePictureSupplier = mongoose.model('ProfilePictureSupplier', profilePictureSupplierSchema); -module.exports = { Supplier, generateSupplierId, FriendRequest,DeliveryBoy} +module.exports = { Supplier, generateSupplierId, FriendRequest,DeliveryBoy, profilePictureSupplier} diff --git a/src/routes/supplierRoute.js b/src/routes/supplierRoute.js index 6fea8da0..416bd1c6 100644 --- a/src/routes/supplierRoute.js +++ b/src/routes/supplierRoute.js @@ -539,6 +539,42 @@ module.exports = function (fastify, opts, next) { handler: supplierController.editCuurentSupplierInfo, }); + + fastify.route({ + method: "POST", + url: "/api/supplier/profile-picture/:supplierId", + schema: { + tags: ["Supplier"], + description: "This is for uploading profile picture supplier.", + summary: "This is for uploading profile picture supplier.", + params: { + type: "object", + properties: { + supplierId: { + type: "string", + description: "supplierId", + }, + }, + }, + body: { + type: "object", + required: ["picture"], + properties: { + picture: { + type: 'string' + } + }, + }, + security: [ + { + basicAuth: [], + }, + ], + }, + handler: validationHandler.uploadProfilePicture, + }); + + next(); }