mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-25 06:23:18 +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'),
|
'media_ids' => 'sometimes|array|max:' . config_cache('pixelfed.max_album_length'),
|
||||||
'sensitive' => 'nullable',
|
'sensitive' => 'nullable',
|
||||||
'visibility' => 'string|in:private,unlisted,public',
|
'visibility' => 'string|in:private,unlisted,public',
|
||||||
'spoiler_text' => 'sometimes|string|max:140',
|
'spoiler_text' => 'sometimes|max:140',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if(config('costar.enabled') == true) {
|
if(config('costar.enabled') == true) {
|
||||||
|
|
|
@ -194,6 +194,9 @@ class NotificationService {
|
||||||
|
|
||||||
public static function set($id, $val)
|
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);
|
return Redis::zadd(self::CACHE_KEY . $id, $val, $val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,7 +223,7 @@ class NotificationService {
|
||||||
|
|
||||||
public static function getNotification($id)
|
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);
|
$n = Notification::with('item')->find($id);
|
||||||
|
|
||||||
if(!$n) {
|
if(!$n) {
|
||||||
|
@ -238,6 +241,16 @@ class NotificationService {
|
||||||
$resource = new Fractal\Resource\Item($n, new NotificationTransformer());
|
$resource = new Fractal\Resource\Item($n, new NotificationTransformer());
|
||||||
return $fractal->createData($resource)->toArray();
|
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)
|
public static function setNotification(Notification $notification)
|
||||||
|
|
Loading…
Reference in a new issue