Files
2026-03-21 15:25:05 +02:00

23 lines
1.0 KiB
PHP

<?php
use App\Http\Controllers\Api\ApiIssueController;
use App\Http\Controllers\Api\EventIngestController;
use App\Http\Middleware\AuthenticateApiToken;
use App\Http\Middleware\AuthenticateDsn;
use Illuminate\Support\Facades\Route;
// Event ingestion (uses DSN authentication)
Route::post('/{project}/store/', [EventIngestController::class, 'store'])
->middleware(AuthenticateDsn::class)
->name('api.events.store');
// REST API (uses token authentication)
Route::middleware(AuthenticateApiToken::class)->prefix('v1')->group(function () {
Route::prefix('projects/{project}/issues')->group(function () {
Route::get('/', [ApiIssueController::class, 'index'])->name('api.v1.issues.index');
Route::get('/{issue}', [ApiIssueController::class, 'show'])->name('api.v1.issues.show');
Route::patch('/{issue}', [ApiIssueController::class, 'update'])->name('api.v1.issues.update');
Route::delete('/{issue}', [ApiIssueController::class, 'destroy'])->name('api.v1.issues.destroy');
});
});