trafficmonitor/app/Config/Routes.php
2025-11-12 14:11:15 +09:00

83 lines
4.5 KiB
PHP

<?php
use CodeIgniter\Router\RouteCollection;
/**
* @var RouteCollection $routes
*/
// $routes->get('/', 'Home::index');
//추가 Custom RULE 만들때 : ex)UUID형식
$routes->addPlaceholder('uuid', '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}');
//authFilter는 추가적인 작업이 필요
//1. app/Filters/AuthFilter.php
//2. Config/Filters.php -> $aliases = ['authFilter' => AuthFilter::class]
$routes->group('cli', ['namespace' => 'App\Controllers\CLI'], function ($routes) {
$routes->cli('collect', 'Collector::execute');
});
$routes->group('', ['namespace' => 'App\Controllers'], function ($routes) {
$routes->get('/', 'Home::index');
$routes->group('auth', ['namespace' => 'App\Controllers\Auth'], function ($routes) {
$routes->get('login', 'LocalController::login_form');
$routes->post('login', 'LocalController::login');
$routes->get('google_login', 'GoogleController::login');
$routes->get('logout', 'LocalController::logout');
});
});
//Admin 관련
$routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'authFilter:manager'], function ($routes) {
$routes->get('/', 'Home::index');
$routes->group('user', ['namespace' => 'App\Controllers\Admin'], function ($routes) {
$routes->get('/', 'UserController::index');
$routes->get('create', 'UserController::create_form');
$routes->post('create', 'UserController::create');
$routes->get('modify/(:num)', 'UserController::modify_form/$1');
$routes->post('modify/(:num)', 'UserController::modify/$1');
$routes->get('view/(:num)', 'UserController::view/$1');
$routes->get('delete/(:num)', 'UserController::delete/$1', ['filter' => 'authFilter:master']);
$routes->get('toggle/(:num)/(:any)', 'UserController::toggle/$1/$2', ['filter' => 'authFilter:master']);
$routes->post('batchjob', 'UserController::batchjob', ['filter' => 'authFilter:master']);
$routes->post('batchjob_delete', 'UserController::batchjob_delete', ['filter' => 'authFilter:master']);
$routes->get('download/(:alpha)', 'UserController::download/$1');
});
$routes->group('traffic', ['namespace' => 'App\Controllers\Admin'], function ($routes) {
$routes->get('/', 'TrafficController::index');
$routes->get('create', 'TrafficController::create_form');
$routes->post('create', 'TrafficController::create');
$routes->get('modify/(:num)', 'TrafficController::modify_form/$1');
$routes->post('modify/(:num)', 'TrafficController::modify/$1');
$routes->get('view/(:num)', 'TrafficController::view/$1');
$routes->get('delete/(:num)', 'TrafficController::delete/$1');
$routes->get('toggle/(:num)/(:any)', 'TrafficController::toggle/$1/$2');
$routes->post('batchjob', 'TrafficController::batchjob');
$routes->post('batchjob_delete', 'TrafficController::batchjob_delete');
$routes->get('download/(:alpha)', 'TrafficController::download/$1');
});
$routes->group('collector', ['namespace' => 'App\Controllers\Admin'], function ($routes) {
$routes->get('/', 'CollectorController::index');
$routes->get('create', 'CollectorController::create_form');
$routes->post('create', 'CollectorController::create');
$routes->get('modify/(:num)', 'CollectorController::modify_form/$1');
$routes->post('modify/(:num)', 'CollectorController::modify/$1');
$routes->get('view/(:num)', 'CollectorController::view/$1');
$routes->get('delete/(:num)', 'CollectorController::delete/$1');
$routes->get('toggle/(:num)/(:any)', 'CollectorController::toggle/$1/$2');
$routes->post('batchjob', 'CollectorController::batchjob');
$routes->post('batchjob_delete', 'CollectorController::batchjob_delete');
$routes->get('download/(:alpha)', 'CollectorController::download/$1');
});
$routes->group('mylog', ['namespace' => 'App\Controllers\Admin'], function ($routes) {
$routes->get('/', 'MylogController::index');
$routes->get('create', 'MylogController::create_form');
$routes->post('create', 'MylogController::create');
$routes->get('modify/(:num)', 'MylogController::modify_form/$1');
$routes->post('modify/(:num)', 'MylogController::modify/$1');
$routes->get('view/(:num)', 'MylogController::view/$1');
$routes->get('delete/(:num)', 'MylogController::delete/$1');
$routes->get('toggle/(:num)/(:any)', 'MylogController::toggle/$1/$2');
$routes->post('batchjob', 'MylogController::batchjob');
$routes->post('batchjob_delete', 'MylogController::batchjob_delete');
$routes->get('download/(:alpha)', 'MylogController::download/$1');
});
});