mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-21 01:12:14 +00:00
controller refactoring part 25
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Domain\SetupWizard\Actions;
|
||||
|
||||
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class CreateDiskDirectoriesAction
|
||||
{
|
||||
/**
|
||||
* Create default folders which application to process files.
|
||||
*/
|
||||
public function __invoke(): void
|
||||
{
|
||||
collect(['avatars', 'chunks', 'system', 'files', 'temp', 'zip'])
|
||||
->each(function ($directory) {
|
||||
// Create directory for local driver
|
||||
Storage::disk('local')
|
||||
->makeDirectory($directory);
|
||||
|
||||
// Create directory for external driver
|
||||
Storage::makeDirectory($directory);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -2,12 +2,14 @@
|
||||
namespace Domain\SetupWizard\Controllers;
|
||||
|
||||
use App\Users\Models\User;
|
||||
use Domain\Localization\Actions\SeedDefaultLanguageAction;
|
||||
use Domain\Pages\Actions\SeedDefaultPagesAction;
|
||||
use Domain\Settings\Actions\SeedDefaultSettingsAction;
|
||||
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\SetupWizard\Services\SetupService;
|
||||
|
||||
/**
|
||||
* Create and login admin account
|
||||
@@ -15,9 +17,10 @@ use Domain\SetupWizard\Services\SetupService;
|
||||
class CreateAdminAccountController extends Controller
|
||||
{
|
||||
public function __construct(
|
||||
public SetupService $setup,
|
||||
) {
|
||||
}
|
||||
public SeedDefaultPagesAction $seedDefaultPages,
|
||||
public SeedDefaultLanguageAction $seedDefaultLanguage,
|
||||
public SeedDefaultSettingsAction $seedDefaultSettingsAction,
|
||||
) {}
|
||||
|
||||
public function __invoke(
|
||||
Request $request
|
||||
@@ -70,9 +73,9 @@ class CreateAdminAccountController extends Controller
|
||||
});
|
||||
|
||||
// Set up application
|
||||
$this->setup->seed_default_pages();
|
||||
$this->setup->seed_default_settings($request->input('license'));
|
||||
$this->setup->seed_default_language();
|
||||
($this->seedDefaultPages)();
|
||||
($this->seedDefaultSettingsAction)($request->input('license'));
|
||||
($this->seedDefaultLanguage)();
|
||||
|
||||
// Login account
|
||||
if (Auth::attempt($request->only(['email', 'password']))) {
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
<?php
|
||||
namespace Domain\SetupWizard\Services;
|
||||
|
||||
use Domain\Pages\Models\Page;
|
||||
use Domain\Settings\Models\Setting;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Domain\Localization\Models\Language;
|
||||
|
||||
class SetupService
|
||||
{
|
||||
/**
|
||||
* Create default folders which application to process files.
|
||||
*/
|
||||
public function create_directories()
|
||||
{
|
||||
collect(['avatars', 'chunks', 'system', 'files', 'temp', 'zip'])
|
||||
->each(function ($directory) {
|
||||
// Create directory for local driver
|
||||
Storage::disk('local')
|
||||
->makeDirectory($directory);
|
||||
|
||||
// Create directory for external driver
|
||||
Storage::makeDirectory($directory);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Store default pages content like Terms of Service, Privacy Policy and Cookie Policy into database
|
||||
*/
|
||||
public function seed_default_pages()
|
||||
{
|
||||
collect(config('content.pages'))
|
||||
->each(function ($page) {
|
||||
Page::updateOrCreate($page);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Store default VueFileManager settings into database
|
||||
*
|
||||
* @param $license
|
||||
*/
|
||||
public function seed_default_settings($license)
|
||||
{
|
||||
collect(config('content.content.' . strtolower($license)))
|
||||
->each(function ($content) {
|
||||
Setting::forceCreate($content);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Store default VueFileManager settings into database
|
||||
*/
|
||||
public function seed_default_language()
|
||||
{
|
||||
Language::create([
|
||||
'name' => 'English',
|
||||
'locale' => 'en',
|
||||
]);
|
||||
|
||||
Setting::create([
|
||||
'name' => 'language',
|
||||
'value' => 'en',
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user