This repository has been archived by the owner on Dec 5, 2017. It is now read-only.
/
routes.php
135 lines (112 loc) · 4.74 KB
/
routes.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
post('/search', [ 'as' => 'search', 'uses' => 'DisplayController@searchPage' ]);
Route::group(['prefix' => 'auth'], function()
{
get('/login', [ 'as' => 'auth.login', 'uses' => 'LoginController@sendToSteam' ]);
get('/check', [ 'as' => 'auth.check', 'uses' => 'LoginController@handleSteamLogin' ]);
get('/logout', [ 'middleware' => 'auth', 'as' => 'auth.logout', 'uses' => 'LoginController@logout' ]);
});
/**
* API ROUTING STARTS HERE
*/
Route::group(['prefix' => 'api'], function()
{
Route::group(['prefix' => 'v1', 'namespace' => 'APIv1'], function()
{
get('/', [ 'uses' => 'MainController@index']);
get('/me', [ 'uses' => 'MainController@navbar']);
get('/profile/{steamid}', [ 'uses' => 'ProfileController@index' ]);
get('/search/{searchKey}', [ 'uses' => 'SearchController@search' ]);
/**
* ROUTING CONTAINING ALL THE LISTS
*/
Route::group(['prefix' => 'list', 'namespace' => 'Lists'], function()
{
get('/', [ 'uses' => 'MainController@listPortal' ]);
get('/simple', [ 'uses' => 'MainController@myLists' ]);
get('/most', [ 'uses' => 'MostTrackedController@get' ]);
get('/latest', [ 'uses' => 'LatestTrackedController@get' ]);
get('/latest/vac', [ 'uses' => 'LatestVACBannedController@get' ]);
get('/latest/game', [ 'uses' => 'LatestGameBannedController@get' ]);
get('/{userList}', [ 'uses' => 'CustomListController@get' ]);
Route::group(['middleware' => 'auth'], function()
{
Route::any('/add/many', [ 'uses' => 'CustomListController@addManyProfilesToList' ]);
post('/add', [ 'uses' => 'CustomListController@addProfileToList' ]);
post('/{listId?}', [ 'uses' => 'CustomListController@modify' ]);
post('/subscribe/{userList}', [ 'uses' => 'CustomListController@subscribe' ]);
delete('/subscribe/{userList}', [ 'uses' => 'CustomListController@unsubscribe' ]);
delete('/delete', [ 'uses' => 'CustomListController@deleteProfileFromList' ]);
delete('/{userList}', [ 'uses' => 'CustomListController@delete' ]);
});
});
/**
* ROUTING CONTAINING NEWS
*/
Route::group(['prefix' => 'news'], function()
{
get('/', [ 'uses' => 'NewsController@index' ]);
get('/{news}', [ 'uses' => 'NewsController@showArticle' ]);
});
/**
* ROUTING CONTAINING DONATIONS
*/
Route::group(['prefix' => 'donate'], function()
{
get('/', [ 'uses' => 'DonationController@index' ]);
Route::any('/ipn', ['uses' => 'DonationController@IPNAction']);
});
Route::group(['prefix' => 'settings', 'middleware' => 'auth'], function()
{
Route::group(['prefix' => 'subscribe'], function()
{
get('/', [ 'uses' => 'SettingsController@subscribeIndex' ]);
get('/{email}/{code}', [ 'uses' => 'SettingsController@subscriptionVerify' ]);
post('/', [ 'uses' => 'SettingsController@makeSubscription' ]);
delete('/email', [ 'uses' => 'SettingsController@deleteEmail' ]);
delete('/pushbullet', [ 'uses' => 'SettingsController@deletePushBullet' ]);
});
Route::group(['prefix' => 'userkey'], function()
{
get('/', [ 'uses' => 'SettingsController@showUserKey' ]);
post('/', [ 'uses' => 'SettingsController@newUserKey' ]);
});
});
});
});
/**
* ROUTING CONTAINING ANYTHING ADMIN
*/
Route::group([
'prefix' => 'admin', 'middleware' => 'admin', 'namespace' => 'Admin'
], function() {
get('/', [ 'as' => 'admin.home', 'uses' => 'MainController@index' ]);
get('log/{filename}', [ 'as' => 'admin.log', 'uses' => 'MainController@viewLog' ]);
post('/announcement', [ 'as' => 'admin.announcement.save', 'uses' => 'MainController@announcementSave' ]);
Route::group(['prefix' => 'db'], function()
{
get('/', [ 'as' => 'admin.db', 'uses' => 'DatabaseController@index' ]);
get('/users', [ 'as' => 'admin.db.users', 'uses' => 'DatabaseController@user' ]);
get('/profiles', [ 'as' => 'admin.db.profiles', 'uses' => 'DatabaseController@profile' ]);
});
Route::group(['prefix' => 'news'], function()
{
get('/', [ 'as' => 'admin.news', 'uses' => 'NewsController@index' ]);
get('/{news}', [ 'as' => 'admin.news.edit', 'uses' => 'NewsController@editForm' ]);
post('/{newsId?}', [ 'as' => 'admin.news.save', 'uses' => 'NewsController@saveNews' ]);
delete('/{news}', [ 'as' => 'admin.news.delete', 'uses' => 'NewsController@delete' ]);
});
Route::group(['prefix' => 'announcement'], function()
{
get('/', [ 'as' => 'admin.announcement', 'uses' => 'AnnouncementController@index' ]);
});
});
Route::model('userList', 'VacStatus\Models\UserList', function() { return ['error' => '404']; });
Route::model('news', 'VacStatus\Models\News', function() { return ['error' => '404']; });
Route::any('{undefinedRoute}', function ($undefinedRoute) {
return view('app');
})->where('undefinedRoute', '([A-z\d-\/_.]+)?');
Event::listen('illuminate.query', function($query)
{
// var_dump($query);
});