Veranstaltungen-APP/routes/auth.php

39 lines
1.7 KiB
PHP

<?php
use App\Http\Controllers\AuthController;
use App\Http\Controllers\EventManagementController;
use Illuminate\Support\Facades\Route;
/**
* Public Auth Routes (keine Authentifizierung erforderlich)
*/
Route::prefix('auth')->group(function () {
Route::post('/register', [AuthController::class, 'register'])->name('auth.register');
Route::post('/login', [AuthController::class, 'login'])->name('auth.login');
});
/**
* Protected Routes (Authentifizierung erforderlich)
*/
Route::middleware('auth:sanctum')->group(function () {
// Auth Routes
Route::prefix('auth')->group(function () {
Route::post('/logout', [AuthController::class, 'logout'])->name('auth.logout');
Route::get('/me', [AuthController::class, 'me'])->name('auth.me');
Route::put('/profile', [AuthController::class, 'updateProfile'])->name('auth.updateProfile');
Route::post('/change-password', [AuthController::class, 'changePassword'])->name('auth.changePassword');
});
// Event Management Routes
Route::prefix('events')->group(function () {
Route::get('/my-events', [EventManagementController::class, 'myEvents'])->name('events.myEvents');
Route::post('/', [EventManagementController::class, 'create'])->name('events.create');
Route::put('/{event}', [EventManagementController::class, 'update'])->name('events.update');
Route::delete('/{event}', [EventManagementController::class, 'delete'])->name('events.delete');
// Favoriten
Route::post('/{event}/toggle-favorite', [EventManagementController::class, 'toggleFavorite'])->name('events.toggleFavorite');
Route::get('/favorites', [EventManagementController::class, 'favorites'])->name('events.favorites');
});
});