añadir funicionalidades de permisos y grupos
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled

This commit is contained in:
2025-04-27 23:43:22 +02:00
parent fa7c92bee2
commit 883daf32ed
51 changed files with 2673 additions and 441 deletions

View File

@@ -41,23 +41,31 @@ Route::middleware(['auth', 'verified'])->group(function () {
Route::get('/projects/{project}', ProjectController::class)->name('projects.show')->middleware('can:view,project'); // Opcional: política de acceso
Route::get('/projects/{project}', ProjectShow::class)->name('projects.show');
// Documentos
Route::resource('documents', DocumentController::class);
Route::post('/documents/{document}/approve', [DocumentController::class, 'approve'])->name('documents.approve');
Route::post('/documents/{document}/comment', [DocumentController::class, 'addComment'])->name('documents.comment');
// Carpetas
Route::resource('folders', FolderController::class);
Route::post('/folders/{folder}/documents', [FolderController::class, 'storeDocument'])->name('folders.documents.store');
Route::prefix('folders')->group(function () {
Route::put('/{folder}/move', [FolderController::class, 'move']);
Route::post('/', [FolderController::class, 'store']);
Route::put('/{folder}', [FolderController::class, 'update']);
Route::delete('/{folder}', [FolderController::class, 'destroy']);
});
// Gestión de Usuarios
Route::resource('users', UserController::class)->except('show');
Route::put('/users/{user}/password', [UserController::class, 'updatePassword'])->name('users.password.update');
// Permisos y Roles
Route::resource('roles', RoleController::class)->except('show');
Route::resource('permissions', PermissionController::class)->only(['index', 'store', 'update']);
Route::post('/roles/{role}/permissions', [RoleController::class, 'syncPermissions'])->name('roles.permissions.sync');
// Rutas para gestión de roles
Route::prefix('roles')->middleware(['auth', 'can:view roles'])->group(function () {
Route::get('/', [RoleController::class, 'index']);
Route::post('/', [RoleController::class, 'store'])->middleware('can:create roles');
Route::resource('roles', \App\Http\Controllers\RoleController::class)->except(['show'])->middleware(['auth', 'verified']);
});
// Perfil de usuario
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');