diff --git a/src/handlers/friendRequestHandler.js b/src/handlers/friendRequestHandler.js index 3c09331b..7010ae93 100644 --- a/src/handlers/friendRequestHandler.js +++ b/src/handlers/friendRequestHandler.js @@ -14,10 +14,10 @@ exports.friendRequest = async (request, reply) => { const { senderId, receiverId } = request.body; // Check if the sender and receiver exist in the database - const sender = await User.findById(senderId); - const receiver = await Supplier.findById(receiverId); - console.log("sender" , sender) - console.log("receiver" , receiver) + const sender = await User.findOne(senderId); + const receiver = await Supplier.findOne(receiverId); + console.log("sender" , sender.customerId) + console.log("receiver" , receiver.supplierId) if (!sender || !receiver) { @@ -25,22 +25,21 @@ exports.friendRequest = async (request, reply) => { } // Check if a friend request already exists between the two users - const existingRequest = await FriendRequest.findOne({ sender: senderId, receiver: receiverId }); + const existingRequest = await FriendRequest.findOne({ customerId: sender.customerId, supplierId: receiver.supplierId}); + + console.log(existingRequest, " .. exist") if (existingRequest) { throw new Error('Friend request already sent'); } // Create a new friend request - const friendRequest = new FriendRequest({ - sender: senderId, - receiver: receiverId - }); + const friendRequest = new FriendRequest({ customerId: sender.customerId, supplierId: receiver.supplierId}); await friendRequest.save(); console.log("friendRequest", friendRequest) - reply.send({ message: 'Friend request sent' }); + reply.send({ message: 'Friend request sent' }); } catch (err) { reply.status(400).send({ error: err.message }); } @@ -49,10 +48,10 @@ exports.friendRequest = async (request, reply) => { // Handle friend request acceptance exports.friendRequestAccept = async (request, reply) => { try { - const {friendRequestId} = request.body; + const {supplierId} = request.body; // Update the friend request status to 'accepted' - const friendRequest = await FriendRequest.findByIdAndUpdate(friendRequestId, { status: 'accepted' }); + const friendRequest = await FriendRequest.findOneAndUpdate({supplierId}, { status: 'accepted' }); console.log("friendRequest....---", friendRequest) @@ -70,10 +69,10 @@ exports.friendRequestAccept = async (request, reply) => { // Handle friend request rejection exports.friendRequestReject = async (request, reply) => { try { - const {friendRequestId} = request.body; + const {supplierId} = request.body; - // Update the friend request status to 'rejected' - const friendRequest = await FriendRequest.findByIdAndUpdate(friendRequestId, { status: 'rejected' }); + // Update the friend request status to 'reject' + const friendRequest = await FriendRequest.findOneAndUpdate({supplierId}, { status: 'rejected' }); console.log("friendRequest....---", friendRequest) diff --git a/src/models/supplier.js b/src/models/supplier.js index f2c270b5..a81210e4 100644 --- a/src/models/supplier.js +++ b/src/models/supplier.js @@ -94,8 +94,8 @@ const supplierSchema = new mongoose.Schema( // }) const friendRequestSchema = new mongoose.Schema({ - sender: { type: mongoose.Schema.Types.ObjectId, ref: 'user' }, - receiver: { type: mongoose.Schema.Types.ObjectId, ref: 'supplier' }, + customerId: { type: String, default: null }, + supplierId: { type: String, default: null }, status: { type: String, default: "pending" }, timestamp: { type: Date, default: Date.now } }); diff --git a/src/routes/friendRequestRoute.js b/src/routes/friendRequestRoute.js index b92a2455..65a873f2 100644 --- a/src/routes/friendRequestRoute.js +++ b/src/routes/friendRequestRoute.js @@ -16,8 +16,8 @@ module.exports = function (fastify, opts, next) { type: "object", //required: ["customerId"], properties: { - senderId: { type: "string" }, - receiverId : { type : "string"} + customerId: { type: "string" }, + supplierId : { type : "string"} }, }, security: [ @@ -40,7 +40,7 @@ module.exports = function (fastify, opts, next) { body: { type: "object", properties: { - friendRequestId: { type: "string" }, + supplierId: { type: "string" }, }, }, @@ -63,7 +63,7 @@ module.exports = function (fastify, opts, next) { body: { type: "object", properties: { - friendRequestId: { type: "string" }, + supplierId: { type: "string" }, }, }, @@ -75,6 +75,8 @@ module.exports = function (fastify, opts, next) { }, handler: validationHandler.friendRequestReject }); + + next(); }