mirror of
https://github.com/axeloz/filesharing.git
synced 2025-05-06 10:03:55 +02:00
61 lines
1.9 KiB
PHP
61 lines
1.9 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
use App\Http\Controllers\WebController;
|
|
use App\Http\Controllers\UploadController;
|
|
use App\Http\Controllers\BundleController;
|
|
use App\Http\Middleware\UploadAccess;
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Web Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here is where you can register web routes for your application. These
|
|
| routes are loaded by the RouteServiceProvider and all of them will
|
|
| be assigned to the "web" middleware group. Make something great!
|
|
|
|
|
*/
|
|
|
|
|
|
/**
|
|
Public route for login
|
|
*/
|
|
Route::controller(WebController::class)->group(function() {
|
|
Route::get('/login', 'login');
|
|
Route::post('/login', 'doLogin');
|
|
Route::get('/logout', 'logout')->name('logout');
|
|
});
|
|
|
|
/**
|
|
Upload routes
|
|
*/
|
|
Route::middleware(['can.upload'])->group(function() {
|
|
Route::get('/', [WebController::class, 'homepage'])->name('homepage');
|
|
Route::get('/new', [WebController::class, 'newBundle'])->name('bundle.new');
|
|
|
|
Route::prefix('/upload/{bundle}')->controller(UploadController::class)->name('upload.')->group(function() {
|
|
Route::get('/', 'createBundle')->name('create.show');
|
|
|
|
Route::middleware(['access.owner'])->group(function() {
|
|
Route::post('/', 'storeBundle')->name('create.store');
|
|
Route::get('/metadata', 'getMetadata')->name('metadata.get');
|
|
Route::post('/file', 'uploadFile')->name('file.store');
|
|
Route::delete('/file', 'deleteFile')->name('file.delete');
|
|
Route::post('/complete', 'completeBundle')->name('complete');
|
|
Route::delete('/delete', 'deleteBundle')->name('bundle.delete');
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
/**
|
|
Download routes
|
|
*/
|
|
Route::middleware(['access.guest'])->prefix('/bundle/{bundle}')->controller(BundleController::class)->name('bundle.')->group(function() {
|
|
Route::get('/preview', 'previewBundle')->name('preview');
|
|
Route::post('/zip', 'prepareZip')->name('zip.make');
|
|
Route::get('/download', 'downloadZip')->name('zip.download');
|
|
});
|