. * * @package LibreNMS * @link http://librenms.org * @copyright 2020 Tony Murray * @author Tony Murray */ namespace App\Http\Controllers\Install; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Arr; class MakeUserController extends \App\Http\Controllers\Controller { use UsesDatabase; public function __invoke(Request $request) { if (session('install.database')) { $this->configureDatabase(); $user = User::first(); } if (isset($user)) { session(['install.user' => true]); return view('install.user-created', [ 'user' => $user, ]); } return view('install.make-user', [ 'messages' => Arr::wrap(session('message')) ]); } public function create(Request $request) { $this->validate($request, [ 'username' => 'required', 'password' => 'required', ]); try { $this->configureDatabase(); $user = new User($request->only(['username', 'password', 'email'])); $user->level = 10; $user->setPassword($request->get('password')); $res = $user->save(); $message = $res ? trans('install.user.success') : trans('install.user.failure'); } catch (\Exception $e) { $message = $e->getMessage(); } return redirect()->back()->with('message', $message); } public static function enabled() { return session('install.migrate'); } public static function icon(): string { return 'fa-key'; } }