diff --git a/app/Services/Logic/Course/ConsultListTrait.php b/app/Services/Logic/Course/ConsultListTrait.php index 33a9f183..69741811 100644 --- a/app/Services/Logic/Course/ConsultListTrait.php +++ b/app/Services/Logic/Course/ConsultListTrait.php @@ -32,6 +32,7 @@ trait ConsultListTrait foreach ($consults as $consult) { $owner = $users[$consult['owner_id']] ?? new \stdClass(); + $me = $meMappings[$consult['id']]; $items[] = [ @@ -61,8 +62,13 @@ trait ConsultListTrait $likedIds = []; if ($user->id > 0) { - $likes = $likeRepo->findByUserId($user->id); - $likedIds = array_column($likes->toArray(), 'consult_id'); + $likes = $likeRepo->findByUserId($user->id) + ->filter(function ($like) { + if ($like->deleted == 0) { + return $like; + } + }); + $likedIds = array_column($likes, 'consult_id'); } $result = []; @@ -70,6 +76,7 @@ trait ConsultListTrait foreach ($consults as $consult) { $result[$consult['id']] = [ 'liked' => in_array($consult['id'], $likedIds) ? 1 : 0, + 'owned' => $consult['owner_id'] == $user->id ? 1 : 0, ]; } diff --git a/app/Services/Logic/Course/ReviewList.php b/app/Services/Logic/Course/ReviewList.php index 862e50b8..1d49cae6 100644 --- a/app/Services/Logic/Course/ReviewList.php +++ b/app/Services/Logic/Course/ReviewList.php @@ -62,6 +62,7 @@ class ReviewList extends LogicService foreach ($reviews as $review) { $owner = $users[$review['owner_id']] ?? new \stdClass(); + $me = $meMappings[$review['id']]; $items[] = [ @@ -81,7 +82,7 @@ class ReviewList extends LogicService return $pager; } - protected function getMeMappings($consults) + protected function getMeMappings($reviews) { $user = $this->getCurrentUser(true); @@ -90,15 +91,21 @@ class ReviewList extends LogicService $likedIds = []; if ($user->id > 0) { - $likes = $likeRepo->findByUserId($user->id); - $likedIds = array_column($likes->toArray(), 'review_id'); + $likes = $likeRepo->findByUserId($user->id) + ->filter(function ($like) { + if ($like->deleted == 0) { + return $like; + } + }); + $likedIds = array_column($likes, 'review_id'); } $result = []; - foreach ($consults as $consult) { + foreach ($reviews as $consult) { $result[$consult['id']] = [ 'liked' => in_array($consult['id'], $likedIds) ? 1 : 0, + 'owned' => $consult['owner_id'] == $user->id ? 1 : 0, ]; }