Mohamed Abu Basith commited on
Commit
da83842
·
1 Parent(s): 097fefe

CHG: changed logic

Browse files
Files changed (1) hide show
  1. routes/profileUpdate.js +6 -6
routes/profileUpdate.js CHANGED
@@ -8,6 +8,7 @@ const fs = require('fs');
8
  const router = express.Router();
9
  const User = require('../Database/models/user');
10
  const { successResponse, failedResponse } = require("../utils/responseModel");
 
11
 
12
 
13
  const storage = multer.diskStorage({
@@ -191,16 +192,15 @@ router.get("/:userId/addresses", asyncHandler(async (req, res) => {
191
  res.status(200).json(successResponse("Success!", user.addresses));
192
  }));
193
 
194
- // Update address
195
  router.put("/:userId/addresses/:addressId", asyncHandler(async (req, res) => {
196
  try {
197
- const addressId = req.params.addressId.trim(); // Trim whitespace
198
  console.log("Request Address ID:", addressId);
199
 
200
  const updatedUser = await User.findOneAndUpdate(
201
  {
202
  unique_id: req.params.userId,
203
- "addresses._id": addressId // Compare as string
204
  },
205
  {
206
  $set: {
@@ -221,12 +221,12 @@ router.put("/:userId/addresses/:addressId", asyncHandler(async (req, res) => {
221
  console.log(`Address ${index}:`, {
222
  _id: a._id,
223
  addressId: addressId,
224
- match: a._id === addressId
225
  });
226
  });
227
 
228
- // Find the updated address by comparing _id as a string
229
- const updatedAddress = updatedUser.addresses.find(a => a._id.toString().trim() === addressId.toString().trim());
230
 
231
  if (!updatedAddress) {
232
  console.log("Addresses Array:", updatedUser.addresses); // Log the addresses array
 
8
  const router = express.Router();
9
  const User = require('../Database/models/user');
10
  const { successResponse, failedResponse } = require("../utils/responseModel");
11
+ const { Types } = require('mongoose'); // Import Mongoose Types
12
 
13
 
14
  const storage = multer.diskStorage({
 
192
  res.status(200).json(successResponse("Success!", user.addresses));
193
  }));
194
 
 
195
  router.put("/:userId/addresses/:addressId", asyncHandler(async (req, res) => {
196
  try {
197
+ const addressId = new Types.ObjectId(req.params.addressId); // Convert to ObjectId
198
  console.log("Request Address ID:", addressId);
199
 
200
  const updatedUser = await User.findOneAndUpdate(
201
  {
202
  unique_id: req.params.userId,
203
+ "addresses._id": addressId // Use the converted ObjectId
204
  },
205
  {
206
  $set: {
 
221
  console.log(`Address ${index}:`, {
222
  _id: a._id,
223
  addressId: addressId,
224
+ match: a._id.equals(addressId) // Use .equals() for comparison
225
  });
226
  });
227
 
228
+ // Find the updated address by comparing _id as ObjectId
229
+ const updatedAddress = updatedUser.addresses.find(a => a._id.equals(addressId));
230
 
231
  if (!updatedAddress) {
232
  console.log("Addresses Array:", updatedUser.addresses); // Log the addresses array