From a964e19f9c6f45d0b28d98acc407737fb41a8254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20de=20Jes=C3=BAs=20Cort=C3=A9s=20Castellanos?= Date: Tue, 21 Jan 2025 16:24:44 -0600 Subject: [PATCH] =?UTF-8?q?ADD:=20Obtenci=C3=B3n=20de=20recursos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/ChangelogController.php | 7 +++++++ app/Http/Controllers/ResourceController.php | 22 ++++++++++++++++++++ config/app.php | 2 +- routes/api.php | 2 +- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/ChangelogController.php b/app/Http/Controllers/ChangelogController.php index 02c9e18..d42aba4 100644 --- a/app/Http/Controllers/ChangelogController.php +++ b/app/Http/Controllers/ChangelogController.php @@ -88,6 +88,13 @@ public function __invoke() 'ADD: Comando para iniciar o detener todos los servicios', 'ADD: Observador de roles.', ] + ], + [ + 'version' => '0.9.8', + 'date' => '2025-01-18', + 'changes' => [ + 'ADD: Obtener cualquier recurso mediante la URL /resources/get (requiere autenticación).', + ] ] ])); } diff --git a/app/Http/Controllers/ResourceController.php b/app/Http/Controllers/ResourceController.php index db18ce2..3e9c9d4 100644 --- a/app/Http/Controllers/ResourceController.php +++ b/app/Http/Controllers/ResourceController.php @@ -4,6 +4,7 @@ */ use App\Models\Setting; +use Illuminate\Http\Request; use Notsoweb\ApiResponse\Enums\ApiResponse; use Tighten\Ziggy\Ziggy; @@ -16,6 +17,27 @@ */ class ResourceController extends Controller { + /** + * Obtener cualquier recurso + * + * Los recursos son traits que deben ser importados en este controlador. Para consumir el recurso del trait + * se debe de enviar el nombre de la función que se desea consumir, si esta requiere parámetros, se deben de enviar, + * sino se debe colocar un null. + */ + public function get(Request $request) + { + $resources = $request->all(); + $response = []; + + foreach ($resources as $resource => $data) { + if (method_exists($this, $resource)) { + $response[$resource] = $this->{$resource}($data); + } + } + + return ApiResponse::OK->onSuccess($response); + } + /** * Información de la aplicación */ diff --git a/config/app.php b/config/app.php index cfeb889..16ad730 100644 --- a/config/app.php +++ b/config/app.php @@ -12,7 +12,7 @@ | other UI elements where an application name needs to be displayed. | */ - 'version' => '0.9.7', + 'version' => '0.9.8', 'name' => env('APP_NAME', 'Laravel'), diff --git a/routes/api.php b/routes/api.php index 43d1004..b752e50 100644 --- a/routes/api.php +++ b/routes/api.php @@ -11,7 +11,7 @@ /** * 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. + * Estas rutas son de la aplicación AP I 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. */