summaryrefslogtreecommitdiff
path: root/routes/web.php
blob: 0dfc846fe06eef890711d13e5bacd1a826dc64ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

use App\Http\Controllers\FileController;
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('home');
});

// File Upload Routes
Route::prefix('f')->name('files.')->group(function () {
    // Upload page
    Route::get('/upload', [FileController::class, 'showUploadForm'])
        ->name('upload.form');

    // Standard upload (non-JS fallback)
    Route::post('/upload', [FileController::class, 'upload'])
        ->middleware('throttle:fileupload')
        ->name('upload');

    // Chunked upload endpoints
    Route::post('/upload/chunk', [FileController::class, 'uploadChunk'])
        ->middleware('throttle:fileupload')
        ->name('upload.chunk');

    Route::post('/upload/chunk/complete', [FileController::class, 'completeChunkedUpload'])
        ->middleware('throttle:fileupload')
        ->name('upload.chunk.complete');

    // Browse all files
    Route::get('/browse', [FileController::class, 'browse'])
        ->name('browse');

    // Gallery view for images and videos
    Route::get('/gallery', [FileController::class, 'gallery'])
        ->name('gallery');

    // Download file
    Route::get('/download/{file}', [FileController::class, 'download'])
        ->name('download');
});