Advertisement
shopnilSS

Untitled

Dec 30th, 2021
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const getAllCommentByBlogId = async ({id}, req) => {
  2.     try {
  3.         const {isAuth}  = req //get the authenticated user status
  4.         if (isAuth) { //if the user is authenticated then it will execute
  5.             const getAllComment = await Comment.find (
  6.                 {
  7.                     "blog": id,
  8.                     // isDelete: false
  9.                 }
  10.             ).populate({
  11.                 path: "user",
  12.                 select: `
  13.                     personalInfo.firstName
  14.                     personalInfo.lastName
  15.                     personalInfo.profileImage
  16.                     personalInfo.email
  17.                     -_id
  18.                    
  19.                 `
  20.             }).select (`
  21.                 commentId
  22.                 content
  23.                 inherit
  24.                 isDelete
  25.                 -_id
  26.             `)
  27.             if (getAllComment.length != 0) { //if comment found then it will happen
  28.                 const allComment = getAllComment
  29.  
  30.                 //but it filtered same things but not working
  31.                 const parent = allComment.filter (data => !data.inherit) //get all root parent comment
  32.  
  33.                 //parent will give
  34.                 /*parent: [
  35.                     {
  36.                     commentId: 'CMNT87566',
  37.                     inherit: '',
  38.                     user: [Object],
  39.                     content: 'Hello I am John',
  40.                     isDelete: false
  41.                     }
  42.                 ]*/
  43.  
  44.                 //when i gave this it works
  45.                 const parentOne = [
  46.                     {
  47.                         commentId: 'CMNT87566',
  48.                         content: 'Hello I am X',
  49.                         inherit: '',
  50.                         isDelete: false,
  51.                         user : {
  52.                             personalInfo: {
  53.                                 firstName: "Mr",
  54.                                 lastName:"John"
  55.                             }
  56.                         }
  57.                     }
  58.                 ]
  59.                 console.log({parentOne, parent})
  60.  
  61.  
  62.  
  63.  
  64.                 function recursive (parent) {
  65.                     parent.map (singleParent => {
  66.                         singleParent.child = []
  67.                         allComment.map (singleChild => {
  68.                             if (singleChild.inherit == singleParent.commentId) {
  69.                                 singleParent.child = [...singleParent.child, singleChild]
  70.                             }
  71.                         })
  72.                         if (singleParent.child.length) {
  73.                             recursive(singleParent.child)
  74.                         }else {
  75.                             singleParent.child = []
  76.                         }
  77.                     })
  78.                 }
  79.                 recursive(parent)
  80.                
  81.                
  82.                
  83.             }else {
  84.                 return {
  85.                     message: "No Comment Found"
  86.                 }
  87.             }
  88.         }else {
  89.             return {
  90.                 message: "Unauthorized user"
  91.             }
  92.         }
  93.     }catch (err) {
  94.         return {
  95.             message: err.message
  96.         }
  97.         console.log(err)
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement