Add DiscoverService

This commit is contained in:
Daniel Supernault 2021-12-19 00:43:09 -07:00
parent 2f0cd86ce3
commit 493c5ca0ce
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -0,0 +1,36 @@
<?php
namespace App\Services;
use Illuminate\Support\Facades\Cache;
use App\Status;
class DiscoverService
{
public static function getDailyIdPool()
{
$min_id = SnowflakeService::byDate(now()->subMonths(3));
return Status::select(
'id',
'is_nsfw',
'profile_id',
'type',
'uri',
)
->whereNull('uri')
->whereType('photo')
->whereIsNsfw(false)
->whereVisibility('public')
->where('id', '>', $min_id)
->inRandomOrder()
->take(300)
->pluck('id');
}
public static function getForYou()
{
return Cache::remember('pf:services:discover:for-you', 21600, function() {
return self::getDailyIdPool();
});
}
}