added install request
This commit is contained in:
parent
6b10f5a200
commit
a179232734
@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Install;
|
||||
|
||||
use App\Abstracts\Http\Controller;
|
||||
use App\Http\Requests\Module\Install as InstallRequest;
|
||||
use App\Events\Install\UpdateCacheCleared;
|
||||
use App\Events\Install\UpdateCopied;
|
||||
use App\Events\Install\UpdateDownloaded;
|
||||
@ -13,7 +14,6 @@ use App\Jobs\Install\FinishUpdate;
|
||||
use App\Jobs\Install\UnzipFile;
|
||||
use App\Utilities\Versions;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class Updates extends Controller
|
||||
{
|
||||
@ -110,7 +110,7 @@ class Updates extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function steps(Request $request)
|
||||
public function steps(InstallRequest $request)
|
||||
{
|
||||
$steps = [];
|
||||
|
||||
@ -161,7 +161,7 @@ class Updates extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function download(Request $request)
|
||||
public function download(InstallRequest $request)
|
||||
{
|
||||
set_time_limit(900); // 15 minutes
|
||||
|
||||
@ -197,7 +197,7 @@ class Updates extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function unzip(Request $request)
|
||||
public function unzip(InstallRequest $request)
|
||||
{
|
||||
set_time_limit(900); // 15 minutes
|
||||
|
||||
@ -233,7 +233,7 @@ class Updates extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function copyFiles(Request $request)
|
||||
public function copyFiles(InstallRequest $request)
|
||||
{
|
||||
set_time_limit(900); // 15 minutes
|
||||
|
||||
@ -269,7 +269,7 @@ class Updates extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function finish(Request $request)
|
||||
public function finish(InstallRequest $request)
|
||||
{
|
||||
set_time_limit(900); // 15 minutes
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Modules;
|
||||
|
||||
use App\Abstracts\Http\Controller;
|
||||
use App\Http\Requests\Module\Install as InstallRequest;
|
||||
use App\Jobs\Install\CopyFiles;
|
||||
use App\Jobs\Install\DisableModule;
|
||||
use App\Jobs\Install\DownloadFile;
|
||||
@ -81,7 +82,7 @@ class Item extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function steps(Request $request)
|
||||
public function steps(InstallRequest $request)
|
||||
{
|
||||
$steps = [];
|
||||
|
||||
@ -135,7 +136,7 @@ class Item extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function download(Request $request)
|
||||
public function download(InstallRequest $request)
|
||||
{
|
||||
try {
|
||||
$path = $this->dispatch(new DownloadFile($request['alias'], $request['version']));
|
||||
@ -167,7 +168,7 @@ class Item extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function unzip(Request $request)
|
||||
public function unzip(InstallRequest $request)
|
||||
{
|
||||
try {
|
||||
$path = $this->dispatch(new UnzipFile($request['alias'], $request['path']));
|
||||
@ -199,7 +200,7 @@ class Item extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function copy(Request $request)
|
||||
public function copy(InstallRequest $request)
|
||||
{
|
||||
try {
|
||||
$this->dispatch(new CopyFiles($request['alias'], $request['path']));
|
||||
@ -233,7 +234,7 @@ class Item extends Controller
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function install(Request $request)
|
||||
public function install(InstallRequest $request)
|
||||
{
|
||||
try {
|
||||
event(new \App\Events\Module\Installing($request['alias'], company_id()));
|
||||
|
24
app/Http/Requests/Module/Install.php
Normal file
24
app/Http/Requests/Module/Install.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Module;
|
||||
|
||||
use App\Abstracts\Http\FormRequest;
|
||||
|
||||
class Install extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'name' => 'nullable|string',
|
||||
'alias' => 'alpha_dash',
|
||||
'version' => 'nullable|regex:/^[a-z0-9.]+$/i',
|
||||
'installed' => 'nullable|regex:/^[a-z0-9.]+$/i',
|
||||
'path' => 'nullable|string',
|
||||
];
|
||||
}
|
||||
}
|
@ -3,10 +3,13 @@
|
||||
namespace App\Jobs\Install;
|
||||
|
||||
use App\Abstracts\Job;
|
||||
use App\Traits\Modules;
|
||||
use App\Utilities\Console;
|
||||
|
||||
class DisableModule extends Job
|
||||
{
|
||||
use Modules;
|
||||
|
||||
protected $alias;
|
||||
|
||||
protected $company_id;
|
||||
@ -34,6 +37,8 @@ class DisableModule extends Job
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$this->authorize();
|
||||
|
||||
$command = "module:disable {$this->alias} {$this->company_id} {$this->locale}";
|
||||
|
||||
$result = Console::run($command);
|
||||
@ -42,4 +47,14 @@ class DisableModule extends Job
|
||||
throw new \Exception($result);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if this action is applicable.
|
||||
*/
|
||||
public function authorize(): void
|
||||
{
|
||||
if (! $this->moduleExists($this->alias)) {
|
||||
throw new \Exception("Module [{$this->alias}] not found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,13 @@
|
||||
namespace App\Jobs\Install;
|
||||
|
||||
use App\Abstracts\Job;
|
||||
use App\Traits\Modules;
|
||||
use App\Utilities\Console;
|
||||
|
||||
class EnableModule extends Job
|
||||
{
|
||||
use Modules;
|
||||
|
||||
protected $alias;
|
||||
|
||||
protected $company_id;
|
||||
@ -34,6 +37,8 @@ class EnableModule extends Job
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$this->authorize();
|
||||
|
||||
$command = "module:enable {$this->alias} {$this->company_id} {$this->locale}";
|
||||
|
||||
$result = Console::run($command);
|
||||
@ -42,4 +47,14 @@ class EnableModule extends Job
|
||||
throw new \Exception($result);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if this action is applicable.
|
||||
*/
|
||||
public function authorize(): void
|
||||
{
|
||||
if (! $this->moduleExists($this->alias)) {
|
||||
throw new \Exception("Module [{$this->alias}] not found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,15 @@ namespace App\Jobs\Install;
|
||||
use App\Abstracts\Job;
|
||||
use App\Interfaces\Listener\ShouldUpdateAllCompanies;
|
||||
use App\Models\Module\Module;
|
||||
use App\Traits\Modules;
|
||||
use App\Utilities\Console;
|
||||
use Illuminate\Filesystem\Filesystem;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
class FinishUpdate extends Job
|
||||
{
|
||||
use Modules;
|
||||
|
||||
protected $alias;
|
||||
|
||||
protected $new;
|
||||
@ -37,6 +40,8 @@ class FinishUpdate extends Job
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$this->authorize();
|
||||
|
||||
$companies = $this->getCompanies();
|
||||
|
||||
foreach ($companies as $company) {
|
||||
@ -52,6 +57,16 @@ class FinishUpdate extends Job
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if this action is applicable.
|
||||
*/
|
||||
public function authorize(): void
|
||||
{
|
||||
if (! $this->moduleExists($this->alias)) {
|
||||
throw new \Exception("Module [{$this->alias}] not found.");
|
||||
}
|
||||
}
|
||||
|
||||
public function getCompanies()
|
||||
{
|
||||
if ($this->alias == 'core') {
|
||||
|
@ -3,10 +3,13 @@
|
||||
namespace App\Jobs\Install;
|
||||
|
||||
use App\Abstracts\Job;
|
||||
use App\Traits\Modules;
|
||||
use App\Utilities\Console;
|
||||
|
||||
class InstallModule extends Job
|
||||
{
|
||||
use Modules;
|
||||
|
||||
protected $alias;
|
||||
|
||||
protected $company_id;
|
||||
@ -34,6 +37,8 @@ class InstallModule extends Job
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$this->authorize();
|
||||
|
||||
$command = "module:install {$this->alias} {$this->company_id} {$this->locale}";
|
||||
|
||||
$result = Console::run($command);
|
||||
@ -44,4 +49,14 @@ class InstallModule extends Job
|
||||
throw new \Exception($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if this action is applicable.
|
||||
*/
|
||||
public function authorize(): void
|
||||
{
|
||||
if (! $this->moduleExists($this->alias)) {
|
||||
throw new \Exception("Module [{$this->alias}] not found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,13 @@
|
||||
namespace App\Jobs\Install;
|
||||
|
||||
use App\Abstracts\Job;
|
||||
use App\Traits\Modules;
|
||||
use App\Utilities\Console;
|
||||
|
||||
class UninstallModule extends Job
|
||||
{
|
||||
use Modules;
|
||||
|
||||
protected $alias;
|
||||
|
||||
protected $company_id;
|
||||
@ -34,6 +37,8 @@ class UninstallModule extends Job
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
$this->authorize();
|
||||
|
||||
$command = "module:uninstall {$this->alias} {$this->company_id} {$this->locale}";
|
||||
|
||||
$result = Console::run($command);
|
||||
@ -42,4 +47,14 @@ class UninstallModule extends Job
|
||||
throw new \Exception($result);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if this action is applicable.
|
||||
*/
|
||||
public function authorize(): void
|
||||
{
|
||||
if (! $this->moduleExists($this->alias)) {
|
||||
throw new \Exception("Module [{$this->alias}] not found.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user