bp/app/Modules/Tasks/Config/Routes.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');
});