Initial commit

This commit is contained in:
2026-02-03 10:38:46 +01:00
commit eb304f4b14
144 changed files with 22605 additions and 0 deletions

39
api/routes/api.php Normal file
View File

@@ -0,0 +1,39 @@
<?php
use App\Http\Controllers\Admin\GoogleDriveController as AdminGoogleDriveController;
use App\Http\Controllers\AuthController;
use Illuminate\Support\Facades\Route;
Route::prefix('auth')->middleware('web')->group(function () {
Route::post('login', [AuthController::class, 'login']);
Route::post('logout', [AuthController::class, 'logout'])->middleware('auth:sanctum');
Route::get('user', [AuthController::class, 'user'])->middleware('auth:sanctum');
});
// Google Drive callback needs web middleware for session but not auth:sanctum (handles auth internally)
Route::get('admin/google-drive/callback', [AdminGoogleDriveController::class, 'callback'])->middleware('web');
Route::prefix('admin')->middleware('auth:sanctum')->group(function () {
Route::get('google-drive/auth-url', [AdminGoogleDriveController::class, 'authUrl']);
Route::get('google-drive/status', [AdminGoogleDriveController::class, 'status']);
Route::delete('google-drive/disconnect', [AdminGoogleDriveController::class, 'disconnect']);
Route::get('google-drive/shared-drives', [AdminGoogleDriveController::class, 'sharedDrives']);
Route::get('google-drive/folders', [AdminGoogleDriveController::class, 'folders']);
Route::post('google-drive/folders', [AdminGoogleDriveController::class, 'createFolder']);
Route::apiResource('events', \App\Http\Controllers\Admin\EventsController::class);
Route::get('events/{event}/uploads', [\App\Http\Controllers\Admin\EventsController::class, 'uploads']);
Route::get('uploads/{upload}', [\App\Http\Controllers\Admin\UploadsController::class, 'show']);
Route::delete('uploads/{upload}', [\App\Http\Controllers\Admin\UploadsController::class, 'destroy']);
Route::get('uploads/{upload}/download-url', [\App\Http\Controllers\Admin\UploadsController::class, 'downloadUrl']);
});
Route::prefix('events')->group(function () {
Route::get('{slug}', [\App\Http\Controllers\Public\EventUploadController::class, 'show']);
Route::post('{slug}/verify-password', [\App\Http\Controllers\Public\EventUploadController::class, 'verifyPassword'])
->middleware('throttle.password');
Route::post('{slug}/upload', [\App\Http\Controllers\Public\EventUploadController::class, 'upload'])
->middleware('throttle:30,60');
Route::get('{slug}/upload/{uploadId}/status', [\App\Http\Controllers\Public\EventUploadController::class, 'uploadStatus']);
});