12-05-2026 Frontend dev
This commit is contained in:
parent
405df0a122
commit
5b8bdf4182
779 changed files with 480564 additions and 6241 deletions
|
|
@ -1,58 +1,27 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
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;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register API routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider and all of them will
|
||||
| be assigned to the "api" middleware group. Make something great!
|
||||
|
|
||||
*/
|
||||
|
||||
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
|
||||
return $request->user();
|
||||
});
|
||||
|
||||
// Geschützte API-Routen
|
||||
Route::middleware('auth:sanctum')->group(function () {
|
||||
// Beispiel-API-Route
|
||||
Route::get('/profile', function (Request $request) {
|
||||
return response()->json([
|
||||
'user' => $request->user(),
|
||||
'message' => 'Profil erfolgreich abgerufen'
|
||||
]);
|
||||
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');
|
||||
});
|
||||
|
||||
// Token-Erstellung (bereits durch Sanctum bereitgestellt)
|
||||
// POST /api/tokens/create
|
||||
// POST /api/tokens/revoke
|
||||
});
|
||||
|
||||
// Öffentliche API-Routen
|
||||
Route::post('/login', function (Request $request) {
|
||||
$credentials = $request->validate([
|
||||
'email' => 'required|email',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
if (Auth::attempt($credentials)) {
|
||||
$user = Auth::user();
|
||||
$token = $user->createToken('api-token')->plainTextToken;
|
||||
|
||||
return response()->json([
|
||||
'token' => $token,
|
||||
'user' => $user,
|
||||
'message' => 'Erfolgreich angemeldet'
|
||||
]);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Ungültige Anmeldedaten'
|
||||
], 401);
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue