<?php namespace App\Models\Policies; use App\Models\User; class UserPolicy { /** * Does this user have admin privileges * * @param User $user * @return bool */ public function admin(User $user): bool { return $user->isAdmin(); } /** * Does this user own the model? * * @param User $user * @param User $model * @return bool */ public function ownes(User $user,User $model): bool { return $user->id === $model->id; } /** * Determine whether the user can view any models. */ public function viewAny(User $user): bool { return FALSE; } /** * Determine whether the user can view the model. */ public function view(User $user, User $model): bool { return FALSE; } /** * Determine whether the user can create models. */ public function create(User $user): bool { return FALSE; } /** * Determine whether the user can update the model, or if the user is an admin, and thus they can update all users. */ public function update(User $user, User $model): bool { return $user->isAdmin() || ($model->id === $user->id); } /** * Determine whether the user can delete the model. */ public function delete(User $user, User $model): bool { return FALSE; } /** * Determine whether the user can restore the model. */ public function restore(User $user, User $model): bool { return FALSE; } /** * Determine whether the user can permanently delete the model. */ public function forceDelete(User $user, User $model): bool { return FALSE; } }