Fix AutoDeploy & KeyCreationService (#701)

* Fix AutoDeploy & KeyCreationService

* Get rid of 2nd param & unset perm
This commit is contained in:
MartinOscar 2024-11-07 23:15:41 +01:00 committed by GitHub
parent b3501be6ec
commit 8eebb82eba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 5 deletions

View File

@ -68,7 +68,8 @@ class ApiController extends Controller
$this->keyCreationService->setKeyType(ApiKey::TYPE_APPLICATION)->handle([ $this->keyCreationService->setKeyType(ApiKey::TYPE_APPLICATION)->handle([
'memo' => $request->input('memo'), 'memo' => $request->input('memo'),
'user_id' => $request->user()->id, 'user_id' => $request->user()->id,
], $request->getKeyPermissions()); 'permissions' => $request->getKeyPermissions(),
]);
$this->alert->success('A new application API key has been generated for your account.')->flash(); $this->alert->success('A new application API key has been generated for your account.')->flash();

View File

@ -26,7 +26,7 @@ class KeyCreationService
* *
* @throws \App\Exceptions\Model\DataValidationException * @throws \App\Exceptions\Model\DataValidationException
*/ */
public function handle(array $data, array $permissions = []): ApiKey public function handle(array $data): ApiKey
{ {
$data = array_merge($data, [ $data = array_merge($data, [
'key_type' => $this->keyType, 'key_type' => $this->keyType,
@ -34,8 +34,8 @@ class KeyCreationService
'token' => str_random(ApiKey::KEY_LENGTH), 'token' => str_random(ApiKey::KEY_LENGTH),
]); ]);
if ($this->keyType === ApiKey::TYPE_APPLICATION) { if ($this->keyType !== ApiKey::TYPE_APPLICATION) {
$data['permissions'] = array_merge($data['permissions'], $permissions); unset($data['permissions']);
} }
return ApiKey::query()->forceCreate($data); return ApiKey::query()->forceCreate($data);

View File

@ -38,7 +38,8 @@ class NodeAutoDeployService
$key = $this->keyCreationService->setKeyType(ApiKey::TYPE_APPLICATION)->handle([ $key = $this->keyCreationService->setKeyType(ApiKey::TYPE_APPLICATION)->handle([
'memo' => 'Automatically generated node deployment key.', 'memo' => 'Automatically generated node deployment key.',
'user_id' => $request->user()->id, 'user_id' => $request->user()->id,
], ['permissions' => [Node::RESOURCE_NAME => AdminAcl::READ]]); 'permissions' => [Node::RESOURCE_NAME => AdminAcl::READ],
]);
} }
$token = $key->identifier . $key->token; $token = $key->identifier . $key->token;