ExtensionRefreshCommand.php
1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?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);
}
}