diff --git a/routes/console.php b/routes/console.php index e78e52e..78d4a6c 100644 --- a/routes/console.php +++ b/routes/console.php @@ -1,11 +1,13 @@ warn(sprintf("Could not find card with id %s", $id)); } })->purpose('Delete a card'); + +// Admin +// -------------------------- + +Artisan::command('admin:add {username} {password}', function ($username, $password) { + + Admin::create([ + 'username' => $username, + 'password' => Hash::make($password) + ]); + + $this->info("Created admin user"); +})->purpose('Add a admin user'); + +Artisan::command('admin:edit {id} {--username=} {--password=}', function ($id, $username=null, $password=null) { + + $admin = Admin::find($id); + if (!$admin) { + $this->warn("Could not find admin."); + return; + } + + if ($username) { + $admin->username = $username; + } + if ($password) { + $admin->password = Hash::make($password); + } + + $admin->save(); + + $this->info("Updated admin user"); +})->purpose('Edit a admin user'); + +Artisan::command('admin:delete {id}', function ($id) { + $record = Admin::find($id); + if ($record) { + $record->delete(); + $this->info(sprintf("Admin #%s deleted", $id)); + } else { + $this->warn(sprintf("Could not find admin with id %s", $id)); + } +})->purpose('Delete a admin user'); + +Artisan::command('admin:list', function () { + $cols = ['id', 'username', 'password', 'created_at', 'updated_at' ]; + $q = Admin::query(); + $data = $q->select($cols)->get()->makeVisible('password'); + $this->table($cols, $data); +})->purpose('list admin users'); \ No newline at end of file