Advertisement
shopnilSS

Update Profile dynamic way

Jun 9th, 2021
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //update own profile info
  2. const updateOwnProfileInfo = async (req, res) => {
  3.     const token = req.header("Authorization") //get the token from header
  4.     if(!token){
  5.         res.json({
  6.             message: "Token is not available"
  7.         })
  8.     }else{
  9.         const tokenData = jwt.verify(token, jwtToken)
  10.         const {id, userType } = tokenData //get the data from token
  11.         const {userId:bodyUserId}= req.body //get the user id from req.body
  12.         if(userType.toLowerCase() == "admin"){ //if the user is admin
  13.             const findAdmin = await Admin.findOne({_id: id, userId:bodyUserId}) //find the admin
  14.             if(findAdmin){
  15.                 const updateProfileInfo = await Admin.updateOne(  //update the admin profile data
  16.                     {
  17.                         _id: id
  18.                     }, //query
  19.                     {
  20.                         $set: req.body,
  21.                         $currentDate: {
  22.                             "modificationInfo.updatedAt": true
  23.                         }
  24.                     }, //update
  25.                     {multi: true} //option
  26.                 ) //update the data
  27.                 if(updateProfileInfo.nModified != 0 ){ //if there have any update happened
  28.                     res.status(202).json({
  29.                         message: `${findAdmin.personalInfo.FirstName} ${findAdmin.personalInfo.LastName} is updated successfully`
  30.                     })
  31.                 }else{
  32.                     res.status(404).json({
  33.                         message: `${findAdmin.personalInfo.FirstName} ${findAdmin.personalInfo.LastName} is not updated successfully`
  34.                     })
  35.                 }
  36.             }else{
  37.                 res.status(404).json({
  38.                     message: "Admin not found"
  39.                 })
  40.             }
  41.         }else if(userType.toLowerCase() == "customer"){ //if the user is customer
  42.             const findCustomer = await Customer.findOne({_id: id, userId:bodyUserId}) //find the customer
  43.             if(findCustomer){ //if the customer exist then it will execute
  44.                 const updateProfileInfo = await Customer.updateOne(  //update the customer data
  45.                     {
  46.                         _id: id
  47.                     }, //query
  48.                     {
  49.                         $set: req.body,
  50.                         $currentDate: {
  51.                             "modificationInfo.updatedAt": true
  52.                         }
  53.                     }, //update
  54.                     {multi: true} //option
  55.                 ) //update the data
  56.                 if(updateProfileInfo.nModified != 0 ){ //if there have any update happened
  57.                     res.status(202).json({
  58.                         message: `${findCustomer.personalInfo.firstName} ${findCustomer.personalInfo.lastName} is updated successfully`
  59.                     })
  60.                 }else{
  61.                     res.status(404).json({
  62.                         message: `${findCustomer.personalInfo.firstName} ${findCustomer.personalInfo.lastName} is not updated successfully`
  63.                     })
  64.                 }
  65.             }else{
  66.                 res.status(404).json({
  67.                     message: "Customer not found"
  68.                 })
  69.             }
  70.         }else if(userType.toLowerCase() == "seller"){ //if the user is seller
  71.             const findSeller = await Seller.findOne({_id: id, userId:bodyUserId}) //find the seller
  72.             if(findSeller){ //if the seller exist then it will execute
  73.                 const updateProfileInfo = await Seller.updateOne(  //update the seller data
  74.                     {
  75.                         _id: id
  76.                     }, //query
  77.                     {
  78.                         $set: req.body,
  79.                         $currentDate: {
  80.                             "modificationInfo.updatedAt": true
  81.                         }
  82.                     }, //update
  83.                     {multi: true} //option
  84.                 ) //update the data
  85.                 if(updateProfileInfo.nModified != 0 ){ //if there have any update happened
  86.                     res.status(202).json({
  87.                         message: `${findSeller.personalInfo.firstName} ${findSeller.personalInfo.lastName} is updated successfully`
  88.                     })
  89.                 }else{
  90.                     res.status(404).json({
  91.                         message: `${findSeller.personalInfo.firstName} ${findSeller.personalInfo.lastName} is not updated successfully`
  92.                     })
  93.                 }
  94.             }else{
  95.                 res.status(404).json({
  96.                     message: "Seller not found"
  97.                 })
  98.             }
  99.         }
  100.     }
  101. }
  102.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement