. */ namespace Poniverse\Ponyfm\Http\Controllers\Api\Web; use Auth; use Carbon\Carbon; use Input; use Poniverse\Ponyfm\Http\Controllers\ApiControllerBase; use Poniverse\Ponyfm\Models\Notification; class NotificationsController extends ApiControllerBase { /** * Returns the logged-in user's last 20 notifications. * * @return array */ public function getNotifications() { $notifications = Notification::forUser(Auth::user()) ->take(20) ->get(); return ['notifications' => $notifications->toArray()]; } /** * This action returns the number of notifications that were updated. * Any notifications that were specified that don't belong to the logged-in * user are ignored. * * @return array */ public function putMarkAsRead() { $notificationIds = Input::json('notification_ids'); $numberOfUpdatedRows = Auth::user() ->notifications() ->whereIn('id', $notificationIds) ->update(['is_read' => true]); return ['notifications_updated' => $numberOfUpdatedRows]; } }