%PDF- %PDF-
Direktori : /var/www/html/camillo/camillo-api-master/app/Policies/ |
Current File : /var/www/html/camillo/camillo-api-master/app/Policies/AbsencePolicy.php |
<?php namespace App\Policies; use App\Enums\UsertypeEnum; use App\User; use App\Models\Absence; use Illuminate\Auth\Access\HandlesAuthorization; class AbsencePolicy { use HandlesAuthorization; /** * Completely hides the absence. * * @param \App\User $user * @return mixed */ public function viewAny(User $user) { $allowed = [ UsertypeEnum::ADMIN, UsertypeEnum::PRINCIPAL ]; return in_array($user->usertype->role, $allowed); } /** * Determine whether the user can view the absence. * * @param \App\User $user * @param \App\Models\Absence $absence * @return mixed */ public function view(User $user, Absence $absence) { $allowed = [ UsertypeEnum::ADMIN, UsertypeEnum::PRINCIPAL ]; return in_array($user->usertype->role, $allowed); } /** * Determine whether the user can create absences. * * @param \App\User $user * @return mixed */ public function create(User $user) { return $user->usertype->role === UsertypeEnum::ADMIN; } /** * Determine whether the user can update the absence. * * @param \App\User $user * @param \App\Models\Absence $absence * @return mixed */ public function update(User $user, Absence $absence) { return $user->usertype->role === UsertypeEnum::ADMIN; } /** * Determine whether the user can delete the absence. * * @param \App\User $user * @param \App\Models\Absence $absence * @return mixed */ public function delete(User $user, Absence $absence) { return $user->usertype->role === UsertypeEnum::ADMIN; } /** * Determine whether the user can restore the absence. * * @param \App\User $user * @param \App\Models\Absence $absence * @return mixed */ public function restore(User $user, Absence $absence) { return $user->usertype->role === UsertypeEnum::ADMIN; } /** * Determine whether the user can permanently delete the absence. * * @param \App\User $user * @param \App\Models\Absence $absence * @return mixed */ public function forceDelete(User $user, Absence $absence) { return $user->usertype->role === UsertypeEnum::ADMIN; } }