64 lines
3.5 KiB
PHP
64 lines
3.5 KiB
PHP
<?php
|
||
|
||
use CodeIgniter\Router\RouteCollection;
|
||
|
||
/**
|
||
* @var RouteCollection $routes
|
||
*/
|
||
# Публичные маршруты (без фильтра org)
|
||
$routes->get('/', 'Home::index');
|
||
$routes->get('login', 'Auth::login');
|
||
$routes->post('login', 'Auth::login');
|
||
$routes->get('register', 'Auth::register');
|
||
$routes->post('register', 'Auth::register');
|
||
$routes->get('register/success', 'Auth::registerSuccess');
|
||
$routes->get('logout', 'Auth::logout');
|
||
$routes->get('auth/verify/(:any)', 'Auth::verify/$1');
|
||
$routes->get('auth/resend-verification', 'Auth::resendVerification');
|
||
$routes->post('auth/resend-verification', 'Auth::resendVerification');
|
||
|
||
# Маршруты для приглашений (публичные, без фильтра org)
|
||
$routes->group('invitation', static function ($routes) {
|
||
$routes->get('accept/(:any)', 'InvitationController::accept/$1');
|
||
$routes->post('accept/(:any)', 'InvitationController::processAccept');
|
||
$routes->post('decline/(:any)', 'InvitationController::decline/$1');
|
||
$routes->match(['GET', 'POST'], 'complete/(:any)', 'InvitationController::complete/$1');
|
||
});
|
||
|
||
# Защищённые маршруты (с фильтром org)
|
||
$routes->group('', ['filter' => 'org'], static function ($routes) {
|
||
$routes->get('organizations', 'Organizations::index');
|
||
$routes->get('organizations/(:num)/dashboard', 'Organizations::dashboard/$1');
|
||
$routes->get('organizations/create', 'Organizations::create');
|
||
$routes->post('organizations/create', 'Organizations::create');
|
||
$routes->get('organizations/edit/(:num)', 'Organizations::edit/$1');
|
||
$routes->post('organizations/edit/(:num)', 'Organizations::edit/$1');
|
||
$routes->get('organizations/delete/(:num)', 'Organizations::delete/$1');
|
||
$routes->post('organizations/delete/(:num)', 'Organizations::delete/$1');
|
||
$routes->get('organizations/switch/(:num)', 'Organizations::switch/$1');
|
||
|
||
# Управление пользователями организации
|
||
$routes->get('organizations/(:num)/users', 'Organizations::users/$1');
|
||
$routes->get('organizations/(:num)/users/table', 'Organizations::usersTable/$1');
|
||
$routes->post('organizations/(:num)/users/invite', 'Organizations::inviteUser/$1');
|
||
$routes->post('organizations/(:num)/users/role', 'Organizations::updateUserRole/$1');
|
||
$routes->post('organizations/(:num)/users/(:num)/block', 'Organizations::blockUser/$1/$2');
|
||
$routes->post('organizations/(:num)/users/(:num)/unblock', 'Organizations::unblockUser/$1/$2');
|
||
$routes->post('organizations/(:num)/users/(:num)/remove', 'Organizations::removeUser/$1/$2');
|
||
$routes->post('organizations/(:num)/leave', 'Organizations::leaveOrganization/$1');
|
||
$routes->post('organizations/(:num)/users/leave', 'Organizations::leaveOrganization/$1');
|
||
$routes->post('organizations/(:num)/users/(:num)/resend', 'Organizations::resendInvite/$1/$2');
|
||
$routes->post('organizations/(:num)/users/(:num)/cancel', 'Organizations::cancelInvite/$1/$2');
|
||
});
|
||
|
||
# Маршруты профиля
|
||
$routes->get('profile', 'Profile::index');
|
||
$routes->get('profile/organizations', 'Profile::organizations');
|
||
$routes->get('profile/security', 'Profile::security');
|
||
$routes->post('profile/update-name', 'Profile::updateName');
|
||
$routes->post('profile/upload-avatar', 'Profile::uploadAvatar');
|
||
$routes->post('profile/change-password', 'Profile::changePassword');
|
||
$routes->post('profile/leave-org/(:num)', 'Profile::leaveOrganization/$1');
|
||
|
||
# Подключение роутов модулей
|
||
require_once APPPATH . 'Modules/Clients/Config/Routes.php'; |