get('/', [HomeController::class, 'index']); // Boards $router->get('/boards', [BoardsController::class, 'index']); $router->get('/boards/create', [BoardsController::class, 'create']); $router->post('/boards', [BoardsController::class, 'store']); $router->get('/board/{slug}', [BoardsController::class, 'show']); $router->get('/board/{slug}/edit', [BoardsController::class, 'edit']); $router->post('/board/{slug}/update', [BoardsController::class, 'update']); $router->post('/board/{slug}/delete', [BoardsController::class, 'destroy']); // Cards (JSON API) $router->post('/cards', [CardsController::class, 'store']); $router->post('/cards/{id}/move', [CardsController::class, 'move']); $router->post('/cards/{id}/delete', [CardsController::class, 'destroy']); $router->post('/cards/{id}', [CardsController::class, 'update']); // Columns (JSON API) — /columns/reorder MUST be before /columns/{id} $router->post('/columns/reorder', [ColumnsController::class, 'reorder']); $router->post('/columns/{id}/delete', [ColumnsController::class, 'destroy']); $router->post('/columns/{id}', [ColumnsController::class, 'update']); $router->post('/columns', [ColumnsController::class, 'store']); // Swim lanes (JSON API) — /swimlanes/reorder MUST be before /swimlanes/{id} $router->post('/swimlanes/reorder', [SwimLanesController::class, 'reorder']); $router->post('/swimlanes/{id}/delete', [SwimLanesController::class, 'destroy']); $router->post('/swimlanes/{id}', [SwimLanesController::class, 'update']); $router->post('/swimlanes', [SwimLanesController::class, 'store']); // Admin — /admin/cron/settings and /admin/cron/run must be before any param routes $router->get('/admin/cron', [AdminController::class, 'index']); $router->post('/admin/cron/settings', [AdminController::class, 'saveSettings']); $router->post('/admin/cron/run', [AdminController::class, 'runNow']); $router->post('/admin/cron/board/{id}/toggle', [AdminController::class, 'toggleBoard']); // Auth (Keycloak SSO) $router->get('/auth/login', [AuthController::class, 'login']); $router->get('/auth/callback', [AuthController::class, 'callback']); $router->get('/auth/logout', [AuthController::class, 'logout']);