- Moved all V2 controllers (Lab, Requests, Samples, Users) to App\Controllers - Removed deprecated role controllers (Admin, Doctor, Analyst, CustomerService) - Simplified routes by removing /v2 prefix - Added AGENTS.md with project conventions and TODO.md with task tracking - Updated README.md with RBAC documentation - Fixed hardcoded dates, status color mappings, and duplicate database calls
49 lines
2.0 KiB
PHP
49 lines
2.0 KiB
PHP
<?php
|
|
|
|
use CodeIgniter\Router\RouteCollection;
|
|
|
|
$routes->set404Override(function() {
|
|
$response = service('response');
|
|
$response->setStatusCode(404);
|
|
echo view('errors/notfound');
|
|
});
|
|
$routes->get('/unauthorized', 'ErrorPage::unauthorized');
|
|
|
|
|
|
$routes->get('/', 'Home::index');
|
|
$routes->get('/login', 'Auth::loginPage', ['filter' => 'guest']);
|
|
$routes->post('/login', 'Auth::login', ['filter' => 'guest']);
|
|
$routes->get('/logout', 'Auth::logout');
|
|
$routes->patch('/setPassword', 'Auth::setPassword');
|
|
|
|
$routes->get('label/coll/(:any)', 'Label::coll/$1');
|
|
$routes->get('label/dispatch/(:any)/(:any)', 'Label::dispatch/$1/$2');
|
|
$routes->get('label/all/(:any)', 'Label::print_all/$1');
|
|
|
|
$routes->group('admin', ['filter' => 'role:1'], function($routes) {
|
|
$routes->get('', 'Admin::index');
|
|
$routes->get('users', 'Admin::users');
|
|
$routes->get('api/users', 'Users::index');
|
|
$routes->post('api/users', 'Users::create');
|
|
$routes->patch('api/users/(:any)', 'Users::update/$1');
|
|
$routes->delete('api/users/(:any)', 'Users::delete/$1');
|
|
$routes->get('api/requests', 'Requests::index');
|
|
$routes->post('api/requests/validate/(:any)', 'Requests::val/$1');
|
|
$routes->delete('api/requests/validate/(:any)', 'Requests::unval/$1');
|
|
$routes->post('api/samples/collect/(:any)', 'Samples::collect/$1');
|
|
$routes->delete('api/samples/collect/(:any)', 'Samples::uncollect/$1');
|
|
$routes->delete('api/samples/receive/(:any)', 'Samples::unreceive/$1');
|
|
$routes->get('api/samples/(:any)', 'Samples::show/$1');
|
|
});
|
|
|
|
$routes->group('lab', ['filter' => 'role:2'], function($routes) {
|
|
$routes->get('', 'Lab::index');
|
|
$routes->get('api/requests', 'Requests::index');
|
|
$routes->post('api/requests/validate/(:any)', 'Requests::val/$1');
|
|
$routes->delete('api/requests/validate/(:any)', 'Requests::unval/$1');
|
|
$routes->post('api/samples/collect/(:any)', 'Samples::collect/$1');
|
|
$routes->get('api/samples/(:any)', 'Samples::show/$1');
|
|
});
|
|
|
|
$routes->get('/dummypage', 'Home::dummyPage');
|