* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Flarum\Core\Access; use Flarum\Core\User; use Illuminate\Database\Eloquent\Builder; class UserPolicy extends AbstractPolicy { /** * {@inheritdoc} */ protected $model = User::class; /** * @param User $actor * @param string $ability * @return bool|null */ public function before(User $actor, $ability) { if ($actor->hasPermission('user.'.$ability)) { return true; } } /** * @param User $actor * @param Builder $query */ public function find(User $actor, Builder $query) { if ($actor->cannot('viewDiscussions')) { $query->whereRaw('FALSE'); } } }