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->group('cloudflare', function ($routes) { $routes->cli('reload', 'Cloudflare::reload'); $routes->cli('reload/(:num)', 'Cloudflare::reload/$1'); $routes->cli('auditlog', 'Cloudflare::auditlog'); $routes->cli('auditlog/(:num)', 'Cloudflare::auditlog/$1'); }); }); $routes->get('/', 'Home::index'); $routes->group('/RSSFeed', function ($routes) { $routes->get('getITWorld', 'RSSFeedController::getITWorld'); }); $routes->group('/user', function ($routes) { $routes->get('login', 'UserController::login_form'); $routes->post('login', 'UserController::login'); $routes->get('google_login', 'UserController::google_login'); $routes->get('logout', 'UserController::logout'); }); $routes->group('admin', ['namespace' => 'App\Controllers\Admin', 'filter' => 'authFilter:manager'], function ($routes) { $routes->get('/', 'Home::index'); }); $routes->group('admin/mapurl', ['namespace' => 'App\Controllers\Admin', 'filter' => 'authFilter:manager'], function ($routes) { $routes->get('/', 'MapurlController::index'); $routes->get('create', 'MapurlController::create_form'); $routes->post('create', 'MapurlController::create'); $routes->get('modify/(:num)', 'MapurlController::modify_form/$1'); $routes->post('modify/(:num)', 'MapurlController::modify/$1'); $routes->get('view/(:num)', 'MapurlController::view/$1'); $routes->get('delete/(:num)', 'MapurlController::delete/$1'); $routes->get('toggle/(:num)/(:any)', 'MapurlController::toggle/$1/$2'); $routes->post('batchjob', 'MapurlController::batchjob'); $routes->post('batchjob_delete', 'MapurlController::batchjob_delete'); $routes->get('download/(:alpha)', 'MapurlController::download/$1'); }); $routes->group('admin/user', ['namespace' => 'App\Controllers\Admin', 'filter' => 'authFilter:master'], 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'); $routes->get('toggle/(:num)/(:any)', 'UserController::toggle/$1/$2'); $routes->post('batchjob', 'UserController::batchjob'); $routes->post('batchjob_delete', 'UserController::batchjob_delete'); $routes->get('download/(:alpha)', 'UserController::download/$1'); }); $routes->group('admin/usersns', ['namespace' => 'App\Controllers\Admin', 'filter' => 'authFilter:master'], function ($routes) { $routes->get('/', 'UserSNSController::index'); $routes->get('delete/(:num)', 'UserSNSController::delete/$1'); $routes->get('toggle/(:num)/(:any)', 'UserSNSController::toggle/$1/$2'); $routes->post('batchjob', 'UserSNSController::batchjob'); $routes->post('batchjob_delete', 'UserSNSController::batchjob_delete'); $routes->get('download/(:alpha)', 'UserSNSController::download/$1'); }); $routes->group('admin/cloudflare', ['namespace' => 'App\Controllers\Admin\Cloudflare', 'filter' => 'authFilter:cloudflare'], function ($routes) { $routes->group('auth', function ($routes) { $routes->get('/', 'AuthController::index'); $routes->get('create', 'AuthController::create_form'); $routes->post('create', 'AuthController::create'); $routes->get('modify/(:num)', 'AuthController::modify_form/$1'); $routes->post('modify/(:num)', 'AuthController::modify/$1'); $routes->get('view/(:num)', 'AuthController::view/$1'); $routes->get('delete/(:num)', 'AuthController::delete/$1'); $routes->get('toggle/(:num)/(:any)', 'AuthController::toggle/$1/$2'); $routes->post('batchjob', 'AuthController::batchjob'); $routes->post('batchjob_delete', 'AuthController::batchjob_delete'); $routes->get('download/(:alpha)', 'AccountController::download/$1'); }); $routes->group('account', function ($routes) { $routes->get('/', 'AccountController::index'); $routes->get('view/(:alphanum)', 'AccountController::view/$1'); $routes->get('reload/(:num)', 'AccountController::reload/$1'); $routes->get('download/(:alphanum)', 'AccountController::download/$1'); }); $routes->group('auditlog', function ($routes) { $routes->get('/', 'AuditLogController::index'); $routes->get('view/(:alphanum)', 'AuditLogController::view/$1'); $routes->get('reload/(:alphanum)', 'AuditLogController::reload/$1'); $routes->get('download/(:alphanum)', 'AuditLogController::download/$1'); }); $routes->group('zone', function ($routes) { $routes->get('/', 'ZoneController::index'); $routes->get('create', 'ZoneController::create_form'); $routes->post('create', 'ZoneController::create'); $routes->get('view/(:alphanum)', 'ZoneController::view/$1'); $routes->get('delete/(:alphanum)', 'ZoneController::delete/$1'); $routes->get('sync/(:alphanum)', 'ZoneController::sync/$1'); $routes->get('toggle/(:alphanum)/(:any)', 'ZoneController::toggle/$1/$2'); $routes->post('batchjob', 'ZoneController::batchjob'); $routes->post('batchjob_delete', 'ZoneController::batchjob_delete'); $routes->get('reload/(:alphanum)', 'ZoneController::reload/$1'); $routes->get('download/(:alpha)', 'ZoneController::download/$1'); }); $routes->group('record', function ($routes) { $routes->get('/', 'RecordController::index'); $routes->get('create', 'RecordController::create_form'); $routes->post('create', 'RecordController::create'); $routes->get('view/(:alphanum)', 'RecordController::view/$1'); $routes->get('delete/(:alphanum)', 'RecordController::delete/$1'); $routes->get('sync/(:alphanum)', 'RecordController::sync/$1'); $routes->get('toggle/(:alphanum)/(:any)', 'RecordController::toggle/$1/$2'); $routes->post('batchjob', 'RecordController::batchjob'); $routes->post('batchjob_delete', 'RecordController::batchjob_delete'); $routes->get('reload/(:alphanum)', 'RecordController::reload/$1'); $routes->get('download/(:alpha)', 'RecordController::download/$1'); }); $routes->group('firewall', function ($routes) { $routes->get('/', 'FirewallController::index'); $routes->get('view/(:alphanum)', 'FirewallController::view/$1'); $routes->get('toggle/(:alphanum)/(:any)', 'FirewallController::toggle/$1/$2'); $routes->get('reload/(:alphanum)', 'FirewallController::reload/$1'); $routes->get('download/(:alpha)', 'FirewallController::download/$1'); }); });