feat: add cache to ActivityPub sql queries + cache activity and note pages

- authenticated pages are not cached
- add AnalyticsTrait to register a podcast webpage hit across
mutliple controllers
- set actor_id as unique in podcasts table
- fix issues with preview card not appearing
- update codeigniter4-uuid
This commit is contained in:
Yassine Doghri 2021-04-22 17:20:28 +00:00
commit 2d297f45b3
No known key found for this signature in database
GPG key ID: 3E7F89498B960C9F
42 changed files with 879 additions and 536 deletions

View file

@ -56,7 +56,7 @@ class SoundbiteModel extends Model
*/
public function getEpisodeSoundbites(int $podcastId, int $episodeId): array
{
$cacheName = "podcast_episode#{$episodeId}_soundbites";
$cacheName = "podcast#{$podcastId}_episode#{$episodeId}_soundbites";
if (!($found = cache($cacheName))) {
$found = $this->where([
'episode_id' => $episodeId,
@ -77,7 +77,9 @@ class SoundbiteModel extends Model
: $data['id']['episode_id'],
);
cache()->delete("podcast_episode#{$episode->id}_soundbites");
cache()->delete(
"podcast#{$episode->podcast_id}_episode#{$episode->id}_soundbites",
);
// delete cache for rss feed
cache()->deleteMatching("podcast#{$episode->podcast_id}_feed*");