4
0
Fork 0
dcat-admin/src/Console/ExtensionRefreshCommand.php

41 lines
1.0 KiB
PHP

<?php
namespace Dcat\Admin\Console;
use Dcat\Admin\Admin;
use Illuminate\Console\Command;
class ExtensionRefreshCommand extends Command
{
protected $signature = 'admin:ext-refresh
{name : The name of the extension. Eg: author-name/extension-name}
{--path= : The path of the extension.}';
protected $description = 'Removes and re-adds an existing extension';
public function handle()
{
$name = $this->argument('name');
if (! Admin::extension()->has($name)) {
throw new \InvalidArgumentException(sprintf('Plugin "%s" not found.', $name));
}
$confirmQuestion = 'Please confirm that you wish to reinstall this extension?';
if (! $this->confirm($confirmQuestion)) {
return;
}
$manager = Admin::extension()
->updateManager()
->setOutPut($this->output);
$manager->rollback($name);
$this->output->writeln('<info>Reinstalling extension...</info>');
$manager->update($name);
}
}