Files
CVAtron/app/Policies/ResumePolicy.php
Matthias Guillitte e3444ef799
Some checks failed
linter / quality (push) Successful in 3m0s
tests / ci (push) Failing after 6m19s
Created Resume model
2025-08-15 19:17:39 +02:00

58 lines
1.3 KiB
PHP

<?php
namespace App\Policies;
use App\Models\Resume;
use App\Models\User;
use Illuminate\Auth\Access\Response;
class ResumePolicy
{
private function isCreator(User $user, Resume $resume): Response
{
return $user->id === $resume->creator_id
? Response::allow()
: Response::deny('You do not own this resume.');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, Resume $resume): Response
{
return $this->isCreator($user, $resume);
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return true;
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, Resume $resume): Response
{
return $this->isCreator($user, $resume);
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, Resume $resume): Response
{
return $this->isCreator($user, $resume);
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, Resume $resume): Response
{
return $this->isCreator($user, $resume);
}
}