mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-18 16:22:14 +00:00
admin creation via setup wizard refactoring
This commit is contained in:
@@ -27,7 +27,7 @@ return [
|
|||||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||||
'token' => env('AWS_SESSION_TOKEN'),
|
'token' => env('AWS_SESSION_TOKEN'),
|
||||||
],
|
],
|
||||||
|
|
||||||
'google' => [
|
'google' => [
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Domain\SetupWizard\Controllers\PingAPIController;
|
|
||||||
use Domain\Zip\Controllers\ZipController;
|
use Domain\Zip\Controllers\ZipController;
|
||||||
use Domain\Pages\Controllers\PagesController;
|
use Domain\Pages\Controllers\PagesController;
|
||||||
use Domain\Sharing\Controllers\ShareController;
|
use Domain\Sharing\Controllers\ShareController;
|
||||||
@@ -9,6 +8,7 @@ use App\Users\Controllers\ResetPasswordController;
|
|||||||
use Domain\Files\Controllers\UploadFileController;
|
use Domain\Files\Controllers\UploadFileController;
|
||||||
use App\Users\Controllers\ForgotPasswordController;
|
use App\Users\Controllers\ForgotPasswordController;
|
||||||
use Domain\Folders\Controllers\FavouriteController;
|
use Domain\Folders\Controllers\FavouriteController;
|
||||||
|
use Domain\SetupWizard\Controllers\PingAPIController;
|
||||||
use Domain\Folders\Controllers\CreateFolderController;
|
use Domain\Folders\Controllers\CreateFolderController;
|
||||||
use Domain\Browsing\Controllers\BrowseFolderController;
|
use Domain\Browsing\Controllers\BrowseFolderController;
|
||||||
use Domain\Sharing\Controllers\ShareViaEmailController;
|
use Domain\Sharing\Controllers\ShareViaEmailController;
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Domain\Homepage\Controllers;
|
namespace Domain\Homepage\Controllers;
|
||||||
|
|
||||||
use DB;
|
use DB;
|
||||||
|
use PDOException;
|
||||||
use Domain\Pages\Models\Page;
|
use Domain\Pages\Models\Page;
|
||||||
use Illuminate\Contracts\View\View;
|
use Illuminate\Contracts\View\View;
|
||||||
use Illuminate\Contracts\View\Factory;
|
use Illuminate\Contracts\View\Factory;
|
||||||
use Illuminate\Contracts\Foundation\Application;
|
use Illuminate\Contracts\Foundation\Application;
|
||||||
use PDOException;
|
|
||||||
|
|
||||||
class IndexController
|
class IndexController
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
namespace Domain\SetupWizard\Controllers;
|
namespace Domain\SetupWizard\Controllers;
|
||||||
|
|
||||||
use App\Users\Models\User;
|
use App\Users\Models\User;
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
use Domain\Settings\Models\Setting;
|
use Domain\Settings\Models\Setting;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Domain\Pages\Actions\SeedDefaultPagesAction;
|
use Domain\Pages\Actions\SeedDefaultPagesAction;
|
||||||
use Domain\Settings\Actions\SeedDefaultSettingsAction;
|
use Domain\Settings\Actions\SeedDefaultSettingsAction;
|
||||||
|
use Domain\SetupWizard\Requests\StoreAdminAccountRequest;
|
||||||
use Domain\Localization\Actions\SeedDefaultLanguageAction;
|
use Domain\Localization\Actions\SeedDefaultLanguageAction;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -24,19 +24,8 @@ class CreateAdminAccountController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function __invoke(
|
public function __invoke(
|
||||||
Request $request
|
StoreAdminAccountRequest $request
|
||||||
): Response {
|
): 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
|
// Create user
|
||||||
$user = User::forceCreate([
|
$user = User::forceCreate([
|
||||||
'role' => 'admin',
|
'role' => 'admin',
|
||||||
@@ -48,13 +37,12 @@ class CreateAdminAccountController extends Controller
|
|||||||
// Split username
|
// Split username
|
||||||
$name = split_name($request->input('name'));
|
$name = split_name($request->input('name'));
|
||||||
|
|
||||||
$user
|
// Store user data
|
||||||
->settings()
|
$user->settings()->create([
|
||||||
->create([
|
'avatar' => store_avatar($request, 'avatar'),
|
||||||
'avatar' => store_avatar($request, 'avatar'),
|
'first_name' => $name['first_name'],
|
||||||
'first_name' => $name['first_name'],
|
'last_name' => $name['last_name'],
|
||||||
'last_name' => $name['last_name'],
|
]);
|
||||||
]);
|
|
||||||
|
|
||||||
collect([
|
collect([
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Domain\SetupWizard\Controllers;
|
namespace Domain\SetupWizard\Controllers;
|
||||||
|
|
||||||
use Artisan;
|
use Artisan;
|
||||||
@@ -15,7 +14,7 @@ class StoreEnvironmentSettingsController extends Controller
|
|||||||
public function __invoke(
|
public function __invoke(
|
||||||
StoreEnvironmentSetupRequest $request,
|
StoreEnvironmentSetupRequest $request,
|
||||||
): Response {
|
): Response {
|
||||||
if (!app()->runningUnitTests()) {
|
if (! app()->runningUnitTests()) {
|
||||||
$drivers = [
|
$drivers = [
|
||||||
'local' => [
|
'local' => [
|
||||||
'FILESYSTEM_DRIVER' => 'local',
|
'FILESYSTEM_DRIVER' => 'local',
|
||||||
@@ -65,7 +64,6 @@ class StoreEnvironmentSettingsController extends Controller
|
|||||||
'MAILGUN_DOMAIN' => $request->input('mailgun.domain'),
|
'MAILGUN_DOMAIN' => $request->input('mailgun.domain'),
|
||||||
'MAILGUN_SECRET' => $request->input('mailgun.secret'),
|
'MAILGUN_SECRET' => $request->input('mailgun.secret'),
|
||||||
'MAILGUN_ENDPOINT' => $request->input('mailgun.endpoint'),
|
'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
|
<?php
|
||||||
|
|
||||||
namespace Domain\SetupWizard\Requests;
|
namespace Domain\SetupWizard\Requests;
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
|||||||
@@ -155,10 +155,8 @@ if (! function_exists('add_paragraphs')) {
|
|||||||
if (! function_exists('setEnvironmentValue')) {
|
if (! function_exists('setEnvironmentValue')) {
|
||||||
/**
|
/**
|
||||||
* Set environment value
|
* Set environment value
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
function setEnvironmentValue(array $values)
|
function setEnvironmentValue(array $values): bool
|
||||||
{
|
{
|
||||||
$envFile = app()->environmentFilePath();
|
$envFile = app()->environmentFilePath();
|
||||||
$str = file_get_contents($envFile);
|
$str = file_get_contents($envFile);
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Tests\Domain\SetupWizard;
|
namespace Tests\Domain\SetupWizard;
|
||||||
|
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
@@ -201,7 +200,7 @@ class SetupWizardTest extends TestCase
|
|||||||
|
|
||||||
collect(config('vuefilemanager.avatar_sizes'))
|
collect(config('vuefilemanager.avatar_sizes'))
|
||||||
->each(
|
->each(
|
||||||
fn($size) => Storage::disk('local')
|
fn ($size) => Storage::disk('local')
|
||||||
->assertExists("avatars/{$size['name']}-{$avatar}")
|
->assertExists("avatars/{$size['name']}-{$avatar}")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user