Browse Source

Configurada ruta del login, y modificada ruta de los familiares

main
jirho 1 year ago
parent
commit
9cf20969d7
  1. 124
      app/Http/Controllers/ApiFamilliaresController.php
  2. 21
      routes/api.php

124
app/Http/Controllers/ApiFamilliaresController.php

@ -2,39 +2,76 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Models\UaderMapucheFamiliares; use App\Models\UaderMapucheFamiliares;
use App\Models\UaderMapuchePersona; use App\Models\UaderMapuchePersona;
use Illuminate\Http\Request; use App\Constants\HttpStatus;
/**
* Controlador para manejar la lógica de las rutas para obtener información de los familiares de una persona.
*/
class ApiFamilliaresController extends Controller class ApiFamilliaresController extends Controller
{ {
/** /**
* Display a listing of the resource. * Función de ruta para obtener los familiares de una persona a partir del DNI o teléfono proporcionado en la solicitud.
*
* @param Request $request La solicitud HTTP que contiene los parámetros 'dni' o 'telefono'.
* @return \Illuminate\Http\JsonResponse Respuesta JSON con los datos de los familiares o un error.
*/ */
public function index() public function getFamiliares(Request $request){
{
return json_encode(['reply' => 'hola']); if(!$request->has('dni') && !$request->has('telefono')){
return response()->json(
['error' => trans('persona.DEBE_INGRESAR_DNI_O_TELEFONO')],
HttpStatus::BAD_REQUEST
);
} }
/** try{
* Show the form for creating a new resource.
*/ if ($request->has('dni') && !empty($request->get('dni')) ) {
public function create() $persona = UaderMapuchePersona::buscarPersonaPorDni($request->get('dni'));
{ if ($persona) {
// return self::extraerFamiliaresJson($persona);
}
}
if ($request->has('telefono') && !empty($request->get('telefono')) ) {
$persona = UaderMapuchePersona::BuscarPersonaPorTelefono($request->get('telefono'));
if ($persona) {
return self::extraerFamiliaresJson($persona);
}
}
return response()->json(['error' => trans('persona.NO_ENCONTRADA')], HttpStatus::NOT_FOUND);
} catch (\Exception $e) {
Log::error(trans('persona.LOG_DATOS') . $e->getMessage());
return response()->json(['error' => trans('persona.ERROR')], HttpStatus::INTERNAL_SERVER_ERROR);
}
} }
/** /**
* Store a newly created resource in storage. * Esta funcion es llamada por la función de ruta getFamiliares.
* Extrae la información de los familiares de una persona y la retorna en formato JSON.
*
* @param \App\Models\UaderMapuchePersona $persona La persona de la cual se van a extraer los familiares.
* @return \Illuminate\Http\JsonResponse Respuesta JSON con los datos de los familiares.
*/ */
public function store(Request $request) public function extraerFamiliaresJson($persona)
{ {
$input = $request->input();
$persona = UaderMapuchePersona::BuscarPersonaPorTelefono($input['cel']);
if (!empty($persona)) {
$familiares = $persona->familiares; $familiares = $persona->familiares;
$datos = array(); $datos = array();
foreach ($familiares as $familiar) { foreach ($familiares as $familiar) {
$datos[] = array( $datos[] = array(
'dni' => $familiar->nro_docum, 'dni' => $familiar->nro_docum,
'apellido' => ucwords(strtolower($familiar['desc_apell'])), 'apellido' => ucwords(strtolower($familiar['desc_apell'])),
@ -45,52 +82,35 @@ class ApiFamilliaresController extends Controller
'a_cargo' => $familiar->sino_cargo, 'a_cargo' => $familiar->sino_cargo,
); );
} }
return response()->json($datos); return response()->json($datos);
} else {
return response()->json(array(), 404);
}
} }
/** /**
* Display the specified resource. * Función de ruta para obtener los datos de un familiar específico a partir de su DNI.
*
* @param string $dni El DNI del familiar a buscar.
* @return \Illuminate\Http\JsonResponse Respuesta JSON con los datos del familiar o un código 404 si no se encuentra.
*/ */
public function buscar($dni) public function familiarPorDni($dni)
{ {
$persona = UaderMapucheFamiliares::where('nro_docum', $dni)->first(); if ( UaderMapucheFamiliares::where('nro_docum', $dni)->exists() ) {
if (!empty($persona)) {
$datos = array( $familiar = UaderMapucheFamiliares::where('nro_docum', $dni)->first();
'apellido' => ucwords(strtolower($persona->desc_apell)),
'nombres' => ucwords(strtolower($persona->desc_nombre)), return response()->json(
'parentezco' => $persona->codc_paren, array(
'fnac' => $persona->fec_nacim, 'apellido' => ucwords(strtolower($familiar->desc_apell)),
'nombres' => ucwords(strtolower($familiar->desc_nombre)),
'parentezco' => $familiar->codc_paren,
'fnac' => $familiar->fec_nacim,
)
); );
return response()->json($datos);
} else { } else {
return response()->json(array(), 404);
}
}
/** return response()->json(array(), 404);
* Show the form for editing the specified resource.
*/
public function edit(UaderMapucheFamiliares $uaderMapucheFamiliares)
{
//
} }
/**
* Update the specified resource in storage.
*/
public function update(Request $request, UaderMapucheFamiliares $uaderMapucheFamiliares)
{
//
} }
/**
* Remove the specified resource from storage.
*/
public function destroy(UaderMapucheFamiliares $uaderMapucheFamiliares)
{
//
}
} }

21
routes/api.php

@ -1,10 +1,10 @@
<?php <?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ApiPersonaController; use App\Http\Controllers\ApiPersonaController;
use App\Http\Controllers\ApiFamilliaresController; use App\Http\Controllers\ApiFamilliaresController;
use App\Http\Controllers\ApiController; use App\Http\Controllers\ApiController;
use App\Http\Controllers\AuthController;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -17,15 +17,16 @@ use App\Http\Controllers\ApiController;
| |
*/ */
// Route::middleware('auth:sanctum')->get('/user', function (Request $request) { Route::get('/', [ApiController::class, 'bienvenida'])->name('bienvenida');
// return $request->user();
// });
Route::post('login', [AuthController::class, 'login'])->name('login');
Route::get('/', [ApiController::class, 'bienvenida'])->name('api.bienvenida');
# Rutas de personas: Route::middleware('jwt.auth')->group(function () {
Route::post('logout', [AuthController::class, 'logout'])->name('logout');
# Rutas de personas:
Route::get('persona/datos', [ApiPersonaController::class, 'getDatos'])->name('persona.getDatos'); Route::get('persona/datos', [ApiPersonaController::class, 'getDatos'])->name('persona.getDatos');
Route::get('persona/horarios/unidadacademica', [ApiPersonaController::class, 'getHorariosPorUnidadAcademica'])->name('persona.horarios.unidadacademica'); Route::get('persona/horarios/unidadacademica', [ApiPersonaController::class, 'getHorariosPorUnidadAcademica'])->name('persona.horarios.unidadacademica');
Route::get('persona/horarios/sede', [ApiPersonaController::class, 'getHorariosPorSede'])->name('persona.horarios.sede'); Route::get('persona/horarios/sede', [ApiPersonaController::class, 'getHorariosPorSede'])->name('persona.horarios.sede');
@ -34,5 +35,9 @@ Route::get('persona/funciones/sede', [ApiPersonaController::class, 'getFunciones
Route::get('persona/funciones/unidadacademica', [ApiPersonaController::class, 'getFuncionesPorUnidadAcademica'])->name('persona.funciones.unidadacademica'); Route::get('persona/funciones/unidadacademica', [ApiPersonaController::class, 'getFuncionesPorUnidadAcademica'])->name('persona.funciones.unidadacademica');
# Rutas de familiares: # Rutas de familiares:
Route::get('familiar/{dni}', [ApiFamilliaresController::class, 'buscar'])->name('familiar.buscar'); Route::get('familiar/{dni}', [ApiFamilliaresController::class, 'familiarPorDni'])->name('persona.familiar');
Route::apiResource('familiares', ApiFamilliaresController::class); Route::post('familiares', [ApiFamilliaresController::class, 'getFamiliares'])->name('persona.familiares');
});

Loading…
Cancel
Save