Files
librenms-librenms/app/Policies/UserPolicy.php

82 lines
1.6 KiB
PHP
Raw Normal View History

<?php
namespace App\Policies;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class UserPolicy
{
use HandlesAuthorization;
/**
* Determine whether the user can manage users.
*
* @param \App\Models\User $user
* @return bool
*/
public function manage(User $user)
{
return $user->isAdmin();
}
/**
* Determine whether the user can view the user.
*
* @param \App\Models\User $user
* @param \App\Models\User $target
* @return bool
*/
public function view(User $user, User $target)
{
return $user->isAdmin() || $target->is($user);
}
/**
* Determine whether the user can view any user.
*
* @param \App\User $user
* @return mixed
*/
public function viewAny(User $user)
{
return $user->isAdmin();
}
/**
* Determine whether the user can create users.
*
* @param \App\Models\User $user
* @return bool
*/
public function create(User $user)
{
return $user->isAdmin();
}
/**
* Determine whether the user can update the user.
*
* @param \App\Models\User $user
* @param \App\Models\User $target
* @return bool
*/
public function update(User $user, User $target)
{
return $user->isAdmin() || $target->is($user);
}
/**
* Determine whether the user can delete the user.
*
* @param \App\Models\User $user
* @param \App\Models\User $target
* @return bool
*/
public function delete(User $user, User $target)
{
return $user->isAdmin();
}
}