Clean up all route files, alias routes etc.

This commit is contained in:
James Brooks
2015-08-07 14:52:44 +01:00
parent 5858d8063b
commit cefabcef2d
14 changed files with 183 additions and 110 deletions

View File

@@ -29,7 +29,7 @@ class ComponentController extends Controller
$this->subMenu = [
'components' => [
'title' => trans('dashboard.components.components'),
'url' => route('dashboard.components'),
'url' => route('dashboard.components.index'),
'icon' => 'ion-outlet',
'active' => false,
],

View File

@@ -44,13 +44,13 @@ class IncidentController extends Controller
$this->subMenu = [
'incidents' => [
'title' => trans('dashboard.incidents.incidents'),
'url' => route('dashboard.incidents'),
'url' => route('dashboard.incidents.index'),
'icon' => 'ion-android-checkmark-circle',
'active' => true,
],
'schedule' => [
'title' => trans('dashboard.schedule.schedule'),
'url' => route('dashboard.schedule'),
'url' => route('dashboard.schedule.index'),
'icon' => 'ion-android-calendar',
'active' => false,
],

View File

@@ -50,7 +50,7 @@ class AuthController extends Controller
// Temporarily store the user.
Session::put('2fa_id', Auth::user()->id);
return Redirect::route('two-factor');
return Redirect::route('auth.two-factor');
}
// We probably want to add support for "Remember me" here.
@@ -98,11 +98,11 @@ class AuthController extends Controller
// Failed login, log back out.
Auth::logout();
return Redirect::route('login')->withError(trans('forms.login.invalid-token'));
return Redirect::route('auth.login')->withError(trans('forms.login.invalid-token'));
}
}
return Redirect::route('login')->withError(trans('forms.login.invalid-token'));
return Redirect::route('auth.login')->withError(trans('forms.login.invalid-token'));
}
/**

View File

@@ -13,6 +13,11 @@ namespace CachetHQ\Cachet\Http\Routes;
use Illuminate\Contracts\Routing\Registrar;
/**
* This is the api routes class.
*
* @author James Brooks <james@alt-three.com>
*/
class ApiRoutes
{
/**

View File

@@ -13,6 +13,11 @@ namespace CachetHQ\Cachet\Http\Routes;
use Illuminate\Contracts\Routing\Registrar;
/**
* This is the auth routes class.
*
* @author James Brooks <james@alt-three.com>
*/
class AuthRoutes
{
/**
@@ -22,36 +27,39 @@ class AuthRoutes
*/
public function map(Registrar $router)
{
$router->group(['prefix' => 'auth'], function ($router) {
$router->group(['middleware' => 'app.hasSetting', 'setting' => 'app_name'], function ($router) {
// Login routes
$router->get('login', [
'middleware' => 'guest',
'as' => 'login',
'uses' => 'AuthController@showLogin',
]);
$router->group([
'as' => 'auth.',
'middleware' => 'app.hasSetting',
'prefix' => 'auth',
'setting' => 'app_name',
], function ($router) {
$router->get('login', [
'middleware' => 'guest',
'as' => 'login',
'uses' => 'AuthController@showLogin',
]);
$router->post('login', [
'middleware' => ['guest', 'csrf', 'throttling:10,10'],
'as' => 'login',
'uses' => 'AuthController@postLogin',
]);
$router->post('login', [
'middleware' => ['guest', 'csrf', 'throttling:10,10'],
'uses' => 'AuthController@postLogin',
]);
// Two factor authorization
$router->get('2fa', [
'as' => 'two-factor',
'uses' => 'AuthController@showTwoFactorAuth',
]);
// Two factor authorization
$router->get('2fa', [
'as' => 'two-factor',
'uses' => 'AuthController@showTwoFactorAuth',
]);
$router->post('2fa', 'AuthController@postTwoFactor');
});
$router->post('2fa', [
'middleware' => ['csrf', 'throttling:10,10'],
'uses' => 'AuthController@postTwoFactor',
]);
$router->group(['middleware' => 'auth'], function ($router) {
$router->get('logout', [
'as' => 'logout',
'uses' => 'AuthController@logoutAction',
]);
});
$router->get('logout', [
'as' => 'logout',
'uses' => 'AuthController@logoutAction',
'middleware' => 'auth',
]);
});
}
}

View File

@@ -13,6 +13,11 @@ namespace CachetHQ\Cachet\Http\Routes;
use Illuminate\Contracts\Routing\Registrar;
/**
* This is the dashboard routes class.
*
* @author James Brooks <james@alt-three.com>
*/
class DashboardRoutes
{
/**
@@ -26,152 +31,172 @@ class DashboardRoutes
'middleware' => 'auth',
'prefix' => 'dashboard',
'namespace' => 'Admin',
'as' => 'dashboard.',
], function ($router) {
// Dashboard
$router->get('/', [
'as' => 'dashboard',
'as' => 'index',
'uses' => 'DashboardController@showDashboard',
]);
// Components
$router->group(['prefix' => 'components'], function ($router) {
$router->group([
'as' => 'components.',
'prefix' => 'components',
], function ($router) {
$router->get('/', [
'as' => 'dashboard.components',
'as' => 'index',
'uses' => 'ComponentController@showComponents',
]);
$router->get('add', [
'as' => 'dashboard.components.add',
'as' => 'add',
'uses' => 'ComponentController@showAddComponent',
]);
$router->post('add', 'ComponentController@createComponentAction');
$router->get('groups', [
'as' => 'dashboard.components.groups',
'as' => 'groups',
'uses' => 'ComponentController@showComponentGroups',
]);
$router->get('groups/add', [
'as' => 'dashboard.components.groups.add',
'as' => 'groups.add',
'uses' => 'ComponentController@showAddComponentGroup',
]);
$router->get('groups/edit/{component_group}', [
'as' => 'dashboard.components.groups.edit',
'as' => 'groups.edit',
'uses' => 'ComponentController@showEditComponentGroup',
]);
$router->post('groups/edit/{component_group}', 'ComponentController@updateComponentGroupAction');
$router->delete('groups/{component_group}/delete', 'ComponentController@deleteComponentGroupAction');
$router->post('groups/add', 'ComponentController@postAddComponentGroup');
$router->get('{component}/edit', [
'as' => 'edit',
'uses' => 'ComponentController@showEditComponent',
]);
$router->delete('{component}/delete', 'ComponentController@deleteComponentAction');
$router->get('{component}/edit', 'ComponentController@showEditComponent');
$router->post('{component}/edit', 'ComponentController@updateComponentAction');
});
// Incidents
$router->group(['prefix' => 'incidents'], function ($router) {
$router->group([
'as' => 'incidents.',
'prefix' => 'incidents',
], function ($router) {
$router->get('/', [
'as' => 'dashboard.incidents',
'as' => 'index',
'uses' => 'IncidentController@showIncidents',
]);
$router->get('add', [
'as' => 'dashboard.incidents.add',
'as' => 'add',
'uses' => 'IncidentController@showAddIncident',
]);
$router->post('add', 'IncidentController@createIncidentAction');
$router->delete('{incident}/delete', 'IncidentController@deleteIncidentAction');
$router->get('{incident}/edit', 'IncidentController@showEditIncidentAction');
$router->get('{incident}/edit', [
'as' => 'edit',
'uses' => 'IncidentController@showEditIncidentAction',
]);
$router->post('{incident}/edit', 'IncidentController@editIncidentAction');
});
// Scheduled Maintenance
$router->group(['prefix' => 'schedule'], function ($router) {
$router->get('/', ['as' => 'dashboard.schedule', 'uses' => 'ScheduleController@showIndex']);
$router->group([
'as' => 'schedule.',
'prefix' => 'schedule',
], function ($router) {
$router->get('/', [
'as' => 'index',
'uses' => 'ScheduleController@showIndex',
]);
$router->get('add', [
'as' => 'dashboard.schedule.add',
'as' => 'add',
'uses' => 'ScheduleController@showAddSchedule',
]);
$router->post('add', 'ScheduleController@addScheduleAction');
$router->get('{incident}/edit', [
'as' => 'dashboard.schedule.edit',
'as' => 'edit',
'uses' => 'ScheduleController@showEditSchedule',
]);
$router->post('{incident}/edit', 'ScheduleController@editScheduleAction');
$router->delete('{incident}/delete', [
'as' => 'dashboard.schedule.delete',
'as' => 'delete',
'uses' => 'ScheduleController@deleteScheduleAction',
]);
});
// Incident Templates
$router->group(['prefix' => 'templates'], function ($router) {
$router->group([
'as' => 'templates.',
'prefix' => 'templates',
], function ($router) {
$router->get('/', [
'as' => 'dashboard.templates',
'as' => 'index',
'uses' => 'IncidentController@showTemplates',
]);
$router->get('add', [
'as' => 'dashboard.templates.add',
'as' => 'add',
'uses' => 'IncidentController@showAddIncidentTemplate',
]);
$router->post('add', 'IncidentController@createIncidentTemplateAction');
$router->get('{incident_template}/edit', 'IncidentController@showEditTemplateAction');
$router->get('{incident_template}/edit', [
'as' => 'edit',
'uses' => 'IncidentController@showEditTemplateAction',
]);
$router->post('{incident_template}/edit', 'IncidentController@editTemplateAction');
$router->delete('{incident_template}/delete', 'IncidentController@deleteTemplateAction');
});
// Subscribers
$router->group(['prefix' => 'subscribers'], function ($router) {
$router->group([
'as' => 'subscribers.',
'prefix' => 'subscribers',
], function ($router) {
$router->get('/', [
'as' => 'dashboard.subscribers',
'as' => 'index',
'uses' => 'SubscriberController@showSubscribers',
]);
$router->get('add', [
'as' => 'dashboard.subscribers.add',
'as' => 'add',
'uses' => 'SubscriberController@showAddSubscriber',
]);
$router->post('add', 'SubscriberController@createSubscriberAction');
$router->delete('{subscriber}/delete', 'SubscriberController@deleteSubscriberAction');
});
// Metrics
$router->group(['prefix' => 'metrics'], function ($router) {
$router->group([
'as' => 'metrics.',
'prefix' => 'metrics',
], function ($router) {
$router->get('/', [
'as' => 'dashboard.metrics',
'as' => 'index',
'uses' => 'MetricController@showMetrics',
]);
$router->get('add', [
'as' => 'dashboard.metrics.add',
'as' => 'add',
'uses' => 'MetricController@showAddMetric',
]);
$router->post('add', 'MetricController@createMetricAction');
$router->delete('{metric}/delete', 'MetricController@deleteMetricAction');
$router->get('{metric}/edit', 'MetricController@showEditMetricAction');
$router->get('{metric}/edit', [
'as' => 'edit',
'uses' => 'MetricController@showEditMetricAction',
]);
$router->post('{metric}/edit', 'MetricController@editMetricAction');
});
// Notifications
$router->group(['prefix' => 'notifications'], function ($router) {
$router->get('/', [
'as' => 'dashboard.notifications',
'uses' => 'DashboardController@showNotifications',
]);
});
// Team Members
$router->group(['prefix' => 'team'], function ($router) {
$router->group([
'as' => 'team.',
'prefix' => 'team',
], function ($router) {
$router->get('/', [
'as' => 'dashboard.team',
'as' => 'index',
'uses' => 'TeamController@showTeamView',
]);
$router->group(['middleware' => 'admin'], function ($router) {
$router->get('add', [
'as' => 'dashboard.team.add',
'as' => 'add',
'uses' => 'TeamController@showAddTeamMemberView',
]);
$router->get('{user}', 'TeamController@showTeamMemberView');
@@ -182,21 +207,24 @@ class DashboardRoutes
});
// Settings
$router->group(['prefix' => 'settings'], function ($router) {
$router->group([
'as' => 'settings.',
'prefix' => 'settings',
], function ($router) {
$router->get('setup', [
'as' => 'dashboard.settings.setup',
'as' => 'setup',
'uses' => 'SettingsController@showSetupView',
]);
$router->get('security', [
'as' => 'dashboard.settings.security',
'as' => 'security',
'uses' => 'SettingsController@showSecurityView',
]);
$router->get('theme', [
'as' => 'dashboard.settings.theme',
'as' => 'theme',
'uses' => 'SettingsController@showThemeView',
]);
$router->get('stylesheet', [
'as' => 'dashboard.settings.stylesheet',
'as' => 'stylesheet',
'uses' => 'SettingsController@showStylesheetView',
]);
$router->post('/', 'SettingsController@postSettings');
@@ -205,15 +233,17 @@ class DashboardRoutes
// User Settings
$router->group(['prefix' => 'user'], function ($router) {
$router->get('/', [
'as' => 'dashboard.user',
'as' => 'user',
'uses' => 'UserController@showUser',
]);
$router->post('/', 'UserController@postUser');
$router->get('{user}/api/regen', 'UserController@regenerateApiKey');
});
// Internal API.
// This should only be used for making requests within the dashboard.
/*
* Internal API.
* This should only be used for making requests within the dashboard.
*/
$router->group(['prefix' => 'api'], function ($router) {
$router->get('incidents/templates', 'ApiController@getIncidentTemplate');
$router->post('components/groups/order', 'ApiController@postUpdateComponentGroupOrder');

View File

@@ -13,6 +13,11 @@ namespace CachetHQ\Cachet\Http\Routes;
use Illuminate\Contracts\Routing\Registrar;
/**
* This is the feed routes class.
*
* @author James Brooks <james@alt-three.com>
*/
class FeedRoutes
{
/**
@@ -24,8 +29,14 @@ class FeedRoutes
{
// Prevent access until the app is setup.
$router->group(['middleware' => 'app.hasSetting', 'setting' => 'app_name'], function ($router) {
$router->get('/atom/{component_group?}', 'AtomController@feedAction');
$router->get('/rss/{component_group?}', 'RssController@feedAction');
$router->get('/atom/{component_group?}', [
'as' => 'feed.atom',
'uses' => 'AtomController@feedAction',
]);
$router->get('/rss/{component_group?}', [
'as' => 'feed.rss',
'uses' => 'RssController@feedAction',
]);
});
}
}

View File

@@ -13,6 +13,11 @@ namespace CachetHQ\Cachet\Http\Routes;
use Illuminate\Contracts\Routing\Registrar;
/**
* This is the setup routes class.
*
* @author James Brooks <james@alt-three.com>
*/
class SetupRoutes
{
/**

View File

@@ -13,6 +13,11 @@ namespace CachetHQ\Cachet\Http\Routes;
use Illuminate\Contracts\Routing\Registrar;
/**
* This is the status page routes class.
*
* @author James Brooks <james@alt-three.com>
*/
class StatusPageRoutes
{
/**
@@ -22,12 +27,11 @@ class StatusPageRoutes
*/
public function map(Registrar $router)
{
// Prevent access until the app is setup.
$router->group(['middleware' => 'app.hasSetting', 'setting' => 'app_name'], function ($router) {
$router->get('/', [
'as' => 'status-page',
'uses' => 'HomeController@showIndex',
]);
});
$router->get('/', [
'middleware' => 'app.hasSetting',
'setting' => 'app_name',
'as' => 'status-page',
'uses' => 'HomeController@showIndex',
]);
}
}

View File

@@ -13,6 +13,11 @@ namespace CachetHQ\Cachet\Http\Routes;
use Illuminate\Contracts\Routing\Registrar;
/**
* This is the subscriber routes class.
*
* @author James Brooks <james@alt-three.com>
*/
class SubscribeRoutes
{
/**
@@ -22,7 +27,10 @@ class SubscribeRoutes
*/
public function map(Registrar $router)
{
$router->group(['middleware' => 'app.hasSetting', 'setting' => 'app_name'], function ($router) {
$router->group([
'middleware' => 'app.hasSetting',
'setting' => 'app_name',
], function ($router) {
$router->group(['middleware' => 'app.subscribers'], function ($router) {
$router->get('subscribe', [
'as' => 'subscribe-page',