Replace GrahamCampbell/Core with core code. Closes #2669

This commit is contained in:
James Brooks
2018-06-17 09:40:09 +01:00
parent 37a5d8f1a6
commit ce3ab9d3eb
7 changed files with 325 additions and 2 deletions

View File

@@ -0,0 +1,67 @@
<?php
namespace CachetHQ\Cachet\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Contracts\Events\Dispatcher;
/**
* This is the app install command.
*
* @author James Brooks <james@alt-three.com>
*/
class AppInstallCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'app:install';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Installs the application';
/**
* The events instance.
*
* @var \Illuminate\Contracts\Events\Dispatcher
*/
protected $events;
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(Dispatcher $events)
{
$this->events = $events;
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->events->fire('command.installing', $this);
$this->events->fire('command.generatekey', $this);
$this->events->fire('command.cacheconfig', $this);
$this->events->fire('command.cacheroutes', $this);
$this->events->fire('command.publishvendors', $this);
$this->events->fire('command.runmigrations', $this);
$this->events->fire('command.runseeding', $this);
$this->events->fire('command.updatecache', $this);
$this->events->fire('command.linkstorage', $this);
$this->events->fire('command.extrastuff', $this);
$this->events->fire('command.installed', $this);
}
}

View File

@@ -0,0 +1,67 @@
<?php
namespace CachetHQ\Cachet\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Contracts\Events\Dispatcher;
/**
* This is the app reset command.
*
* @author James Brooks <james@alt-three.com>
*/
class AppResetCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'app:reset';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Resets and installs the application';
/**
* The events instance.
*
* @var \Illuminate\Contracts\Events\Dispatcher
*/
protected $events;
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(Dispatcher $events)
{
$this->events = $events;
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->events->fire('command.resetting', $this);
$this->events->fire('command.generatekey', $this);
$this->events->fire('command.cacheconfig', $this);
$this->events->fire('command.cacheroutes', $this);
$this->events->fire('command.publishvendors', $this);
$this->events->fire('command.resetmigrations', $this);
$this->events->fire('command.runmigrations', $this);
$this->events->fire('command.runseeding', $this);
$this->events->fire('command.updatecache', $this);
$this->events->fire('command.extrastuff', $this);
$this->events->fire('command.reset', $this);
}
}

View File

@@ -0,0 +1,64 @@
<?php
namespace CachetHQ\Cachet\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Contracts\Events\Dispatcher;
/**
* This is the app update command.
*
* @author James Brooks <james@alt-three.com>
*/
class AppUpdateCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'app:update';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Updates the application';
/**
* The events instance.
*
* @var \Illuminate\Contracts\Events\Dispatcher
*/
protected $events;
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(Dispatcher $events)
{
$this->events = $events;
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->events->fire('command.updating', $this);
$this->events->fire('command.cacheconfig', $this);
$this->events->fire('command.cacheroutes', $this);
$this->events->fire('command.publishvendors', $this);
$this->events->fire('command.runmigrations', $this);
$this->events->fire('command.updatecache', $this);
$this->events->fire('command.extrastuff', $this);
$this->events->fire('command.updated', $this);
}
}

View File

@@ -11,6 +11,9 @@
namespace CachetHQ\Cachet\Console;
use CachetHQ\Cachet\Console\Commands\AppInstallCommand;
use CachetHQ\Cachet\Console\Commands\AppResetCommand;
use CachetHQ\Cachet\Console\Commands\AppUpdateCommand;
use CachetHQ\Cachet\Console\Commands\BeaconCommand;
use CachetHQ\Cachet\Console\Commands\DemoMetricPointSeederCommand;
use CachetHQ\Cachet\Console\Commands\DemoSeederCommand;
@@ -34,6 +37,9 @@ class Kernel extends ConsoleKernel
* @var array
*/
protected $commands = [
AppInstallCommand::class,
AppResetCommand::class,
AppUpdateCommand::class,
BeaconCommand::class,
DemoMetricPointSeederCommand::class,
DemoSeederCommand::class,

View File

@@ -69,6 +69,15 @@ class CommandSubscriber
$events->listen('command.installing', __CLASS__.'@fireInstallingCommand', 5);
$events->listen('command.updating', __CLASS__.'@fireUpdatingCommand', 5);
$events->listen('command.resetting', __CLASS__.'@fireResettingCommand', 5);
$events->listen('command.generatekey', __CLASS__.'@onGenerateKey');
$events->listen('command.cacheconfig', __CLASS__.'@onCacheConfig');
$events->listen('command.cacheroutes', __CLASS__.'@onCacheRoutes');
$events->listen('command.publishvendors', __CLASS__.'@onPublishVendors');
$events->listen('command.resetmigrations', __CLASS__.'@onResetMigrations');
$events->listen('command.runmigrations', __CLASS__.'@onRunMigrations');
$events->listen('command.runseeding', __CLASS__.'@onRunSeeding');
$events->listen('command.linkstorage', __CLASS__.'@onLinkStorage');
$events->listen('command.updatecache', __CLASS__.'@onUpdateCache');
}
/**
@@ -158,4 +167,116 @@ class CommandSubscriber
$command->line('Backup completed!');
}
/**
* Handle a command.generatekey event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onGenerateKey(Command $command)
{
$command->call('key:generate');
}
/**
* Handle a command.cacheconfig event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onCacheConfig(Command $command)
{
$command->call('config:cache');
}
/**
* Handle a command.cacheroutes event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onCacheRoutes(Command $command)
{
$command->call('route:cache');
}
/**
* Handle a command.publishvendors event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onPublishVendors(Command $command)
{
$command->call('vendor:publish');
}
/**
* Handle a command.resetmigrations event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onResetMigrations(Command $command)
{
$command->call('migrate:reset', ['--force' => true]);
}
/**
* Handle a command.runmigrations event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onRunMigrations(Command $command)
{
$command->call('migrate', ['--force' => true]);
}
/**
* Handle a command.runseeding event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onRunSeeding(Command $command)
{
$command->call('db:seed', ['--force' => true]);
}
/**
* Handle a command.linkstorage event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onLinkStorage(Command $command)
{
if ($command->getApplication()->has('storage:link')) {
$command->call('storage:link');
}
}
/**
* Handle a command.updatecache event.
*
* @param \Illuminate\Console\Command $command
*
* @return void
*/
public function onUpdateCache(Command $command)
{
$command->line('Clearing cache...');
$command->call('cache:clear');
$command->info('Cache cleared!');
}
}

View File

@@ -40,7 +40,6 @@
"doctrine/dbal": "2.5.13",
"fideloper/proxy": "^3.1",
"graham-campbell/binput": "^3.5",
"graham-campbell/core": "^5.1",
"graham-campbell/exceptions": "^9.1",
"graham-campbell/markdown": "^7.1",
"guzzlehttp/guzzle": "^6.2.1",

View File

@@ -182,7 +182,6 @@ return [
env('APP_DEBUG') ? Barryvdh\Debugbar\ServiceProvider::class : null,
Fideloper\Proxy\TrustedProxyServiceProvider::class,
GrahamCampbell\Binput\BinputServiceProvider::class,
GrahamCampbell\Core\CoreServiceProvider::class,
GrahamCampbell\Exceptions\ExceptionsServiceProvider::class,
GrahamCampbell\Markdown\MarkdownServiceProvider::class,
GrahamCampbell\Security\SecurityServiceProvider::class,