admin creation via setup wizard refactoring

This commit is contained in:
Čarodej
2022-02-10 09:06:47 +01:00
parent b5c00e98df
commit 3867c9cd67
9 changed files with 48 additions and 33 deletions

View File

@@ -2,13 +2,13 @@
namespace Domain\SetupWizard\Controllers;
use App\Users\Models\User;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Domain\Settings\Models\Setting;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Domain\Pages\Actions\SeedDefaultPagesAction;
use Domain\Settings\Actions\SeedDefaultSettingsAction;
use Domain\SetupWizard\Requests\StoreAdminAccountRequest;
use Domain\Localization\Actions\SeedDefaultLanguageAction;
/**
@@ -24,19 +24,8 @@ class CreateAdminAccountController extends Controller
}
public function __invoke(
Request $request
StoreAdminAccountRequest $request
): Response {
// Validate request
// TODO: validator do requestu
$request->validate([
'email' => 'required|string|email|unique:users',
'password' => 'required|string|min:6|confirmed',
'name' => 'required|string',
'purchase_code' => 'required|string',
'license' => 'required|string',
'avatar' => 'sometimes|file',
]);
// Create user
$user = User::forceCreate([
'role' => 'admin',
@@ -48,13 +37,12 @@ class CreateAdminAccountController extends Controller
// Split username
$name = split_name($request->input('name'));
$user
->settings()
->create([
'avatar' => store_avatar($request, 'avatar'),
'first_name' => $name['first_name'],
'last_name' => $name['last_name'],
]);
// Store user data
$user->settings()->create([
'avatar' => store_avatar($request, 'avatar'),
'first_name' => $name['first_name'],
'last_name' => $name['last_name'],
]);
collect([
[

View File

@@ -1,5 +1,4 @@
<?php
namespace Domain\SetupWizard\Controllers;
use Artisan;
@@ -15,7 +14,7 @@ class StoreEnvironmentSettingsController extends Controller
public function __invoke(
StoreEnvironmentSetupRequest $request,
): Response {
if (!app()->runningUnitTests()) {
if (! app()->runningUnitTests()) {
$drivers = [
'local' => [
'FILESYSTEM_DRIVER' => 'local',
@@ -65,7 +64,6 @@ class StoreEnvironmentSettingsController extends Controller
'MAILGUN_DOMAIN' => $request->input('mailgun.domain'),
'MAILGUN_SECRET' => $request->input('mailgun.secret'),
'MAILGUN_ENDPOINT' => $request->input('mailgun.endpoint'),
],
];

View File

@@ -0,0 +1,34 @@
<?php
namespace Domain\SetupWizard\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreAdminAccountRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'email' => 'required|string|email|unique:users',
'password' => 'required|string|min:6|confirmed',
'name' => 'required|string',
'purchase_code' => 'required|string',
'license' => 'required|string',
'avatar' => 'sometimes|file',
];
}
}

View File

@@ -1,5 +1,4 @@
<?php
namespace Domain\SetupWizard\Requests;
use Illuminate\Foundation\Http\FormRequest;