refactor ClientProgramController; replace caching logic with action classes for educational program retrieval and enhance code clarity

This commit is contained in:
F4ilji
2025-07-18 15:57:58 +05:00
parent 839d8edfcd
commit 18d1501b67
13 changed files with 404 additions and 155 deletions
@@ -0,0 +1,18 @@
<?php
namespace App\Containers\Education\Tasks;
use App\Ship\Contracts\SeoServiceInterface;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Cache;
class GetSeoForModelTask
{
public function run(SeoServiceInterface $seoPageProvider, Model $model)
{
$cacheKeySeo = 'education_program_seo_' . md5($model->slug);
return Cache::remember($cacheKeySeo, now()->addHours(1), function () use ($seoPageProvider, $model) {
return $seoPageProvider->getSeoForModel($model);
});
}
}