ldc-crm/app/Policies/QuestionPolicy.php
2025-08-04 16:03:38 +02:00

90 lines
2 KiB
PHP

<?php
namespace App\Policies;
use App\Enums\Users\RoleEnum;
use App\Models\Question;
use App\Models\Service;
use App\Models\User;
use App\Policies\Rules\UserStaticRules;
class QuestionPolicy
{
/**
* View a Question.
*
* @param \App\Models\User $authUser
* @return boolean
*/
public function view(User $authUser): bool
{
return UserStaticRules::atLeastRole($authUser, RoleEnum::admin);
}
/**
* ViewAny a Question.
*
* @param \App\Models\User $authUser
* @return boolean
*/
public function viewAny(User $authUser): bool
{
return UserStaticRules::atLeastRole($authUser, RoleEnum::admin);
}
/**
* Create a Question.
*
* @param \App\Models\User $authUser
* @return boolean
*/
public function create(User $authUser): bool
{
return UserStaticRules::atLeastRole($authUser, RoleEnum::admin);
}
/**
* Update a Question.
*
* @param \App\Models\User $authUser
* @return boolean
*/
public function update(User $authUser): bool
{
return UserStaticRules::atLeastRole($authUser, RoleEnum::admin);
}
/**
* Delete a Question.
*
* @param \App\Models\User $authUser
* @return boolean
*/
public function delete(User $authUser): bool
{
return UserStaticRules::atLeastRole($authUser, RoleEnum::admin);
}
/**
* Check if the question belongs to the service.
*
* @param \App\Models\Service $service
* @param \App\Models\Question $question
* @return boolean
*/
public function questionBelongsToService(Service $service, Question $question)
{
return $service->brand->id === $question->brand_id;
}
/**
* Export Customers.
*
* @param \App\Models\User $authUser
* @return boolean
*/
public function export(User $authUser): bool
{
return UserStaticRules::atLeastRole($authUser, RoleEnum::admin);
}
}