Limit access to certain api query to admin only

This commit is contained in:
Dillon
2023-09-25 10:55:47 +08:00
parent fe000b7a6f
commit e4f60a7bff
3 changed files with 15 additions and 14 deletions
@@ -5,7 +5,6 @@ namespace App\Classes\Modules\HelpMenu\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\HelpMenu\Services\ListsHelpMenuQuestions;
use App\Classes\Modules\HelpMenu\Standards\Rules\CanListHelpMenuQuestions;
use App\Http\Resources\HelpMenuQuestionResource;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
@@ -25,20 +24,15 @@ class ListQuestionsQALogic extends AbstractControllerLogic
];
}
/** @var CanListHelpMenuQuestions */
private $canListHelpMenuQuestions;
/** @var ListsHelpMenuQuestions */
private $listsHelpMenuQuestions;
/**
* ListQuestionsQALogic constructor.
* @param CanListHelpMenuQuestions $canListHelpMenuQuestions
* @param ListsHelpMenuQuestions $listsHelpMenuQuestions
*/
public function __construct(CanListHelpMenuQuestions $canListHelpMenuQuestions, ListsHelpMenuQuestions $listsHelpMenuQuestions)
public function __construct(ListsHelpMenuQuestions $listsHelpMenuQuestions)
{
$this->canListHelpMenuQuestions = $canListHelpMenuQuestions;
$this->listsHelpMenuQuestions = $listsHelpMenuQuestions;
}
@@ -53,8 +47,6 @@ class ListQuestionsQALogic extends AbstractControllerLogic
*/
public function logic(Request $request) : JsonResponse
{
$this->canListHelpMenuQuestions->passes();
try{
$token = $request->input('token');
$decriptedToken = Crypt::decryptString($token);
@@ -4,6 +4,7 @@ namespace App\Classes\Modules\HelpMenu\Standards\Rules;
use App\Classes\General\Abstracts\AbstractRule;
use App\Classes\ValueObjects\Constants\RoleTypes;
class CanGenerateFeedbackUrl extends AbstractRule
{
@@ -13,8 +14,12 @@ class CanGenerateFeedbackUrl extends AbstractRule
*/
protected function authorized(): bool
{
// TODO Set Authorization rules
return true;
$roleToCheck = Auth()->user()->type;
if (in_array($roleToCheck, RoleTypes::ADMIN_ROLES)) {
return true;
} else {
return false;
}
}
/**
@@ -4,6 +4,7 @@ namespace App\Classes\Modules\HelpMenu\Standards\Rules;
use App\Classes\General\Abstracts\AbstractRule;
use App\Classes\ValueObjects\Constants\RoleTypes;
class CanListHelpMenuQuestions extends AbstractRule
{
@@ -13,9 +14,12 @@ class CanListHelpMenuQuestions extends AbstractRule
*/
protected function authorized(): bool
{
// TODO Set Authorization rules
return true;
$roleToCheck = Auth()->user()->type;
if (in_array($roleToCheck, RoleTypes::ADMIN_ROLES)) {
return true;
} else {
return false;
}
}
/**