fix(cache): add locale for podcast and episode pages + clear some persisting cache in models

fixes #42, #61
This commit is contained in:
Yassine Doghri 2020-10-20 10:31:40 +00:00
commit 9cec8a81cc
6 changed files with 209 additions and 106 deletions

View file

@ -44,11 +44,10 @@ class Episode extends BaseController
{
self::triggerWebpageHit($this->episode->podcast_id);
if (
!($cachedView = cache(
"page_podcast{$this->episode->podcast_id}_episode{$this->episode->id}"
))
) {
$locale = service('request')->getLocale();
$cacheName = "page_podcast{$this->episode->podcast_id}_episode{$this->episode->id}_{$locale}";
if (!($cachedView = cache($cacheName))) {
$previousNextEpisodes = (new EpisodeModel())->getPreviousNextEpisodes(
$this->episode,
$this->podcast->type
@ -64,7 +63,7 @@ class Episode extends BaseController
// The page cache is set to a decade so it is deleted manually upon podcast update
return view('episode', $data, [
'cache' => DECADE,
'cache_name' => "page_podcast{$this->episode->podcast_id}_episode{$this->episode->id}",
'cache_name' => $cacheName,
]);
}

View file

@ -58,15 +58,13 @@ class Podcast extends BaseController
"podcast{$this->podcast->id}",
$yearQuery,
$seasonQuery ? 'season' . $seasonQuery : null,
service('request')->getLocale(),
])
);
if (!($found = cache($cacheName))) {
// The page cache is set to a decade so it is deleted manually upon podcast update
// $this->cachePage(DECADE);
$episodeModel = new EpisodeModel();
// Build navigation array
$episodeModel = new EpisodeModel();
$years = $episodeModel->getYears($this->podcast->id);
$seasons = $episodeModel->getSeasons($this->podcast->id);