Refactor to a simpler style

This commit is contained in:
Tony Murray
2020-06-11 01:06:16 -05:00
parent 27027428fa
commit c750107906
15 changed files with 120 additions and 159 deletions

View File

@@ -26,11 +26,57 @@
namespace App\Http\Controllers\Install;
use App\Http\Controllers\Controller;
use LibreNMS\DB\Eloquent;
class InstallationController extends Controller
{
protected $connection = 'setup';
protected $steps = [
'checks' => \App\Http\Controllers\Install\ChecksController::class,
'database' => \App\Http\Controllers\Install\DatabaseController::class,
'migrate' => \App\Http\Controllers\Install\DatabaseMigrationController::class,
'user' => \App\Http\Controllers\Install\MakeUserController::class,
'finish' => \App\Http\Controllers\Install\FinalizeController::class,
];
public function __construct()
{
if (is_string(config('librenms.install'))) {
$this->steps = array_intersect_key($this->steps, array_flip(explode(',', config('librenms.install'))));
}
$this->configureDatabase();
}
public function baseIndex()
{
return redirect()->route('install.checks');
}
public function invalid()
{
abort(404);
}
final protected function formatData($data = [])
{
$data['steps'] = $this->steps;
return $data;
}
protected function configureDatabase()
{
$db = session('db');
if (!empty($db)) {
Eloquent::setConnection(
$this->connection,
$db['host'] ?? 'localhost',
$db['username'] ?? 'librenms',
$db['password'] ?? null,
$db['database'] ?? 'librenms',
$db['port'] ?? 3306,
$db['socket'] ?? null,
);
config(['database.default', $this->connection]);
}
}
}