mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-23 21:43:17 +00:00
Limit NotificationService to 400 items
This commit is contained in:
parent
284d6fedaf
commit
f6ed560e78
2 changed files with 15 additions and 2 deletions
|
@ -2449,7 +2449,7 @@ class ApiV1Controller extends Controller
|
|||
'media_ids' => 'sometimes|array|max:' . config_cache('pixelfed.max_album_length'),
|
||||
'sensitive' => 'nullable',
|
||||
'visibility' => 'string|in:private,unlisted,public',
|
||||
'spoiler_text' => 'sometimes|string|max:140',
|
||||
'spoiler_text' => 'sometimes|max:140',
|
||||
]);
|
||||
|
||||
if(config('costar.enabled') == true) {
|
||||
|
|
|
@ -194,6 +194,9 @@ class NotificationService {
|
|||
|
||||
public static function set($id, $val)
|
||||
{
|
||||
if(self::count($id) > 400) {
|
||||
Redis::zpopmin(self::CACHE_KEY . $id);
|
||||
}
|
||||
return Redis::zadd(self::CACHE_KEY . $id, $val, $val);
|
||||
}
|
||||
|
||||
|
@ -220,7 +223,7 @@ class NotificationService {
|
|||
|
||||
public static function getNotification($id)
|
||||
{
|
||||
return Cache::remember('service:notification:'.$id, 86400, function() use($id) {
|
||||
$notification = Cache::remember('service:notification:'.$id, 86400, function() use($id) {
|
||||
$n = Notification::with('item')->find($id);
|
||||
|
||||
if(!$n) {
|
||||
|
@ -238,6 +241,16 @@ class NotificationService {
|
|||
$resource = new Fractal\Resource\Item($n, new NotificationTransformer());
|
||||
return $fractal->createData($resource)->toArray();
|
||||
});
|
||||
|
||||
if(!$notification) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(isset($notification['account'])) {
|
||||
$notification['account'] = AccountService::get($notification['account']['id'], true);
|
||||
}
|
||||
|
||||
return $notification;
|
||||
}
|
||||
|
||||
public static function setNotification(Notification $notification)
|
||||
|
|
Loading…
Reference in a new issue