refactor PersonController; replace caching logic with GetPersonDataAction for improved maintainability and clarity

This commit is contained in:
F4ilji
2025-07-18 17:10:49 +05:00
parent de7ef99b47
commit 1fc793089c
5 changed files with 73 additions and 72 deletions
@@ -0,0 +1,22 @@
<?php
namespace App\Containers\User\Actions;
use App\Containers\User\Tasks\FindPersonBySlugTask;
use App\Containers\User\Tasks\GetSeoForPersonTask;
class GetPersonDataAction
{
public function __construct(
private readonly FindPersonBySlugTask $findPersonBySlugTask,
private readonly GetSeoForPersonTask $getSeoForPersonTask,
) {}
public function run(string $slug): array
{
$personData = $this->findPersonBySlugTask->run($slug);
$seo = $this->getSeoForPersonTask->run($personData);
return compact('personData', 'seo');
}
}