feat: FileController para servir archivos privados con autenticación
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+9
-1
@@ -7,6 +7,7 @@ use App\Http\Controllers\AreaController;
|
||||
use App\Http\Controllers\CampanController;
|
||||
use App\Http\Controllers\CarreraController;
|
||||
use App\Http\Controllers\ChatController;
|
||||
use App\Http\Controllers\FileController;
|
||||
use App\Http\Controllers\CodeController;
|
||||
use App\Http\Controllers\ConceptoController;
|
||||
use App\Http\Controllers\DocenteController;
|
||||
@@ -54,7 +55,8 @@ Route::middleware(['auth:sanctum',config('jetstream.auth_session'),'verified',
|
||||
Route::resource('/concepto',ConceptoController::class);
|
||||
Route::get('/chat', [ChatController::class, 'index'])->name('chat.index');
|
||||
Route::get('/chat/{user}', [ChatController::class, 'show'])->name('chat.show');
|
||||
Route::post('/chat/send', [ChatController::class, 'send'])->name('chat.send');Route::resource('/docente',DocenteController::class);
|
||||
Route::post('/chat/send', [ChatController::class, 'send'])->name('chat.send');
|
||||
Route::get('/files/{path}', [FileController::class, 'serve'])->where('path', '.*')->name('files.serve');Route::resource('/docente',DocenteController::class);
|
||||
Route::resource('/documento',DocumentoController::class);
|
||||
Route::get('/documento/ver/{id}', function ($id) { $doc = Documento::findOrFail($id); $alumno = auth()->user()->alumnos()->first(); if (!$alumno || $doc->alumno_id !== $alumno->id) { abort(403); } return response()->file( storage_path('app/public/'.$doc->archivo) ); });
|
||||
Route::get('/documento/ver/{id}', [DocumentoController::class, 'ver'])->name('documento.ver');
|
||||
@@ -84,6 +86,12 @@ Route::middleware(['auth:sanctum',config('jetstream.auth_session'),'verified',
|
||||
Route::resource('/plantel',PlantelController::class);
|
||||
Route::get('/registros', [CodeController::class,'registros' ])->name('registros');
|
||||
Route::resource('/role',RoleController::class);
|
||||
Route::get('/storage/{path}', function ($path) { $fullPath = storage_path('app/public/' . $path);
|
||||
if (!file_exists($fullPath)) {
|
||||
abort(404);
|
||||
}
|
||||
return response()->file($fullPath);
|
||||
})->where('path', '.*')->middleware('auth');
|
||||
// Route::get('/test-chat', function () { broadcast(new MessageSent('Hola realtime ')); return 'Mensaje enviado';});
|
||||
Route::resource('/turno',TurnoController::class);
|
||||
Route::resource('/user',UserController::class);
|
||||
|
||||
Reference in New Issue
Block a user