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

@@ -27,7 +27,7 @@ return [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'token' => env('AWS_SESSION_TOKEN'),
'token' => env('AWS_SESSION_TOKEN'),
],
'google' => [

View File

@@ -1,6 +1,5 @@
<?php
use Domain\SetupWizard\Controllers\PingAPIController;
use Domain\Zip\Controllers\ZipController;
use Domain\Pages\Controllers\PagesController;
use Domain\Sharing\Controllers\ShareController;
@@ -9,6 +8,7 @@ use App\Users\Controllers\ResetPasswordController;
use Domain\Files\Controllers\UploadFileController;
use App\Users\Controllers\ForgotPasswordController;
use Domain\Folders\Controllers\FavouriteController;
use Domain\SetupWizard\Controllers\PingAPIController;
use Domain\Folders\Controllers\CreateFolderController;
use Domain\Browsing\Controllers\BrowseFolderController;
use Domain\Sharing\Controllers\ShareViaEmailController;

View File

@@ -1,13 +1,12 @@
<?php
namespace Domain\Homepage\Controllers;
use DB;
use PDOException;
use Domain\Pages\Models\Page;
use Illuminate\Contracts\View\View;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\Foundation\Application;
use PDOException;
class IndexController
{

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;

View File

@@ -155,10 +155,8 @@ if (! function_exists('add_paragraphs')) {
if (! function_exists('setEnvironmentValue')) {
/**
* Set environment value
*
* @return bool
*/
function setEnvironmentValue(array $values)
function setEnvironmentValue(array $values): bool
{
$envFile = app()->environmentFilePath();
$str = file_get_contents($envFile);

View File

@@ -1,5 +1,4 @@
<?php
namespace Tests\Domain\SetupWizard;
use Tests\TestCase;
@@ -201,7 +200,7 @@ class SetupWizardTest extends TestCase
collect(config('vuefilemanager.avatar_sizes'))
->each(
fn($size) => Storage::disk('local')
fn ($size) => Storage::disk('local')
->assertExists("avatars/{$size['name']}-{$avatar}")
);
}