Files
bp/app/Modules/Tasks/Config/Routes.php
T
mirv cee6c636ad Tasks Module Stage 2: Subtasks
- Create task_subtasks table migration
- Create TaskSubtaskModel with CRUD operations
- Add subtask API methods: addSubtask, toggleSubtask, deleteSubtask
- Update TaskService to include subtasks in getTask()
- Add Routes for subtasks API
- Update show.twig with subtasks UI and JavaScript
2026-02-08 14:55:45 +00:00

41 lines
1.6 KiB
PHP

<?php
// Tasks Module Routes
$routes->group('tasks', ['filter' => ['org', 'subscription:tasks'], 'namespace' => 'App\Modules\Tasks\Controllers'], static function ($routes) {
// Список задач (таблица)
$routes->get('/', 'TasksController::index');
$routes->get('table', 'TasksController::table');
// Канбан
$routes->get('kanban', 'TasksController::kanban');
// Календарь
$routes->get('calendar', 'TasksController::calendar');
// CRUD задач
$routes->get('new', 'TasksController::create');
$routes->get('create', 'TasksController::create');
$routes->post('/', 'TasksController::store');
$routes->get('(:num)', 'TasksController::show/$1');
$routes->get('(:num)/edit', 'TasksController::edit/$1');
$routes->post('(:num)', 'TasksController::update/$1');
$routes->get('(:num)/delete', 'TasksController::destroy/$1');
// API endpoints
$routes->post('move-column', 'TasksController::moveColumn');
$routes->post('(:num)/complete', 'TasksController::complete/$1');
$routes->post('(:num)/reopen', 'TasksController::reopen/$1');
// Subtasks API
$routes->post('(:num)/subtasks', 'TasksController::addSubtask/$1');
$routes->post('(:num)/subtasks/(:num)/toggle', 'TasksController::toggleSubtask/$1/$2');
$routes->post('(:num)/subtasks/(:num)/delete', 'TasksController::deleteSubtask/$1/$2');
});
// API Routes для Tasks
$routes->group('api/tasks', ['filter' => ['org', 'subscription:tasks'], 'namespace' => 'App\Modules\Tasks\Controllers'], static function ($routes) {
$routes->get('columns', 'TaskApiController::getColumns');
});