Merge pull request #5195 from pixelfed/staging

Fix BeagleService
This commit is contained in:
daniel 2024-06-30 23:30:29 -06:00 committed by GitHub
commit 6dc2c5fd8f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -16,6 +16,8 @@ class BeagleService
const DISCOVER_CACHE_KEY = 'pf:services:beagle:discover:v1'; const DISCOVER_CACHE_KEY = 'pf:services:beagle:discover:v1';
const DISCOVER_POSTS_CACHE_KEY = 'pf:services:beagle:discover-posts:v1';
public static function getDefaultRules() public static function getDefaultRules()
{ {
return Cache::remember(self::DEFAULT_RULES_CACHE_KEY, now()->addDays(7), function () { return Cache::remember(self::DEFAULT_RULES_CACHE_KEY, now()->addDays(7), function () {
@ -82,6 +84,7 @@ class BeagleService
public static function getDiscoverPosts() public static function getDiscoverPosts()
{ {
return Cache::remember(self::DISCOVER_POSTS_CACHE_KEY, now()->addHours(1), function () {
$posts = collect(self::getDiscover()) $posts = collect(self::getDiscover())
->filter(function ($post) { ->filter(function ($post) {
$bannedInstances = InstanceService::getBannedDomains(); $bannedInstances = InstanceService::getBannedDomains();
@ -98,11 +101,19 @@ class BeagleService
return StatusService::get($id); return StatusService::get($id);
} }
return Helpers::statusFetch($post['id']); $post = Helpers::statusFetch($post['id']);
if (! $post) {
return;
}
$id = $post->id;
return StatusService::get($id);
}) })
->filter()
->values() ->values()
->toArray(); ->toArray();
return $posts; return $posts;
});
} }
} }