presseportale/routes/api.php
Kevin Adametz 5b8bdf4182
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
12-05-2026 Frontend dev
2026-05-12 18:32:33 +02:00

27 lines
1.5 KiB
PHP

<?php
use App\Http\Controllers\Api\V1\CategoryController;
use App\Http\Controllers\Api\V1\CompanyController;
use App\Http\Controllers\Api\V1\NewsletterSubscriptionController;
use App\Http\Controllers\Api\V1\PressReleaseController;
use App\Http\Controllers\Api\V1\PressReleaseImageController;
use App\Http\Middleware\EnsureApiTokenRateLimit;
use App\Http\Middleware\EnsureApiUserIsActive;
use Illuminate\Support\Facades\Route;
Route::prefix('v1')
->middleware(['auth:sanctum', EnsureApiUserIsActive::class, EnsureApiTokenRateLimit::class])
->group(function (): void {
Route::apiResource('press-releases', PressReleaseController::class)
->parameters(['press-releases' => 'pressRelease']);
Route::get('press-releases/{pressRelease}/images', [PressReleaseImageController::class, 'index'])
->name('press-releases.images.index');
Route::post('press-releases/{pressRelease}/images', [PressReleaseImageController::class, 'store'])
->name('press-releases.images.store');
Route::delete('press-release-images/{pressReleaseImage}', [PressReleaseImageController::class, 'destroy'])
->name('press-release-images.destroy');
Route::apiResource('companies', CompanyController::class)->only(['index', 'show']);
Route::get('categories', [CategoryController::class, 'index'])->name('categories.index');
Route::post('newsletter/subscribe', [NewsletterSubscriptionController::class, 'store'])
->name('newsletter.subscribe');
});