mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-06 02:33:48 +00:00
admin creation via setup wizard refactoring
This commit is contained in:
@@ -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' => [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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([
|
||||
[
|
||||
|
||||
@@ -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'),
|
||||
|
||||
],
|
||||
];
|
||||
|
||||
|
||||
34
src/Domain/SetupWizard/Requests/StoreAdminAccountRequest.php
Normal file
34
src/Domain/SetupWizard/Requests/StoreAdminAccountRequest.php
Normal 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',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
namespace Domain\SetupWizard\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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}")
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user