getAlertableNotificationTypes() public method

Get the notification types that should be alerted to this user, according to their preferences.
Example #1
0
 /**
  * Find a user's notifications.
  *
  * @param User $user
  * @param int|null $limit
  * @param int $offset
  * @return \Illuminate\Database\Eloquent\Collection
  */
 public function findByUser(User $user, $limit = null, $offset = 0)
 {
     $primaries = Notification::select(app('flarum.db')->raw('MAX(id) AS id'), app('flarum.db')->raw('SUM(is_read = 0) AS unread_count'))->where('user_id', $user->id)->whereIn('type', $user->getAlertableNotificationTypes())->where('is_deleted', false)->groupBy('type', 'subject_id')->orderByRaw('MAX(time) DESC')->skip($offset)->take($limit);
     return Notification::select('notifications.*', app('flarum.db')->raw('p.unread_count'))->mergeBindings($primaries->getQuery())->join(app('flarum.db')->raw('(' . $primaries->toSql() . ') p'), 'notifications.id', '=', app('flarum.db')->raw('p.id'))->latest('time')->get();
 }