gdc_cmod/app/Config/Routes.php

106 lines
4.4 KiB
PHP

<?php
use CodeIgniter\Router\RouteCollection;
// ------------------------------------------------------For Error Handling------------------------------------------------------ //
$routes->set404Override(function() {
$response = service('response');
$response->setStatusCode(404);
echo view('errors/notfound');
});
$routes->get('/unauthorized', 'ErrorPage::unauthorized');
// ------------------------------------------------------Basic Page and Login/Logout------------------------------------------------------ //
$routes->get('/', 'Home::index');
$routes->match(['get','post'],'/login', 'Auth::login', ['filter' => 'guest']);
$routes->get('/logout', 'Auth::logout');
$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');
// ------------------------------------------------------Page Based on Role------------------------------------------------------ //
$routes->group('admin', ['filter' => 'role:1'], function($routes) {
$routes->get('/', 'Admin::index');
$routes->get('modal_specimen', 'Admin::modal_specimen');
$routes->get('user', 'User::index');
$routes->post('user/create', 'User::create');
$routes->post('user/update', 'User::update');
$routes->post('user/delete', 'User::delete');
});
$routes->group('doctor', ['filter' => 'role:2'], function($routes) {
$routes->get('/', 'Doctor::index');
$routes->get('modal_specimen', 'Doctor::modal_specimen');
});
$routes->group('analyst', ['filter' => 'role:3'], function($routes) {
$routes->get('/', 'Analyst::index');
$routes->get('modal_specimen', 'Analyst::modal_specimen');
});
$routes->group('cs', ['filter' => 'role:4'], function($routes) {
$routes->get('/', 'CustomerService::index');
});
// dummy long page
$routes->get('/dummypage', 'Home::dummyPage');
// ------------------------------------------------------For API------------------------------------------------------ //
// $routes->get('/api/dashboard', 'ApiDashboard::index');
$routes->get('api/request/unvalidate/(:any)', 'Request::showUnval/$1');
$routes->get('api/request/validate/(:any)', 'Request::show/$1');
$routes->post('api/request/validate/(:any)', 'Request::val/$1');
$routes->delete('api/request/validate/(:any)', 'Request::unval/$1');
$routes->get('api/request', 'Request::index');
$routes->get('api/sample/(:any)', 'Sample::show/$1');
$routes->post('api/sample/collect/(:any)', 'Sample::collect/$1');
$routes->delete('api/sample/collect/(:any)', 'Sample::uncollect/$1');
$routes->delete('api/sample/receive/(:any)', 'Sample::unreceive/$1');
$routes->get('api/specimen/(:any)', 'Specimen::show/$1');
$routes->post('api/specimen/collect/(:any)', 'Specimen::collect/$1');
$routes->delete('api/specimen/receive/(:any)', 'Specimen::unreceive/$1');
/*- lets go alpine -*/
$routes->group('v2', function($routes) {
$routes->get('', 'V2::index');
$routes->get('login', 'V2::loginPage');
$routes->post('login', 'V2::login');
$routes->get('logout', 'V2::logout');
$routes->patch('setPassword', 'V2::setPassword');
// Admin
$routes->group('admin', ['filter' => 'role:1'], function($routes) {
$routes->get('', 'V2\Admin::index');
$routes->get('users', 'V2\Admin::users');
// Users
$routes->get('api/users', 'V2\Users::index');
$routes->post('api/users', 'V2\Users::create');
$routes->patch('api/users/(:any)', 'V2\Users::update/$1');
$routes->delete('api/users/(:any)', 'V2\Users::delete/$1');
// Request
$routes->get('api/requests', 'V2\Requests::index');
$routes->post('api/requests/validate/(:any)', 'V2\Requests::val/$1');
$routes->delete('api/requests/validate/(:any)', 'V2\Requests::unval/$1');
// Samples
$routes->post('api/samples/collect/(:any)', 'V2\Samples::collect/$1');
$routes->delete('api/samples/collect/(:any)', 'V2\Samples::uncollect/$1');
$routes->delete('api/samples/receive/(:any)', 'V2\Samples::unreceive/$1');
$routes->get('api/samples/(:any)', 'V2\Samples::show/$1');
});
// Lab
$routes->group('lab', ['filter' => 'role:2'], function($routes) {
$routes->get('', 'V2\Lab::index');
// Request
$routes->get('api/requests', 'V2\Requests::index');
$routes->post('api/requests/validate/(:any)', 'V2\Requests::val/$1');
$routes->delete('api/requests/validate/(:any)', 'V2\Requests::unval/$1');
// Samples
$routes->post('api/samples/collect/(:any)', 'V2\Samples::collect/$1');
$routes->get('api/samples/(:any)', 'V2\Samples::show/$1');
});
});