mirror of https://github.com/pixelfed/pixelfed.git
Fix NotificationService bug returning html response on /api/v1/notifications endpoint when a notification id belonging to a deleted account is rendered by checking AccountService before NotificationTransformer.
This commit is contained in:
parent
84961a8df6
commit
734b30e59a
|
@ -203,13 +203,19 @@ class NotificationService {
|
||||||
|
|
||||||
public static function getNotification($id)
|
public static function getNotification($id)
|
||||||
{
|
{
|
||||||
return Cache::remember('service:notification:'.$id, now()->addDays(3), function() use($id) {
|
return 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) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$account = AccountService::get($n->actor_id, true);
|
||||||
|
|
||||||
|
if(!$account) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
$fractal = new Fractal\Manager();
|
$fractal = new Fractal\Manager();
|
||||||
$fractal->setSerializer(new ArraySerializer());
|
$fractal->setSerializer(new ArraySerializer());
|
||||||
$resource = new Fractal\Resource\Item($n, new NotificationTransformer());
|
$resource = new Fractal\Resource\Item($n, new NotificationTransformer());
|
||||||
|
|
Loading…
Reference in New Issue