2020-05-16 15:18:27 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
$router = new Router();
|
|
|
|
|
|
|
|
$router->setDefault(function(){
|
|
|
|
echo $_GET['url'].': 404';
|
2020-07-28 13:51:40 +00:00
|
|
|
$logManager = new LogManager();
|
|
|
|
$logManager->setLevel(LOGLEVEL);
|
|
|
|
$logManager->write("[ROUTER]" . $_GET['url'] . "not found", LogRecordTypes::WARNING);
|
|
|
|
unset($logManager);
|
2020-05-16 15:18:27 +00:00
|
|
|
});
|
|
|
|
|
2021-04-05 08:43:30 +00:00
|
|
|
|
2020-05-16 15:18:27 +00:00
|
|
|
//Pages
|
2020-07-23 15:29:55 +00:00
|
|
|
$router->any('/', 'Log');
|
2020-07-23 13:16:44 +00:00
|
|
|
$router->any('/log', 'Log');
|
2020-07-23 15:58:46 +00:00
|
|
|
$router->any('/server', 'Server');
|
2020-05-16 15:18:27 +00:00
|
|
|
$router->any('/login', 'Login');
|
|
|
|
$router->any('/logout', 'Logout');
|
|
|
|
$router->any('/automation', 'Automation');
|
|
|
|
$router->any('/setting', 'Setting');
|
2020-08-31 19:23:23 +00:00
|
|
|
$router->any('/device', 'Device');
|
2021-01-05 11:19:30 +00:00
|
|
|
$router->any('/device/{sortBy}/{sortType}', 'Device');
|
2020-10-25 23:01:30 +00:00
|
|
|
$router->any('/plugins', 'Plugins');
|
2020-05-16 15:18:27 +00:00
|
|
|
$router->any('/ajax', 'Ajax');
|
2020-05-16 23:27:06 +00:00
|
|
|
$router->any('/oauth', 'Oauth');
|
2020-05-16 15:18:27 +00:00
|
|
|
|
2021-02-23 11:41:34 +00:00
|
|
|
//Vue APP - Authentication
|
2020-05-16 15:18:27 +00:00
|
|
|
$router->post('/api/login', 'AuthApi@login');
|
|
|
|
$router->post('/api/logout', 'AuthApi@logout');
|
2021-02-23 11:41:34 +00:00
|
|
|
|
|
|
|
//Vue APP - Rooms
|
2020-05-16 15:18:27 +00:00
|
|
|
$router->get('/api/rooms', 'RoomsApi@default');
|
2020-05-24 17:40:49 +00:00
|
|
|
$router->get('/api/rooms/{roomId}/update', 'RoomsApi@update');
|
2020-10-31 20:37:29 +00:00
|
|
|
|
2020-05-24 17:35:19 +00:00
|
|
|
$router->get('/api/devices', 'DevicesApi@default');
|
2021-02-23 11:41:34 +00:00
|
|
|
|
2020-10-25 23:01:30 +00:00
|
|
|
$router->get('/api/plugins', 'PluginsApi@default');
|
2021-02-23 11:41:34 +00:00
|
|
|
|
2020-06-23 18:28:11 +00:00
|
|
|
$router->get('/api/users', 'UsersApi@default');
|
2021-02-23 11:41:34 +00:00
|
|
|
|
|
|
|
//Vue APP - Server Info
|
2020-07-27 18:00:41 +00:00
|
|
|
$router->get('/api/server', 'ServerApi@default');
|
2020-07-30 14:31:25 +00:00
|
|
|
$router->get('/api/server/log', 'ServerApi@logStatus');
|
2020-10-31 20:37:29 +00:00
|
|
|
|
2021-02-23 11:41:34 +00:00
|
|
|
//Vue APP - Widgets
|
2020-05-24 17:42:03 +00:00
|
|
|
$router->post('/api/widgets/{widgetId}/run', 'WidgetApi@run');
|
2020-08-25 13:12:25 +00:00
|
|
|
$router->get('/api/widgets/{widgetId}/detail', 'WidgetApi@detail');
|
2020-10-31 20:37:29 +00:00
|
|
|
$router->get('/api/widgets/{widgetId}/detail/{period}', 'WidgetApi@detail');
|
2021-04-05 08:43:30 +00:00
|
|
|
$router->post('/api/widgets/{widgetId}/edit', 'WidgetApi@edit');
|
2020-10-31 20:37:29 +00:00
|
|
|
|
2021-02-23 11:41:34 +00:00
|
|
|
//Vue APP - Automations Endpoints
|
2021-02-16 13:28:31 +00:00
|
|
|
$router->get('/api/automations', 'AutomationsApi@default');
|
2021-02-16 13:59:27 +00:00
|
|
|
$router->get('/api/automations/{automationId}/detail', 'AutomationsApi@detail');
|
2021-02-23 11:41:34 +00:00
|
|
|
$router->post('/api/automations/create', 'AutomationsApi@create');
|
|
|
|
|
2021-02-16 13:28:31 +00:00
|
|
|
|
2020-05-26 19:47:36 +00:00
|
|
|
|
2020-07-21 08:29:26 +00:00
|
|
|
//cron
|
|
|
|
$router->post('/cron/clean', 'CronApi@clean');
|
2020-08-31 19:23:23 +00:00
|
|
|
$router->post('/cron/fetch', 'CronApi@fetch');
|
2021-02-16 13:59:27 +00:00
|
|
|
$router->post('/cron/automations', 'CronApi@automations');
|
|
|
|
|
2020-05-26 19:42:39 +00:00
|
|
|
|
2020-06-28 14:45:05 +00:00
|
|
|
//Google Home - API
|
2021-04-05 08:43:30 +00:00
|
|
|
$router->any('/api/HA/auth', 'Oauth@default');
|
|
|
|
$router->any('/api/HA/token', 'Oauth@token');
|
2020-05-16 15:18:27 +00:00
|
|
|
$router->any('/api/HA', 'GoogleHomeApi@response');
|
|
|
|
|
2021-02-16 13:59:27 +00:00
|
|
|
|
2020-06-28 14:45:05 +00:00
|
|
|
//Endpoints API
|
2020-07-14 16:24:21 +00:00
|
|
|
$router->post('/api/endpoint/', 'EndpointsApi@default');
|
2020-07-15 10:54:45 +00:00
|
|
|
$router->any('/api/update/', 'UpdatesApi@default');
|
2020-07-14 17:59:18 +00:00
|
|
|
$router->any('/api/users/status', 'UsersApi@status');
|
2021-01-04 16:08:56 +00:00
|
|
|
$router->any('/api/users/subscribe', 'UsersApi@subscribe');
|
2020-06-28 14:45:05 +00:00
|
|
|
|
2021-04-05 08:43:30 +00:00
|
|
|
//Endpoints API - V2
|
|
|
|
$router->post('/api/v2/endpoint/', 'EndpointsApi@default_v2');
|
|
|
|
$router->post('/api/v2/endpoint/cofiguration', 'EndpointsApi@cofiguration_v2');
|
2021-02-16 13:59:27 +00:00
|
|
|
|
2020-05-16 15:18:27 +00:00
|
|
|
// examples
|
|
|
|
$router->any('/api/example', 'ExampleApi@example');
|
|
|
|
$router->any('/example', 'ExampleController@index');
|
|
|
|
$router->any('/example/subpage', 'ExampleController@subpage');
|
|
|
|
|
2020-10-03 19:44:09 +00:00
|
|
|
//module routes
|
|
|
|
//$router->any('/plugins/spotify/callback', 'Spotify@callback');
|
|
|
|
|
2020-05-16 15:18:27 +00:00
|
|
|
$router->run($_SERVER['REQUEST_METHOD'], '/'.(isset($_GET['url']) ? $_GET['url'] : ''));
|