Files
KanbanGit/routes/api/projects.php
T
Twyco 8b25421e7c
linter / quality (pull_request) Successful in 1m18s
tests / ci (8.4) (pull_request) Successful in 1m28s
Add application API and OpenAPI docs
2026-04-20 13:22:56 +02:00

39 lines
1.8 KiB
PHP

<?php
use App\Http\Controllers\Api\ProjectBoardController;
use App\Http\Controllers\Api\ProjectController;
use App\Http\Controllers\Api\ProjectTicketController;
use Illuminate\Support\Facades\Route;
Route::prefix('projects')
->name('api.projects.')
->group(function (): void {
Route::get('/', [ProjectController::class, 'index'])->name('index');
Route::post('/', [ProjectController::class, 'store'])->name('store');
Route::prefix('{project}')
->group(function (): void {
Route::get('/', [ProjectController::class, 'show'])->name('show');
Route::delete('/', [ProjectController::class, 'destroy'])->name('destroy');
Route::get('board', [ProjectBoardController::class, 'board'])->name('board');
Route::get('backlog', [ProjectBoardController::class, 'backlog'])->name('backlog');
Route::get('ticket-options', [ProjectTicketController::class, 'options'])->name('ticket-options');
Route::get('tickets', [ProjectTicketController::class, 'index'])->name('tickets.index');
Route::post('tickets', [ProjectTicketController::class, 'store'])->name('tickets.store');
Route::scopeBindings()->group(function (): void {
Route::prefix('tickets')
->name('tickets.')
->group(function (): void {
require __DIR__.'/project/tickets.php';
});
Route::prefix('settings')
->name('settings.')
->group(function (): void {
require __DIR__.'/project/settings.php';
});
});
});
});