46 lines
1.9 KiB
PHP
46 lines
1.9 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');
|
|
|
|
// Attachments API
|
|
$routes->post('(:num)/attachments/upload', 'TasksController::uploadAttachment/$1');
|
|
$routes->post('(:num)/attachments/(:num)/delete', 'TasksController::deleteAttachment/$1/$2');
|
|
$routes->get('(:num)/attachments/(:num)/download', 'TasksController::downloadAttachment/$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');
|
|
});
|