Mohamed Abu Basith commited on
Commit
d1794f9
·
1 Parent(s): f54195d

Updated code

Browse files
Files changed (1) hide show
  1. routes/profileUpdate.js +15 -6
routes/profileUpdate.js CHANGED
@@ -197,7 +197,7 @@ router.put("/:userId/addresses/:addressId", asyncHandler(async (req, res) => {
197
  const updatedUser = await User.findOneAndUpdate(
198
  {
199
  unique_id: req.params.userId,
200
- "addresses._id": req.params.addressId
201
  },
202
  {
203
  $set: {
@@ -208,14 +208,23 @@ router.put("/:userId/addresses/:addressId", asyncHandler(async (req, res) => {
208
  );
209
 
210
  if (!updatedUser) {
211
- return res.status(404).json(failedResponse("Address not found", 404));
212
  }
213
- console.log(JSON.stringify(updatedUser))
214
- const updatedAddress = updatedUser.addresses.find(a => a._id.equals(req.params.addressId));
215
- console.log("FINALL LIST: "+JSON.stringify(updatedUser))
 
 
 
 
 
 
 
 
216
  res.status(200).json(successResponse("Address updated successfully", updatedAddress));
217
  } catch (error) {
218
- return res.status(500).json(failedResponse(error, 500));
 
219
  }
220
  }));
221
 
 
197
  const updatedUser = await User.findOneAndUpdate(
198
  {
199
  unique_id: req.params.userId,
200
+ "addresses._id": req.params.addressId // Compare as string
201
  },
202
  {
203
  $set: {
 
208
  );
209
 
210
  if (!updatedUser) {
211
+ return res.status(404).json(failedResponse("User or address not found", 404));
212
  }
213
+
214
+ // Find the updated address by comparing _id as a string
215
+ const updatedAddress = updatedUser.addresses.find(a => a._id === req.params.addressId);
216
+
217
+ if (!updatedAddress) {
218
+ return res.status(404).json(failedResponse("Address not found in the user's addresses", 404));
219
+ }
220
+
221
+ console.log("Updated User:", updatedUser);
222
+ console.log("Updated Address:", updatedAddress);
223
+
224
  res.status(200).json(successResponse("Address updated successfully", updatedAddress));
225
  } catch (error) {
226
+ console.error("Error updating address:", error);
227
+ return res.status(500).json(failedResponse(error.message || "Internal server error", 500));
228
  }
229
  }));
230