pelican-panel-mirror/app/Http/Requests/Admin/Api/StoreApplicationApiKeyRequest.php
Boy132 b3501be6ec
Refactor api key permissions (#361)
* use RESOURCE_NAME for requests

* use RESOURCE_NAME for transformers

* add permissions field to api key

* add migration for new permissions field

* update tests

* remove debug log

* set column type to "json"

* remove default attribute to fix tests

* fix default value for permissions

* fix after merge

* fix after merge

* allow to "register" custom permissions

* add "role" to default resource names

* fix after merge

* fix phpstan

* fix migrations
2024-11-06 09:09:10 +01:00

40 lines
778 B
PHP

<?php
namespace App\Http\Requests\Admin\Api;
use App\Models\ApiKey;
use App\Http\Requests\Admin\AdminFormRequest;
class StoreApplicationApiKeyRequest extends AdminFormRequest
{
/**
* @throws \ReflectionException
* @throws \ReflectionException
*/
public function rules(): array
{
$modelRules = ApiKey::getRules();
$rules = [
'memo' => $modelRules['memo'],
'permissions' => $modelRules['permissions'],
];
return $rules;
}
public function attributes(): array
{
return [
'memo' => 'Description',
];
}
public function getKeyPermissions(): array
{
$data = $this->validated();
return array_keys($data['permissions']);
}
}