34 lines
737 B
PHP
34 lines
737 B
PHP
<?php
|
|
|
|
namespace App\Actions\Users;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
class CreateUserAction
|
|
{
|
|
/**
|
|
* Execute the create user action.
|
|
*
|
|
* @param array $data
|
|
* @return User
|
|
*/
|
|
public function execute(array $data): User
|
|
{
|
|
$user = User::create([
|
|
'first_name' => $data['firstName'],
|
|
'last_name' => $data['lastName'],
|
|
'email' => $data['email'],
|
|
'password' => Hash::make($data['password']),
|
|
'status' => $data['status'] ?? 'active',
|
|
'meta' => $data['meta'] ?? [],
|
|
]);
|
|
|
|
if (isset($data['roles'])) {
|
|
$user->assignRole($data['roles']);
|
|
}
|
|
|
|
return $user;
|
|
}
|
|
}
|