From c6c79ade081858be31bbcb8688ff6ce05e84adbf Mon Sep 17 00:00:00 2001 From: alex-chevski Date: Tue, 23 Jan 2024 16:10:20 +0300 Subject: [PATCH] filter blog_post by role --- app/Livewire/BlogPost/ListView.php | 4 +- app/Services/BlogPost/ListViewService.php | 8 ++-- resources/views/blog_post/show.blade.php | 5 --- tests/Feature/BlogPost/IndexTest.php | 49 ++++++++++++++++++++--- 4 files changed, 50 insertions(+), 16 deletions(-) diff --git a/app/Livewire/BlogPost/ListView.php b/app/Livewire/BlogPost/ListView.php index 7064835..e17ca3f 100644 --- a/app/Livewire/BlogPost/ListView.php +++ b/app/Livewire/BlogPost/ListView.php @@ -27,8 +27,10 @@ class ListView extends Component 'author' => ['except' => ''], ]; - public function render(ListViewService $service): View + public function render(): View { + $service = new ListViewService($this); + $posts = $service->buildBlogPosts(); return view('livewire.blog-post.list-view', ['blogPosts' => $posts->orderBy('created_at', 'desc')->paginate(10)]); diff --git a/app/Services/BlogPost/ListViewService.php b/app/Services/BlogPost/ListViewService.php index c1e78c0..5ffa3ed 100644 --- a/app/Services/BlogPost/ListViewService.php +++ b/app/Services/BlogPost/ListViewService.php @@ -19,11 +19,11 @@ class ListViewService $this->parentState = $parent; } - public function buildBlogPosts(): BlogPost + public function buildBlogPosts(): BlogPost|Builder { - $recipes = $this->getPrimaryCriteriedBlogPosts(); + $posts = $this->getPrimaryCriteriedBlogPosts(); - return $this->getSecondaryCriteriedBlogPosts($recipes); + return $this->getSecondaryCriteriedBlogPosts($posts); } private function getPrimaryCriteriedBlogPosts(): Builder|BlogPost|MorphToMany|array @@ -41,7 +41,7 @@ class ListViewService return $posts; } - private function getSecondaryCriteriedBlogPosts(Builder|BlogPost|MorphToMany|array $posts): BlogPost + private function getSecondaryCriteriedBlogPosts(Builder|BlogPost|MorphToMany|array $posts): BlogPost|Builder { if ($this->parentState->typeFilter === 'user') { $posts = $posts->whereRelation('author', 'is_consultant', false); diff --git a/resources/views/blog_post/show.blade.php b/resources/views/blog_post/show.blade.php index be32877..c36d67a 100644 --- a/resources/views/blog_post/show.blade.php +++ b/resources/views/blog_post/show.blade.php @@ -88,11 +88,6 @@ class="announcement__actions-btn icon-more-horizontal">