public function setup(Router $router) { // Need to be loaded first. $this->route('cms', function ($router) { $router->get('/', 'IndexController@index'); $router->get('logout', 'Auth\\AuthController@logout'); $router->get('login', 'Auth\\AuthController@index'); $router->post('login', 'Auth\\AuthController@authenticate'); }); // API route to show that it's there. $this->route('api', function ($router) { $router->get('/', 'REST\\ModelController@index'); $router->get('/{model}', 'REST\\ModelController@fetchAll')->middleware(['model']); $router->get('/{model}/{id}', 'REST\\ModelController@fetch')->middleware(['model']); $router->post('/{model}', 'REST\\ModelController@create')->middleware(['auth', 'model']); $router->put('/{model}/{id}', 'REST\\ModelController@update')->middleware(['auth', 'model']); $router->delete('/{model}/{id}', 'REST\\ModelController@destroy')->middleware(['auth', 'model']); }); // Media uploading routes and controller. $this->route('cms', function ($router) { $router->post(Media::getLabel('slug') . '/upload', ['as' => 'mediaUpload', 'uses' => 'MediaController@upload']); $router->get(Media::getLabel('slug') . '/list', ['as' => 'mediaList', 'uses' => 'MediaController@select']); }); $this->basicSetup(); }