示例#1
0
 /**
  * Define the api routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['namespace' => 'Api', 'prefix' => 'api/v1', 'middleware' => ['accept:application/json', 'timezone', 'auth.api.optional']], function ($router) {
         // General
         $router->get('ping', 'GeneralController@ping');
         // Projects
         $router->get('projects', 'ProjectController@getProjects');
         $router->get('projects/teams', 'ProjectTeamController@getTeams');
         $router->get('projects/teams/{project_team}', 'ProjectTeamController@getTeam');
         $router->get('projects/{project}', 'ProjectController@getProject');
         // Issues
         $router->get('issues', 'IssueController@getIssues');
         $router->get('issues/{issue}', 'IssueController@getIssue');
         // Authorization Required
         $router->group(['middleware' => 'auth.api'], function ($router) {
             $router->get('subscribers', 'SubscriberController@getSubscribers');
             $router->post('projects', 'ProjectController@postProjects');
             $router->post('projects/teams', 'ProjectTeamController@postTeams');
             $router->post('issues', 'IssueController@postIssues');
             $router->post('subscribers', 'SubscriberController@postSubscribers');
             $router->put('projects/teams/{project_team}', 'ProjectTeamController@putTeam');
             $router->put('projects/{project}', 'ProjectController@putProject');
             $router->put('issues/{issue}', 'IssueController@putIssue');
             $router->delete('projects/teams/{project_team}', 'ProjectTeamController@deleteTeam');
             $router->delete('projects/{project}', 'ProjectController@deleteProject');
             $router->delete('issues/{issue}', 'IssueController@deleteIssue');
             $router->delete('subscribers/{subscriber}', 'SubscriberController@deleteSubscriber');
         });
     });
 }
示例#2
0
 /**
  * Define the install routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     //Default - Dashboard
     $router->group(['middleware' => ['app.hasSetting', 'auth'], 'setting' => 'app_name'], function ($router) {
         $router->get('/', ['as' => 'home', 'uses' => 'DashboardController@indexAction']);
     });
     //Install Area
     $router->group(['middleware' => ['app.isInstalled', 'localize']], function ($router) {
         $router->controller('install', 'InstallController');
     });
     //Signup Area
     $router->group(['middleware' => ['app.hasSetting', 'guest'], 'setting' => 'app_name', 'as' => 'signup.'], function ($router) {
         $router->get('signup', ['as' => 'signup', 'uses' => 'SignupController@getSignup']);
         $router->post('signup', ['uses' => 'SignupController@postSignup']);
         $router->get('signup/invite/{code}', ['as' => 'invite', 'uses' => 'SignupController@getSignup']);
         $router->post('signup/invite/{code}', ['uses' => 'SignupController@postSignup']);
     });
     //Explore Area
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'prefix' => 'explore', 'as' => 'explore.'], function ($router) {
         $router->get('/', ['as' => 'index', 'uses' => 'ExploreController@indexAction']);
         $router->get('groups', ['as' => 'groups', 'uses' => 'ExploreController@groupsAction']);
         $router->get('issue/{issue}', ['as' => 'issue', 'uses' => 'ExploreController@showIssue']);
     });
     // Feed Area
     $router->group(['middleware' => 'app.hasSetting', 'setting' => 'app_name'], function ($router) {
         $router->get('/atom/{namespace?}', ['as' => 'feed.atom', 'uses' => 'FeedController@atomAction']);
         $router->get('/rss/{namespace?}', ['as' => 'feed.rss', 'uses' => 'FeedController@rssAction']);
     });
     // Profile Area
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'as' => 'profile.'], function ($router) {
         $router->get('profile', ['as' => 'index', 'uses' => 'ProfilesController@indexAction']);
         $router->post('profile', ['as' => 'update', 'uses' => 'ProfilesController@updateAction']);
         $router->get('profile/{username}', ['as' => 'show', 'uses' => 'ProfilesController@showAction'])->where('username', '[a-zA-z.0-9_\\-]+');
     });
 }
示例#3
0
 /**
  * Define the api routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['namespace' => 'Api', 'prefix' => 'api/v1', 'middleware' => 'accept:application/json'], function ($router) {
         // General
         $router->get('ping', 'GeneralController@ping');
         // Components
         $router->get('components', 'ComponentController@getComponents');
         $router->get('components/{component}', 'ComponentController@getComponent');
         // Incidents
         $router->get('incidents', 'IncidentController@getIncidents');
         $router->get('incidents/{incident}', 'IncidentController@getIncident');
         // Metrics
         $router->get('metrics', 'MetricController@getMetrics');
         $router->get('metrics/{metric}', 'MetricController@getMetric');
         $router->get('metrics/{metric}/points', 'MetricController@getMetricPoints');
         // Api protected
         $router->group(['middleware' => 'auth.api'], function ($router) {
             $router->post('components', 'ComponentController@postComponents');
             $router->post('incidents', 'IncidentController@postIncidents');
             $router->post('metrics', 'MetricController@postMetrics');
             $router->post('metrics/{metric}/points', 'MetricPointController@postMetricPoints');
             $router->put('components/{component}', 'ComponentController@putComponent');
             $router->put('incidents/{incident}', 'IncidentController@putIncident');
             $router->put('metrics/{metric}', 'MetricController@putMetric');
             $router->put('metrics/{metric}/points/{metric_point}', 'MetricPointController@putMetricPoint');
             $router->delete('components/{component}', 'ComponentController@deleteComponent');
             $router->delete('incidents/{incident}', 'IncidentController@deleteIncident');
             $router->delete('metrics/{metric}', 'MetricController@deleteMetric');
             $router->delete('metrics/{metric}/points/{metric_point}', 'MetricPointController@deleteMetricPoint');
         });
     });
 }
示例#4
0
 /**
  * Define the account routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->post('auth/login', ['as' => 'auth_login', 'uses' => 'AuthController@handleLogin']);
     $router->get('auth/github-callback', ['as' => 'auth_callback', 'uses' => 'AuthController@handleCallback']);
     $router->post('auth/logout', ['as' => 'auth_logout', 'uses' => 'AuthController@handleLogout']);
     $router->get('account', ['as' => 'account', 'uses' => 'AccountController@handleShow']);
     $router->delete('account/delete', ['as' => 'account_delete', 'uses' => 'AccountController@handleDelete']);
 }
示例#5
0
 /**
  * Define the setup routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['web', 'setup']], function (Registrar $router) {
         $router->get('setup', 'SetupController@getIndex');
         $router->post('setup/step1', 'SetupController@postStep1');
         $router->post('setup/step2', 'SetupController@postStep2');
         $router->post('setup/step3', 'SetupController@postStep3');
     });
 }
示例#6
0
 /**
  * Define the auth routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $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->get('signup', ['middleware' => 'guest', 'as' => 'signup', 'uses' => 'SignupController@getSignup']);
         $router->post('signup', ['uses' => 'SignupController@postSignup']);
         $router->post('login', ['middleware' => ['guest', 'csrf', 'throttling:10,10'], 'uses' => 'AuthController@postLogin']);
         $router->get('logout', ['as' => 'logout', 'uses' => 'AuthController@logoutAction', 'middleware' => 'auth']);
     });
 }
示例#7
0
 /**
  * Define the auth routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['as' => 'auth.', 'middleware' => ['web', 'ready'], 'prefix' => 'auth'], function ($router) {
         $router->get('login', ['middleware' => 'guest', 'as' => 'login', 'uses' => 'AuthController@showLogin']);
         $router->post('login', ['middleware' => ['guest', 'throttling:10,10'], 'uses' => 'AuthController@postLogin']);
         $router->get('2fa', ['as' => 'two-factor', 'uses' => 'AuthController@showTwoFactorAuth']);
         $router->post('2fa', ['middleware' => ['throttling:10,10'], 'uses' => 'AuthController@postTwoFactor']);
         $router->get('logout', ['as' => 'logout', 'uses' => 'AuthController@logoutAction', 'middleware' => 'auth']);
     });
 }
示例#8
0
 /**
  * Define the auth routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $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'], 'uses' => 'AuthController@postLogin']);
         // Two factor authorization
         $router->get('2fa', ['as' => 'two-factor', 'uses' => 'AuthController@showTwoFactorAuth']);
         $router->post('2fa', ['middleware' => ['csrf', 'throttling:10,10'], 'uses' => 'AuthController@postTwoFactor']);
         $router->get('logout', ['as' => 'logout', 'uses' => 'AuthController@logoutAction', 'middleware' => 'auth']);
     });
 }
示例#9
0
 /**
  * Define the subscribe routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['web', 'ready', 'localize', 'subscribers'], 'as' => 'subscribe.'], function (Registrar $router) {
         $router->get('subscribe', ['as' => 'subscribe', 'uses' => 'SubscribeController@showSubscribe']);
         $router->post('subscribe', ['uses' => 'SubscribeController@postSubscribe']);
         $router->get('subscribe/manage/{code}', ['as' => 'manage', 'uses' => 'SubscribeController@showManage']);
         $router->post('subscribe/manage/{code}', ['as' => 'manage', 'uses' => 'SubscribeController@postManage']);
         $router->get('subscribe/verify/{code}', ['as' => 'verify', 'uses' => 'SubscribeController@getVerify']);
         $router->get('unsubscribe/{code}/{subscription?}', ['as' => 'unsubscribe', 'uses' => 'SubscribeController@getUnsubscribe']);
     });
 }
示例#10
0
 /**
  * Define the auth routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['as' => 'auth.', 'middleware' => ['web'], 'prefix' => 'auth', 'namespace' => 'Auth'], function (Registrar $router) {
         $router->get('login', ['middleware' => 'guest', 'as' => 'login', 'uses' => 'AuthController@getLogin']);
         $router->post('login', ['middleware' => ['guest'], 'uses' => 'AuthController@postLogin']);
         $router->get('logout', ['as' => 'logout', 'uses' => 'AuthController@getLogout', 'middleware' => 'auth']);
         $router->get('register', ['middleware' => 'guest', 'as' => 'register', 'uses' => 'AuthController@getRegister']);
         $router->post('register', ['middleware' => ['guest'], 'uses' => 'AuthController@postRegister']);
         $router->get('landing', ['middleware' => 'guest', 'as' => 'landing', 'uses' => 'AuthController@landing']);
         $router->get('{provider}', 'AuthController@provider');
         $router->get('{provider}/callback', 'AuthController@callback');
     });
 }
示例#11
0
 /**
  * Define the groups routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'prefix' => 'groups', 'as' => 'groups.'], function ($router) {
         $router->get('/', ['as' => 'index', 'uses' => 'GroupsController@indexAction']);
         $router->get('new', ['as' => 'new', 'uses' => 'GroupsController@newAction']);
         $router->post('create', ['as' => 'create', 'uses' => 'GroupsController@createAction']);
     });
     // Project Sub-routes groups.group_show, groups.group_edit
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'as' => 'groups.'], function ($router) {
         $router->get('{owner_path}/edit', ['as' => 'group_edit', 'uses' => 'GroupsController@editAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+');
         $router->post('{owner_path}', ['as' => 'group_update', 'uses' => 'GroupsController@updateAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+');
     });
 }
示例#12
0
 /**
  * Define the account routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['prefix' => 'api', 'as' => 'api_'], function (Registrar $router) {
         $router->get('repos', ['as' => 'repos', 'uses' => 'Api\\RepoController@handleList']);
         $router->get('repos/{repo}', ['as' => 'repo', 'uses' => 'Api\\RepoController@handleShow']);
         $router->get('repos/{repo}/branches', ['as' => 'repo_branches', 'uses' => 'Api\\RepoController@handleBranches']);
         $router->post('repos/{repo}/analyze', ['as' => 'repo_analyze', 'uses' => 'Api\\RepoController@handleAnalyze']);
         $router->get('analyses/{analysis}', ['as' => 'analysis', 'uses' => 'Api\\RepoController@handleAnalysis']);
         $router->get('account/repos', ['as' => 'account_repos', 'uses' => 'Api\\AccountController@handleListRepos']);
         $router->post('account/repos/sync', ['as' => 'account_repos_sync', 'uses' => 'Api\\AccountController@handleSync']);
         $router->post('account/enable/{id}', ['as' => 'enable_repo', 'uses' => 'Api\\AccountController@handleEnable']);
         $router->post('account/disable/{repo}', ['as' => 'disable_repo', 'uses' => 'Api\\AccountController@handleDisable']);
     });
 }
示例#13
0
 /**
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['web']], function (Registrar $router) {
         $router->get('login', 'LoginController@showLoginForm')->name('login');
         $router->post('login', 'LoginController@login');
         $router->get('logout', 'LoginController@logout')->name('logout');
         $router->get('password/reset', 'ForgotPasswordController@showLinkRequestForm');
         $router->post('password/email', 'ForgotPasswordController@sendResetLinkEmail');
         $router->get('password/reset/{token}', 'ResetPasswordController@showResetForm');
         $router->post('password/reset', 'ResetPasswordController@reset');
         if (config('auth.register')) {
             $router->get('register', 'RegisterController@showRegistrationForm');
             $router->post('register', 'RegisterController@register');
         }
     });
 }
示例#14
0
 /**
  * Define the signup routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['app.hasSetting', 'guest'], 'setting' => 'app_name', 'as' => 'signup.'], function ($router) {
         $router->get('signup/invite/{code}', ['as' => 'invite', 'uses' => 'SignupController@getSignup']);
         $router->post('signup/invite/{code}', ['uses' => 'SignupController@postSignup']);
     });
 }
示例#15
0
 /**
  * Define the signup routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['web', 'ready', 'guest'], 'as' => 'signup.'], function (Registrar $router) {
         $router->get('signup/invite/{code}', ['as' => 'invite', 'uses' => 'SignupController@getSignup']);
         $router->post('signup/invite/{code}', ['uses' => 'SignupController@postSignup']);
     });
 }
示例#16
0
 /**
  * Define the status page routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['web'], 'namespace' => 'Projects'], function (Registrar $router) {
         $router->get('{owner}/{project}/issues', ['as' => 'issues', 'uses' => 'IssueController@index']);
         $router->get('{owner}/{project}/issues/new', ['as' => 'issue_new', 'uses' => 'IssueController@create']);
         $router->post('{owner}/{project}/issues', ['as' => 'issue_store', 'uses' => 'IssueController@store']);
         $router->get('{owner}/{project}/issues/{issue}', ['as' => 'issue_show', 'uses' => 'IssueController@show']);
         $router->get('/{owner}/{project}/{branch}/rss', ['as' => 'rss', 'uses' => 'RssController@show']);
         $router->get('{owner}/{project}/merge_requests', ['as' => 'merge_requests', 'uses' => 'MergeRequestController@index']);
         $router->get('{owner}/{project}/commits/{commitishPath}', ['as' => 'commits', 'uses' => 'CommitController@index']);
         $router->get('{owner}/{project}/commit/{commit}', ['as' => 'commit', 'uses' => 'CommitController@show']);
         $router->get('{owner}/{project}/stats/{branch}', ['as' => 'stats', 'uses' => 'StatsController@show']);
         $router->get('{owner}/{project}/network/{commitishPath}', ['as' => 'network', 'uses' => 'NetworkController@index']);
         $router->get('{owner}/{project}/network_data/{commitishPath}/{page}', ['as' => 'networkData', 'uses' => 'NetworkController@data']);
         $router->get('{owner}/{project}/treegraph/{commitishPath}', ['as' => 'treegraph', 'uses' => 'TreeGraphController@index']);
         $router->get('{owner}/{project}/{format}ball/{branch}', ['as' => 'archive', 'uses' => 'TreeController@archive']);
         $router->get('{owner}/{project}/blob/{commitishPath}', ['as' => 'blob', 'uses' => 'BlobController@index']);
         $router->get('{owner}/{project}/raw/{commitishPath}', ['as' => 'blob_raw', 'uses' => 'BlobController@raw']);
         $router->get('{owner}/{project}/blame/{commitishPath}', ['as' => 'blame', 'uses' => 'BlameController@show']);
         $router->get('{owner}/{project}/tree/{commitishPath}/', ['as' => 'tree', 'uses' => 'TreeController@tree']);
         $router->get('/{owner}/{project}', ['as' => 'repository', 'uses' => 'TreeController@index']);
         $router->any('{owner}/{project}/tree/{branch}/search', ['as' => 'search', 'uses' => 'TreeController@search']);
         $router->get('{owner}/{project}/{branch}', ['as' => 'branch', 'uses' => 'TreeController@tree']);
     });
 }
示例#17
0
 /**
  * Define the projects routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     // Project Area
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'prefix' => 'projects', 'as' => 'projects.'], function ($router) {
         $router->get('/', ['as' => 'index', 'uses' => 'ProjectsController@index']);
         $router->get('new', ['as' => 'new', 'uses' => 'ProjectsController@new']);
         $router->post('create', ['as' => 'create', 'uses' => 'ProjectsController@create']);
     });
     // Project Sub-routes
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'as' => 'projects.'], function ($router) {
         $router->get('{namespace}/{project}', ['as' => 'project_show', 'uses' => 'ProjectsController@show'])->where('namespace', '[a-zA-z.0-9_\\-]+')->where('project', '[a-zA-z.0-9_\\-]+');
         $router->get('{namespace}/{project}/edit', ['as' => 'project_edit', 'uses' => 'ProjectsController@edit'])->where('namespace', '[a-zA-z.0-9_\\-]+')->where('project', '[a-zA-z.0-9_\\-]+');
         $router->post('{namespace}/{project}/update', ['as' => 'project_update', 'uses' => 'ProjectsController@update'])->where('namespace', '[a-zA-z.0-9_\\-]+')->where('project', '[a-zA-z.0-9_\\-]+');
         //Issues
         $router->get('{namespace}/{project}/issues', ['as' => 'issue_index', 'uses' => 'Projects\\IssuesController@index'])->where('namespace', '[a-zA-z.0-9_\\-]+')->where('project', '[a-zA-z.0-9_\\-]+');
     });
 }
示例#18
0
 public function map(Registrar $router)
 {
     //后台管理
     $router->group(['domain' => 'admin.tanteng.me', 'middleware' => 'web'], function ($router) {
         $router->get('/', 'Admin\\AdminController@index');
         $router->get('/login', 'Admin\\AuthController@getLogin');
         $router->post('/login', 'Admin\\AuthController@postLogin');
         $router->get('/logout', 'Admin\\AuthController@logout');
         $router->post('/upload', ['uses' => 'Admin\\QiniuController@postUpload']);
         $router->get('/attachment', ['uses' => 'Admin\\QiniuController@showList']);
         $router->resource('travel', 'Admin\\TravelController');
         $router->resource('destination', 'Admin\\DestinationController');
         $router->get('/settings/cover', 'Admin\\SettingsController@coverEdit');
         $router->post('/settings/cover', 'Admin\\SettingsController@coverUpdate');
         $router->resource('content', 'Admin\\ContentController');
     });
 }
示例#19
0
 /**
  * Define the auth routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['as' => 'auth.', 'middleware' => 'app.hasSetting', 'prefix' => 'auth', 'setting' => 'app_name'], function ($router) {
         $router->get('login', ['middleware' => 'guest', 'as' => 'login', 'uses' => 'AuthController@loginAction']);
         $router->post('login', ['middleware' => ['guest', 'csrf'], 'uses' => 'AuthController@loginPost']);
         $router->get('logout', ['as' => 'logout', 'uses' => 'AuthController@logoutAction', 'middleware' => 'auth']);
     });
 }
示例#20
0
 /**
  * Define the subscribe routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => 'app.hasSetting', 'setting' => 'app_name'], function ($router) {
         $router->group(['middleware' => 'app.subscribers'], function ($router) {
             $router->get('subscribe', ['as' => 'subscribe-page', 'uses' => 'SubscribeController@showSubscribe']);
             $router->post('subscribe', ['as' => 'subscribe', 'uses' => 'SubscribeController@postSubscribe']);
             $router->get('subscribe/verify/{code}', ['as' => 'subscribe-verify', 'uses' => 'SubscribeController@getVerify']);
             $router->get('unsubscribe/{code}', ['as' => 'unsubscribe', 'uses' => 'SubscribeController@getUnsubscribe']);
         });
     });
 }
示例#21
0
 public function map(Registrar $router)
 {
     $router->group(['domain' => 'www.tanteng.me', 'middleware' => 'web'], function ($router) {
         $router->auth();
         $router->get('/', ['as' => 'home', 'uses' => 'IndexController@index']);
         $router->get('/blog', ['as' => 'index.blog', 'uses' => 'BlogController@index']);
         $router->get('/resume', ['as' => 'index.resume', 'uses' => 'IndexController@resume']);
         $router->get('/page/{slug}', ['as' => 'index.page', 'uses' => 'PageController@share']);
         $router->get('/post', ['name' => 'post.show', 'uses' => 'ArticleController@show']);
         $router->get('/contact', ['as' => 'index.contact', 'uses' => 'IndexController@contact']);
         $router->post('/contact/comment', ['uses' => 'IndexController@postComment']);
         $router->get('/travel', ['as' => 'index.travel', 'uses' => 'TravelController@index']);
         $router->get('/travel/latest', ['as' => 'travel.latest', 'uses' => 'TravelController@latest']);
         $router->get('/travel/{destination}/list', ['as' => 'travel.destination', 'uses' => 'TravelController@travelList']);
         $router->get('/travel/{slug}', ['uses' => 'TravelController@travelDetail']);
         $router->get('/commits', ['as' => 'git.commits', 'uses' => 'IndexController@commitsHistory']);
         $router->post('/gitHistory', ['as' => 'git.history', 'uses' => 'IndexController@gitCommitHistory']);
         $router->get('/sitemap.xml', ['as' => 'index.sitemap', 'uses' => 'IndexController@sitemap']);
         $router->get('/download', ['uses' => 'IndexController@download']);
         $router->get('/donate', ['as' => 'donate', 'uses' => 'IndexController@donate']);
     });
 }
示例#22
0
 /**
  * Define the projects routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     // Project Area
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'prefix' => 'projects', 'as' => 'projects.'], function ($router) {
         $router->get('/', ['as' => 'index', 'uses' => 'ProjectsController@indexAction']);
         $router->get('new', ['as' => 'new', 'uses' => 'ProjectsController@newAction']);
         $router->post('create', ['as' => 'create', 'uses' => 'ProjectsController@createAction']);
     });
     // Project Sub-routes
     $router->group(['middleware' => ['app.hasSetting'], 'setting' => 'app_name', 'as' => 'projects.'], function ($router) {
         $router->get('{owner_path}/{project_path}', ['as' => 'project_show', 'uses' => 'ProjectsController@showAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         $router->get('{owner_path}/{project_path}/edit', ['as' => 'project_edit', 'uses' => 'ProjectsController@editAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         $router->post('{owner_path}/{project_path}', ['as' => 'project_update', 'uses' => 'ProjectsController@updateAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //Issues
         $router->get('{owner_path}/{project_path}/issues', ['as' => 'issue_index', 'uses' => 'Projects\\IssuesController@indexAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //new
         $router->get('{owner_path}/{project_path}/issues/new', ['as' => 'issue_new', 'uses' => 'Projects\\IssuesController@newAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //create
         $router->post('{owner_path}/{project_path}/issues', ['as' => 'issue_create', 'uses' => 'Projects\\IssuesController@createAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //show
         $router->get('{owner_path}/{project_path}/issues/{issue}', ['as' => 'issue_show', 'uses' => 'Projects\\IssuesController@showAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //edit
         $router->get('{owner_path}/{project_path}/issues/{issue}/edit', ['as' => 'issue_edit', 'uses' => 'Projects\\IssuesController@editAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //update
         $router->post('{owner_path}/{project_path}/issues/{issue}', ['as' => 'issue_update', 'uses' => 'Projects\\IssuesController@updateAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //Pull Requests
         $router->get('{owner_path}/{project_path}/pulls', ['as' => 'pull_index', 'uses' => 'Projects\\PullRequestsController@indexAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //Wiki
         $router->get('{owner_path}/{project_path}/wiki', ['as' => 'wiki_index', 'uses' => 'Projects\\WikiController@indexAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //Pulse
         $router->get('{owner_path}/{project_path}/pulse', ['as' => 'pulse_index', 'uses' => 'Projects\\PulseController@indexAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //Graphs
         $router->get('{owner_path}/{project_path}/graphs', ['as' => 'graph_index', 'uses' => 'Projects\\GraphsController@indexAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
         //Comments
         //create
         $router->post('{owner_path}/{project_path}/comments', ['as' => 'comment_create', 'uses' => 'Projects\\CommentsController@createAction'])->where('owner_path', '[a-zA-z.0-9_\\-]+')->where('project_path', '[a-zA-z.0-9_\\-]+');
     });
 }
示例#23
0
 /**
  * Define the status page routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 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('/atom/{component_group?}', 'AtomController@feedAction');
         $router->get('/rss/{component_group?}', 'RssController@feedAction');
         $router->group(['middleware' => 'app.subscribers'], function ($router) {
             $router->get('subscribe', ['as' => 'subscribe-page', 'uses' => 'SubscribeController@showSubscribe']);
             $router->post('subscribe', ['as' => 'subscribe', 'uses' => 'SubscribeController@postSubscribe']);
             $router->get('subscribe/verify/{code}', ['as' => 'subscribe-verify', 'uses' => 'SubscribeController@getVerify']);
             $router->get('unsubscribe/{code}', ['as' => 'unsubscribe', 'uses' => 'SubscribeController@getUnsubscribe']);
         });
     });
 }
示例#24
0
 /**
  * Define the admin routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     //Dashboard area
     $router->group(['middleware' => ['auth', 'admin'], 'prefix' => 'admin', 'namespace' => 'Admin', 'as' => 'admin.'], function ($router) {
         $router->get('/', ['as' => 'index', 'uses' => 'DashboardController@indexAction']);
         // Settings
         $router->group(['as' => 'settings.', 'prefix' => 'settings'], function ($router) {
             $router->get('general', ['as' => 'general', 'uses' => 'SettingsController@showGeneralView']);
             $router->get('localization', ['as' => 'localization', 'uses' => 'SettingsController@showLocalizationView']);
             $router->get('timezone', ['as' => 'timezone', 'uses' => 'SettingsController@showTimezoneView']);
             $router->get('theme', ['as' => 'theme', 'uses' => 'SettingsController@showThemeView']);
             $router->get('stylesheet', ['as' => 'stylesheet', 'uses' => 'SettingsController@showStylesheetView']);
             $router->post('/', 'SettingsController@postSettings');
         });
     });
 }
示例#25
0
 /**
  * Define the api routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['namespace' => 'Api', 'prefix' => 'api/v1', 'middleware' => ['accept:application/json', 'timezone', 'auth.api.optional']], function ($router) {
         // General
         $router->get('ping', 'GeneralController@ping');
         // Components
         $router->get('components', 'ComponentController@getComponents');
         $router->get('components/groups', 'ComponentGroupController@getGroups');
         $router->get('components/groups/{component_group}', 'ComponentGroupController@getGroup');
         $router->get('components/{component}', 'ComponentController@getComponent');
         // Incidents
         $router->get('incidents', 'IncidentController@getIncidents');
         $router->get('incidents/{incident}', 'IncidentController@getIncident');
         // Metrics
         $router->get('metrics', 'MetricController@getMetrics');
         $router->get('metrics/{metric}', 'MetricController@getMetric');
         $router->get('metrics/{metric}/points', 'MetricController@getMetricPoints');
         // Authorization Required
         $router->group(['middleware' => 'auth.api'], function ($router) {
             $router->get('subscribers', 'SubscriberController@getSubscribers');
             $router->post('components', 'ComponentController@postComponents');
             $router->post('components/groups', 'ComponentGroupController@postGroups');
             $router->post('incidents', 'IncidentController@postIncidents');
             $router->post('metrics', 'MetricController@postMetrics');
             $router->post('metrics/{metric}/points', 'MetricPointController@postMetricPoints');
             $router->post('subscribers', 'SubscriberController@postSubscribers');
             $router->put('components/groups/{component_group}', 'ComponentGroupController@putGroup');
             $router->put('components/{component}', 'ComponentController@putComponent');
             $router->put('incidents/{incident}', 'IncidentController@putIncident');
             $router->put('metrics/{metric}', 'MetricController@putMetric');
             $router->put('metrics/{metric}/points/{metric_point}', 'MetricPointController@putMetricPoint');
             $router->delete('components/groups/{component_group}', 'ComponentGroupController@deleteGroup');
             $router->delete('components/{component}', 'ComponentController@deleteComponent');
             $router->delete('incidents/{incident}', 'IncidentController@deleteIncident');
             $router->delete('metrics/{metric}', 'MetricController@deleteMetric');
             $router->delete('metrics/{metric}/points/{metric_point}', 'MetricPointController@deleteMetricPoint');
             $router->delete('subscribers/{subscriber}', 'SubscriberController@deleteSubscriber');
         });
     });
 }
示例#26
0
 /**
  * Define the api routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['namespace' => 'Api', 'prefix' => 'api/v1', 'middleware' => ['api']], function (Registrar $router) {
         $router->group(['middleware' => ['auth.api']], function (Registrar $router) {
             $router->get('ping', 'GeneralController@ping');
             $router->get('version', 'GeneralController@version');
             $router->get('status', 'GeneralController@status');
             $router->get('components', 'ComponentController@getComponents');
             $router->get('components/groups', 'ComponentGroupController@getGroups');
             $router->get('components/groups/{component_group}', 'ComponentGroupController@getGroup');
             $router->get('components/{component}', 'ComponentController@getComponent');
             $router->get('incidents', 'IncidentController@getIncidents');
             $router->get('incidents/{incident}', 'IncidentController@getIncident');
             $router->get('metrics', 'MetricController@getMetrics');
             $router->get('metrics/{metric}', 'MetricController@getMetric');
             $router->get('metrics/{metric}/points', 'MetricController@getMetricPoints');
         });
         $router->group(['middleware' => ['auth.api:true']], function (Registrar $router) {
             $router->get('subscribers', 'SubscriberController@getSubscribers');
             $router->post('components', 'ComponentController@postComponents');
             $router->post('components/groups', 'ComponentGroupController@postGroups');
             $router->post('incidents', 'IncidentController@postIncidents');
             $router->post('metrics', 'MetricController@postMetrics');
             $router->post('metrics/{metric}/points', 'MetricPointController@postMetricPoints');
             $router->post('subscribers', 'SubscriberController@postSubscribers');
             $router->put('components/groups/{component_group}', 'ComponentGroupController@putGroup');
             $router->put('components/{component}', 'ComponentController@putComponent');
             $router->put('incidents/{incident}', 'IncidentController@putIncident');
             $router->put('metrics/{metric}', 'MetricController@putMetric');
             $router->put('metrics/{metric}/points/{metric_point}', 'MetricPointController@putMetricPoint');
             $router->delete('components/groups/{component_group}', 'ComponentGroupController@deleteGroup');
             $router->delete('components/{component}', 'ComponentController@deleteComponent');
             $router->delete('incidents/{incident}', 'IncidentController@deleteIncident');
             $router->delete('metrics/{metric}', 'MetricController@deleteMetric');
             $router->delete('metrics/{metric}/points/{metric_point}', 'MetricPointController@deleteMetricPoint');
             $router->delete('subscribers/{subscriber}', 'SubscriberController@deleteSubscriber');
             $router->delete('subscriptions/{subscription}', 'SubscriberController@deleteSubscription');
         });
     });
 }
示例#27
0
 /**
  * Register a new POST route with the router.
  *
  * @param  string                $uri
  * @param  Closure|array|string  $action
  */
 public function post($uri, $action)
 {
     $this->router->post($uri, $action);
 }
示例#28
0
 /**
  * Define the dashboard routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => ['web', 'auth'], 'prefix' => 'dashboard', 'namespace' => 'Dashboard', 'as' => 'dashboard.'], function ($router) {
         $router->get('/', ['as' => 'index', 'uses' => 'DashboardController@showDashboard']);
         $router->group(['as' => 'components.', 'prefix' => 'components'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'ComponentController@showComponents']);
             $router->get('add', ['as' => 'add', 'uses' => 'ComponentController@showAddComponent']);
             $router->post('add', 'ComponentController@createComponentAction');
             $router->get('groups', ['as' => 'groups', 'uses' => 'ComponentController@showComponentGroups']);
             $router->get('groups/add', ['as' => 'groups.add', 'uses' => 'ComponentController@showAddComponentGroup']);
             $router->get('groups/edit/{component_group}', ['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->post('{component}/edit', 'ComponentController@updateComponentAction');
         });
         $router->group(['as' => 'incidents.', 'prefix' => 'incidents'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'IncidentController@showIncidents']);
             $router->get('add', ['as' => 'add', 'uses' => 'IncidentController@showAddIncident']);
             $router->post('add', 'IncidentController@createIncidentAction');
             $router->delete('{incident}/delete', ['as' => 'delete', 'uses' => 'IncidentController@deleteIncidentAction']);
             $router->get('{incident}/edit', ['as' => 'edit', 'uses' => 'IncidentController@showEditIncidentAction']);
             $router->post('{incident}/edit', 'IncidentController@editIncidentAction');
         });
         $router->group(['as' => 'schedule.', 'prefix' => 'schedule'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'ScheduleController@showIndex']);
             $router->get('add', ['as' => 'add', 'uses' => 'ScheduleController@showAddSchedule']);
             $router->post('add', 'ScheduleController@addScheduleAction');
             $router->get('{incident}/edit', ['as' => 'edit', 'uses' => 'ScheduleController@showEditSchedule']);
             $router->post('{incident}/edit', 'ScheduleController@editScheduleAction');
             $router->delete('{incident}/delete', ['as' => 'delete', 'uses' => 'ScheduleController@deleteScheduleAction']);
         });
         $router->group(['as' => 'templates.', 'prefix' => 'templates'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'IncidentController@showTemplates']);
             $router->get('add', ['as' => 'add', 'uses' => 'IncidentController@showAddIncidentTemplate']);
             $router->post('add', 'IncidentController@createIncidentTemplateAction');
             $router->get('{incident_template}/edit', ['as' => 'edit', 'uses' => 'IncidentController@showEditTemplateAction']);
             $router->post('{incident_template}/edit', 'IncidentController@editTemplateAction');
             $router->delete('{incident_template}/delete', 'IncidentController@deleteTemplateAction');
         });
         $router->group(['as' => 'subscribers.', 'prefix' => 'subscribers'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'SubscriberController@showSubscribers']);
             $router->get('add', ['as' => 'add', 'uses' => 'SubscriberController@showAddSubscriber']);
             $router->post('add', 'SubscriberController@createSubscriberAction');
             $router->delete('{subscriber}/delete', 'SubscriberController@deleteSubscriberAction');
         });
         $router->group(['as' => 'metrics.', 'prefix' => 'metrics'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'MetricController@showMetrics']);
             $router->get('add', ['as' => 'add', 'uses' => 'MetricController@showAddMetric']);
             $router->post('add', 'MetricController@createMetricAction');
             $router->delete('{metric}/delete', 'MetricController@deleteMetricAction');
             $router->get('{metric}/edit', ['as' => 'edit', 'uses' => 'MetricController@showEditMetricAction']);
             $router->post('{metric}/edit', 'MetricController@editMetricAction');
         });
         $router->group(['as' => 'team.', 'prefix' => 'team'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'TeamController@showTeamView']);
             $router->group(['middleware' => 'admin'], function ($router) {
                 $router->get('add', ['as' => 'add', 'uses' => 'TeamController@showAddTeamMemberView']);
                 $router->get('invite', ['as' => 'invite', 'uses' => 'TeamController@showInviteTeamMemberView']);
                 $router->get('{user}', 'TeamController@showTeamMemberView');
                 $router->post('add', 'TeamController@postAddUser');
                 $router->post('invite', 'TeamController@postInviteUser');
                 $router->post('{user}', 'TeamController@postUpdateUser');
                 $router->delete('{user}/delete', 'TeamController@deleteUser');
             });
         });
         $router->group(['as' => 'settings.', 'prefix' => 'settings'], function ($router) {
             $router->get('setup', ['as' => 'setup', 'uses' => 'SettingsController@showSetupView']);
             $router->get('analytics', ['as' => 'analytics', 'uses' => 'SettingsController@showAnalyticsView']);
             $router->get('localization', ['as' => 'localization', 'uses' => 'SettingsController@showLocalizationView']);
             $router->get('security', ['as' => 'security', 'uses' => 'SettingsController@showSecurityView']);
             $router->get('theme', ['as' => 'theme', 'uses' => 'SettingsController@showThemeView']);
             $router->get('stylesheet', ['as' => 'stylesheet', 'uses' => 'SettingsController@showStylesheetView']);
             $router->post('/', 'SettingsController@postSettings');
         });
         $router->group(['prefix' => 'user'], function ($router) {
             $router->get('/', ['as' => 'user', 'uses' => 'UserController@showUser']);
             $router->post('/', 'UserController@postUser');
             $router->get('{user}/api/regen', 'UserController@regenerateApiKey');
         });
         $router->group(['prefix' => 'api'], function ($router) {
             $router->get('incidents/templates', 'ApiController@getIncidentTemplate');
             $router->post('components/groups/order', 'ApiController@postUpdateComponentGroupOrder');
             $router->post('components/order', 'ApiController@postUpdateComponentOrder');
             $router->post('components/{component}', 'ApiController@postUpdateComponent');
             $router->get('system/version', 'ApiController@checkVersion');
         });
     });
 }
示例#29
0
 /**
  * Define the main routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  *
  * @return void
  */
 public function map(Registrar $router)
 {
     $router->post('github-callback', ['as' => 'github_callback', 'uses' => 'GitHubController@handle']);
 }
示例#30
0
 /**
  * Define the dashboard routes.
  *
  * @param \Illuminate\Contracts\Routing\Registrar $router
  */
 public function map(Registrar $router)
 {
     $router->group(['middleware' => 'auth', 'prefix' => 'dashboard', 'namespace' => 'Dashboard', 'as' => 'dashboard.'], function ($router) {
         // Dashboard
         $router->get('/', ['as' => 'index', 'uses' => 'DashboardController@showDashboard']);
         // Components
         $router->group(['as' => 'components.', 'prefix' => 'components'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'ComponentController@showComponents']);
             $router->get('add', ['as' => 'add', 'uses' => 'ComponentController@showAddComponent']);
             $router->post('add', 'ComponentController@createComponentAction');
             $router->get('groups', ['as' => 'groups', 'uses' => 'ComponentController@showComponentGroups']);
             $router->get('groups/add', ['as' => 'groups.add', 'uses' => 'ComponentController@showAddComponentGroup']);
             $router->get('groups/edit/{component_group}', ['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->post('{component}/edit', 'ComponentController@updateComponentAction');
         });
         // Incidents
         $router->group(['as' => 'incidents.', 'prefix' => 'incidents'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'IncidentController@showIncidents']);
             $router->get('add', ['as' => 'add', 'uses' => 'IncidentController@showAddIncident']);
             $router->post('add', 'IncidentController@createIncidentAction');
             $router->delete('{incident}/delete', ['as' => 'delete', 'uses' => 'IncidentController@deleteIncidentAction']);
             $router->get('{incident}/edit', ['as' => 'edit', 'uses' => 'IncidentController@showEditIncidentAction']);
             $router->post('{incident}/edit', 'IncidentController@editIncidentAction');
         });
         // Scheduled Maintenance
         $router->group(['as' => 'schedule.', 'prefix' => 'schedule'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'ScheduleController@showIndex']);
             $router->get('add', ['as' => 'add', 'uses' => 'ScheduleController@showAddSchedule']);
             $router->post('add', 'ScheduleController@addScheduleAction');
             $router->get('{incident}/edit', ['as' => 'edit', 'uses' => 'ScheduleController@showEditSchedule']);
             $router->post('{incident}/edit', 'ScheduleController@editScheduleAction');
             $router->delete('{incident}/delete', ['as' => 'delete', 'uses' => 'ScheduleController@deleteScheduleAction']);
         });
         // Incident Templates
         $router->group(['as' => 'templates.', 'prefix' => 'templates'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'IncidentController@showTemplates']);
             $router->get('add', ['as' => 'add', 'uses' => 'IncidentController@showAddIncidentTemplate']);
             $router->post('add', 'IncidentController@createIncidentTemplateAction');
             $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(['as' => 'subscribers.', 'prefix' => 'subscribers'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'SubscriberController@showSubscribers']);
             $router->get('add', ['as' => 'add', 'uses' => 'SubscriberController@showAddSubscriber']);
             $router->post('add', 'SubscriberController@createSubscriberAction');
             $router->delete('{subscriber}/delete', 'SubscriberController@deleteSubscriberAction');
         });
         // Metrics
         $router->group(['as' => 'metrics.', 'prefix' => 'metrics'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'MetricController@showMetrics']);
             $router->get('add', ['as' => 'add', 'uses' => 'MetricController@showAddMetric']);
             $router->post('add', 'MetricController@createMetricAction');
             $router->delete('{metric}/delete', 'MetricController@deleteMetricAction');
             $router->get('{metric}/edit', ['as' => 'edit', 'uses' => 'MetricController@showEditMetricAction']);
             $router->post('{metric}/edit', 'MetricController@editMetricAction');
         });
         // Team Members
         $router->group(['as' => 'team.', 'prefix' => 'team'], function ($router) {
             $router->get('/', ['as' => 'index', 'uses' => 'TeamController@showTeamView']);
             $router->group(['middleware' => 'admin'], function ($router) {
                 $router->get('add', ['as' => 'add', 'uses' => 'TeamController@showAddTeamMemberView']);
                 $router->get('{user}', 'TeamController@showTeamMemberView');
                 $router->post('add', 'TeamController@postAddUser');
                 $router->post('{user}', 'TeamController@postUpdateUser');
                 $router->delete('{user}/delete', 'TeamController@deleteUser');
             });
         });
         // Settings
         $router->group(['as' => 'settings.', 'prefix' => 'settings'], function ($router) {
             $router->get('setup', ['as' => 'setup', 'uses' => 'SettingsController@showSetupView']);
             $router->get('security', ['as' => 'security', 'uses' => 'SettingsController@showSecurityView']);
             $router->get('theme', ['as' => 'theme', 'uses' => 'SettingsController@showThemeView']);
             $router->get('stylesheet', ['as' => 'stylesheet', 'uses' => 'SettingsController@showStylesheetView']);
             $router->post('/', 'SettingsController@postSettings');
         });
         // User Settings
         $router->group(['prefix' => 'user'], function ($router) {
             $router->get('/', ['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.
          */
         $router->group(['prefix' => 'api'], function ($router) {
             $router->get('incidents/templates', 'ApiController@getIncidentTemplate');
             $router->post('components/groups/order', 'ApiController@postUpdateComponentGroupOrder');
             $router->post('components/order', 'ApiController@postUpdateComponentOrder');
             $router->post('components/{component}', 'ApiController@postUpdateComponent');
         });
     });
 }