Add application API keys
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<?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,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user