Loading app/Models/MediaModel.php +27 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,18 @@ class MediaModel extends Model 'updated_by', ]; /** * clear cache before update if by any chance, the podcast name changes, so will the podcast link * * @var string[] */ protected $beforeUpdate = ['clearCache']; /** * @var string[] */ protected $beforeDelete = ['clearCache']; /** * Model constructor. * Loading Loading @@ -166,4 +178,19 @@ class MediaModel extends Model return $this->delete($media->id, true); } /** * @param mixed[] $data * * @return mixed[] */ protected function clearCache(array $data): array { $mediaId = (is_array($data['id']) ? $data['id'][0] : $data['id']); cache() ->delete("media#{$mediaId}"); return $data; } } modules/Admin/Controllers/PodcastController.php +3 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,9 @@ class PodcastController extends BaseController ->withInput() ->with('errors', $mediaModel->errors()); } (new PodcastModel())->clearCache([ 'id' => $this->podcast->id, ]); // remove banner url from actor $actor = (new ActorModel())->getActorById($this->podcast->actor_id); Loading Loading
app/Models/MediaModel.php +27 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,18 @@ class MediaModel extends Model 'updated_by', ]; /** * clear cache before update if by any chance, the podcast name changes, so will the podcast link * * @var string[] */ protected $beforeUpdate = ['clearCache']; /** * @var string[] */ protected $beforeDelete = ['clearCache']; /** * Model constructor. * Loading Loading @@ -166,4 +178,19 @@ class MediaModel extends Model return $this->delete($media->id, true); } /** * @param mixed[] $data * * @return mixed[] */ protected function clearCache(array $data): array { $mediaId = (is_array($data['id']) ? $data['id'][0] : $data['id']); cache() ->delete("media#{$mediaId}"); return $data; } }
modules/Admin/Controllers/PodcastController.php +3 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,9 @@ class PodcastController extends BaseController ->withInput() ->with('errors', $mediaModel->errors()); } (new PodcastModel())->clearCache([ 'id' => $this->podcast->id, ]); // remove banner url from actor $actor = (new ActorModel())->getActorById($this->podcast->actor_id); Loading