From 7d58ff73169415479e852fbb92b333443b95c724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20de=20Jes=C3=BAs=20Cort=C3=A9s=20Castellanos?= Date: Thu, 16 Jan 2025 22:13:02 -0600 Subject: [PATCH] =?UTF-8?q?ADD:=20Separar=20rutas=20de=20nucleo=20de=20la?= =?UTF-8?q?=20aplicaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/api.php | 92 +++++++++---------------------------------------- routes/core.php | 91 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 75 deletions(-) create mode 100644 routes/core.php diff --git a/routes/api.php b/routes/api.php index ade1541..43d1004 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,82 +1,24 @@ name('status'); +/** + * Rutas del núcleo de la aplicación. + * + * Se recomienda que no se modifiquen estas rutas a menos que sepa lo que está haciendo. + */ +require('core.php'); -Route::middleware('auth:api')->group(function () { - // Aplicación - Route::prefix('user')->name('user.')->group(function() { - Route::get('/', [MyUserController::class, 'show'])->name('show'); - Route::put('/', [MyUserController::class, 'update'])->name('update'); - Route::delete('/', [MyUserController::class, 'destroy'])->name('destroy'); - Route::delete('photo', [MyUserController::class, 'destroyPhoto'])->name('photo'); - Route::put('password', [MyUserController::class, 'updatePassword'])->name('password'); - Route::post('password-confirm', [MyUserController::class, 'confirmPassword'])->name('password-confirm'); - Route::get('permissions', [MyUserController::class, 'permissions'])->name('permissions'); - Route::get('roles', [MyUserController::class, 'roles'])->name('roles'); - }); +/** + * Rutas de tu aplicación. + * + * Estas rutas son de la aplicación API que desarrollarás. Siéntete libre de agregar lo que consideres necesario. + * Procura revisar que no existan rutas que entren en conflicto con las rutas del núcleo. + */ - Route::prefix('admin')->name('admin.')->group(function() { - Route::apiResource('activities', ActivityController::class)->only(['index']); - - Route::prefix('users')->name('users.')->group(function() { - Route::prefix('{user}')->group(function() { - Route::get('roles', [UserController::class, 'roles'])->name('roles'); - Route::put('roles', [UserController::class, 'updateRoles']); - Route::put('password', [UserController::class, 'updatePassword'])->name('password'); - Route::get('permissions', [UserController::class, 'permissions'])->name('permissions'); - }); - }); - Route::apiResource('users', UserController::class); - - // Roles - Route::apiResource('roles', RoleController::class); - Route::get('roles/{role}/permissions', [RoleController::class, 'permissions'])->name('roles.permissions'); - Route::put('roles/{role}/permissions', [RoleController::class, 'updatePermissions'])->name('roles.permissions.update'); - }); - - - Route::prefix('permission-types')->name('permission-types.')->group(function() { - Route::get('all', [PermissionTypeController::class, 'all'])->name('all'); - Route::get('all-with-permissions', [PermissionTypeController::class, 'allWithPermissions'])->name('all-with-permissions'); - }); - - // Sistema - Route::prefix('system')->name('system.')->group(function() { - Route::get('permissions', [SystemController::class, 'permissions'])->name('permissions'); - Route::get('roles', [SystemController::class, 'roles'])->name('roles'); - Route::prefix('notifications')->name('notifications.')->group(function() { - Route::get('all', [NotificationController::class, 'index'])->name('all'); - Route::get('all-unread', [NotificationController::class, 'allUnread'])->name('all-unread'); - Route::post('read', [NotificationController::class, 'read'])->name('read'); - Route::post('close', [NotificationController::class, 'close'])->name('close'); - }); - }); - - Route::post('auth/logout', [LoginController::class, 'logout'])->name('auth.logout'); - - Route::get('changelogs', ChangelogController::class)->name('changelogs'); +/** Rutas protegidas (requieren autenticación) */ +Route::middleware('auth:api')->group(function() { + // Tus rutas protegidas }); -Route::prefix('resources')->name('resources.')->group(function() { - Route::get('app', [ResourceController::class, 'app'])->name('app'); - Route::get('routes', [ResourceController::class, 'routes'])->name('routes'); -}); - -Route::prefix('auth')->name('auth.')->group(function () { - Route::post('login', [LoginController::class, 'login'])->name('login'); - Route::post('forgot-password', [LoginController::class, 'forgotPassword'])->name('forgot-password'); - Route::post('reset-password', [LoginController::class, 'resetPassword'])->name('reset-password'); -}); +/** Rutas públicas */ +// Tus rutas públicas diff --git a/routes/core.php b/routes/core.php new file mode 100644 index 0000000..5910ba9 --- /dev/null +++ b/routes/core.php @@ -0,0 +1,91 @@ +name('status'); + +Route::middleware('auth:api')->group(function () { + // Aplicación + Route::prefix('user')->name('user.')->group(function() { + Route::get('/', [MyUserController::class, 'show'])->name('show'); + Route::put('/', [MyUserController::class, 'update'])->name('update'); + Route::delete('/', [MyUserController::class, 'destroy'])->name('destroy'); + Route::delete('photo', [MyUserController::class, 'destroyPhoto'])->name('photo'); + Route::put('password', [MyUserController::class, 'updatePassword'])->name('password'); + Route::post('password-confirm', [MyUserController::class, 'confirmPassword'])->name('password-confirm'); + Route::get('permissions', [MyUserController::class, 'permissions'])->name('permissions'); + Route::get('roles', [MyUserController::class, 'roles'])->name('roles'); + }); + + Route::prefix('admin')->name('admin.')->group(function() { + Route::apiResource('activities', ActivityController::class)->only(['index']); + + Route::prefix('users')->name('users.')->group(function() { + Route::prefix('{user}')->group(function() { + Route::get('roles', [UserController::class, 'roles'])->name('roles'); + Route::put('roles', [UserController::class, 'updateRoles']); + Route::put('password', [UserController::class, 'updatePassword'])->name('password'); + Route::get('permissions', [UserController::class, 'permissions'])->name('permissions'); + }); + }); + Route::apiResource('users', UserController::class); + + // Roles + Route::apiResource('roles', RoleController::class); + Route::get('roles/{role}/permissions', [RoleController::class, 'permissions'])->name('roles.permissions'); + Route::put('roles/{role}/permissions', [RoleController::class, 'updatePermissions'])->name('roles.permissions.update'); + }); + + + Route::prefix('permission-types')->name('permission-types.')->group(function() { + Route::get('all', [PermissionTypeController::class, 'all'])->name('all'); + Route::get('all-with-permissions', [PermissionTypeController::class, 'allWithPermissions'])->name('all-with-permissions'); + }); + + // Sistema + Route::prefix('system')->name('system.')->group(function() { + Route::get('permissions', [SystemController::class, 'permissions'])->name('permissions'); + Route::get('roles', [SystemController::class, 'roles'])->name('roles'); + Route::prefix('notifications')->name('notifications.')->group(function() { + Route::get('all', [NotificationController::class, 'index'])->name('all'); + Route::get('all-unread', [NotificationController::class, 'allUnread'])->name('all-unread'); + Route::post('read', [NotificationController::class, 'read'])->name('read'); + Route::post('close', [NotificationController::class, 'close'])->name('close'); + }); + }); + + Route::post('auth/logout', [LoginController::class, 'logout'])->name('auth.logout'); + + Route::get('changelogs', ChangelogController::class)->name('changelogs'); +}); + +Route::prefix('resources')->name('resources.')->group(function() { + Route::get('app', [ResourceController::class, 'app'])->name('app'); + Route::get('routes', [ResourceController::class, 'routes'])->name('routes'); +}); + +Route::prefix('auth')->name('auth.')->group(function () { + Route::post('login', [LoginController::class, 'login'])->name('login'); + Route::post('forgot-password', [LoginController::class, 'forgotPassword'])->name('forgot-password'); + Route::post('reset-password', [LoginController::class, 'resetPassword'])->name('reset-password'); +});