39 lines
1.8 KiB
PHP
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';
|
|
});
|
|
});
|
|
});
|
|
});
|