Files
Twyco bf0e50464a
linter / quality (pull_request) Successful in 1m19s
tests / ci (8.4) (pull_request) Successful in 1m32s
Add application API keys
2026-04-20 19:58:24 +02:00

31 lines
786 B
PHP

<?php
namespace App\Actions\UserApplications;
use App\Models\User;
use App\Models\UserApplication;
use Illuminate\Support\Arr;
class CreateUserApplication
{
/**
* @param array{name: string} $validated
* @return array{application: UserApplication, plain_text_key: string}
*/
public function handle(User $user, array $validated): array
{
$plainTextKey = UserApplication::generatePlainTextKey();
$application = UserApplication::query()->create([
'key_hash' => UserApplication::hashKey($plainTextKey),
'name' => Arr::get($validated, 'name'),
'user_id' => $user->id,
]);
return [
'application' => $application,
'plain_text_key' => $plainTextKey,
];
}
}