for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Devpri\Tinre\Policies;
use Devpri\Tinre\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
use Illuminate\Support\Facades\Route;
class UserPolicy
{
use HandlesAuthorization;
public function viewAny(User $user): bool
if ($user->hasPermissionTo('user:view:any')) {
return true;
}
return false;
public function view(User $user, User $userModel): bool
if (! $user->hasPermissionTo('user:view')) {
if ($user->id === $userModel->id) {
public function create(User $user): bool
if ($user->hasPermissionTo('user:create')) {
public function update(User $user, User $userModel): bool
if ($user->hasPermissionTo('user:update:any')) {
public function updateOwn(User $user, User $userModel): bool
if (! $user->hasPermissionTo('user:update')) {
public function changeEmail(User $user): bool
if (! $user->hasPermissionTo('user:change_email')) {
if (Route::has('email.change')) {
public function delete(User $user, User $userModel): bool
if ($user->hasPermissionTo('user:delete:any')) {