Update FollowerService

This commit is contained in:
Daniel Supernault 2021-08-31 00:37:02 -06:00
parent 1c59933c0a
commit ad2db4aea7
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -49,14 +49,28 @@ class FollowerService
return (new self)->getAudienceInboxes($profile);
}
protected function getAudienceInboxes($profile, $scope = null)
public static function softwareAudience($profile, $software = 'pixelfed')
{
if(!$profile instanceOf Profile) {
return [];
return collect(self::audience($profile))
->filter(function($inbox) use($software) {
$domain = parse_url($inbox, PHP_URL_HOST);
if(!$domain) {
return false;
}
return InstanceService::software($domain) === strtolower($software);
})
->unique()
->values();
}
$key = 'pf:services:follow:audience:' . $profile->id;
return Cache::remember($key, 86400, function() use($profile) {
protected function getAudienceInboxes($pid, $scope = null)
{
$key = 'pf:services:follow:audience:' . $pid;
return Cache::remember($key, 86400, function() use($pid) {
$profile = Profile::find($pid);
if(!$profile) {
return [];
}
return $profile
->followers()
->whereLocalProfile(false)