From 551ef38ffca571002ac6a142767e8b0e2cafc90b Mon Sep 17 00:00:00 2001 From: Juan Felipe Zapata Moreno Date: Wed, 5 Nov 2025 10:48:20 -0600 Subject: [PATCH] =?UTF-8?q?ADD:=20M=C3=A9todo=20show=20a=20devices,=20pack?= =?UTF-8?q?ages=20y=20modules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Repuve/DeviceController.php | 16 ++++++++++++++++ .../Controllers/Repuve/ModuleController.php | 16 ++++++++++++++++ .../Controllers/Repuve/PackageController.php | 19 +++++++++++++++++++ docker-compose.yml | 2 +- routes/api.php | 16 ++++++---------- 5 files changed, 58 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Repuve/DeviceController.php b/app/Http/Controllers/Repuve/DeviceController.php index 4ee05f1..09fa66d 100644 --- a/app/Http/Controllers/Repuve/DeviceController.php +++ b/app/Http/Controllers/Repuve/DeviceController.php @@ -84,6 +84,22 @@ public function store(DeviceStoreRequest $request) } } + public function show($id) + { + try { + $device = Device::with('deviceModules.module', 'deviceModules.user')->findOrFail($id); + + return ApiResponse::OK->response([ + 'device' => $device, + ]); + } catch (\Exception $e) { + return ApiResponse::INTERNAL_ERROR->response([ + 'message' => 'Error al obtener el dispositivo.', + 'error' => $e->getMessage(), + ]); + } + } + public function update(DeviceUpdateRequest $request, $id) { try { diff --git a/app/Http/Controllers/Repuve/ModuleController.php b/app/Http/Controllers/Repuve/ModuleController.php index 3755a56..fe9fb02 100644 --- a/app/Http/Controllers/Repuve/ModuleController.php +++ b/app/Http/Controllers/Repuve/ModuleController.php @@ -98,6 +98,22 @@ public function store(ModuleStoreRequest $request) } } + public function show($id) + { + try { + $modules = Module::with(['responsible:id,name,email', 'municipality:id,code,name'])->withCount(['packages'])->find($id); + + return ApiResponse::OK->response([ + 'module' => $modules, + ]); + } catch (\Exception $e) { + return ApiResponse::INTERNAL_ERROR->response([ + 'message' => 'Error al obtener el módulo.', + 'error' => $e->getMessage(), + ]); + } + } + /** * Actualizar un módulo existente */ diff --git a/app/Http/Controllers/Repuve/PackageController.php b/app/Http/Controllers/Repuve/PackageController.php index 62d792e..49704c8 100644 --- a/app/Http/Controllers/Repuve/PackageController.php +++ b/app/Http/Controllers/Repuve/PackageController.php @@ -76,6 +76,25 @@ public function store(PackageStoreRequest $request) } } + public function show($id) + { + try { + $package = Package::with([ + 'module:id,name,responsible_id', + 'module.responsible:id,name,email' + ])->findOrFail($id); + + return ApiResponse::OK->response([ + 'package' => $package, + ]); + } catch (\Exception $e) { + return ApiResponse::INTERNAL_ERROR->response([ + 'message' => 'Error al obtener el paquete', + 'error' => $e->getMessage(), + ]); + } + } + public function update(PackageUpdateRequest $request, $id) { try { diff --git a/docker-compose.yml b/docker-compose.yml index b3d5cf2..f23b6f4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,7 @@ services: - DB_PORT=${DB_PORT} volumes: - ./:/var/www/repuve-backend-v1 - - ./vendor:/var/www/golscontrols/vendor + - ./vendor:/var/www/repuve/vendor networks: - repuve-network mem_limit: 512M diff --git a/routes/api.php b/routes/api.php index 7a2793e..9cd24f7 100644 --- a/routes/api.php +++ b/routes/api.php @@ -48,22 +48,18 @@ Route::post('cancelacion/cancelar', [CancellationController::class, 'cancelarConstancia']); //Rutas de Modulos - Route::get('/module', [ModuleController::class, 'index']); - Route::post('/moduleCreate', [ModuleController::class, 'store']); - Route::put('/moduleUpdate/{id}', [ModuleController::class, 'update']); - Route::patch('/moduleStatus/{id}', [ModuleController::class, 'toggleStatus']); + Route::resource('module', ModuleController::class); + + //Rutas de Municipios Route::resource('municipality', MunicipalityController::class); //Rutas de dispositivos - Route::get('/devices', [DeviceController::class, 'index']); - Route::post('/devices-create', [DeviceController::class, 'store']); - Route::put('/devices/{id}', [DeviceController::class, 'update']); - Route::delete('/devices/{id}', [DeviceController::class, 'destroy']); + Route::resource('devices', DeviceController::class); - //Ruta de paquetes CRUD + //Ruta de paquetes Route::resource('packages', PackageController::class); - //Ruta CRUD Tags + //Ruta Tags Route::resource('tags', TagsController::class); //Rutas de nombres de archivos en catálogo