public function show()
 {
     try {
         AuthenticateController::checkUser(null);
         $trl = TRL::get();
         return response()->json(['TRL' => $trl]);
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }
 /**
  * @param Request $request
  * @param $id
  * @return \Illuminate\Http\JsonResponse
  */
 public function update(Request $request, $id)
 {
     try {
         AuthenticateController::checkUser('Supervisor');
         $modalidad = Modalidad::find($id);
         if ($modalidad != null) {
             $modalidad->fill($request->all());
             $modalidad->save();
             return response()->json($modalidad);
         }
         return response()->json(['message' => 'modalidad_not_found'], 404);
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (UnauthorizedException $e) {
         return response()->json(['unauthorized'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }
 /**
  * @return \Illuminate\Http\JsonResponse
  */
 public function show()
 {
     try {
         $user = AuthenticateController::checkUser(null);
         $user->load('Contacto');
         $contacto = $user->Contacto[0];
         if ($user->Contacto == null) {
             return response()->json(['message' => 'contacto_not_found'], 500);
         }
         $contacto->load('Direccion');
         if ($contacto->Direccion != null) {
             return response()->json($contacto->Direccion);
         }
         return response()->json(['message' => 'direccion_not_found'], 404);
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }
 /**
  * @return \Illuminate\Http\JsonResponse
  */
 public function destroy()
 {
     try {
         $user = AuthenticateController::checkUser(null);
         $user->load('Persona');
         $user->Persona->load('Contacto');
         if ($user->Persona->Contacto != null) {
             $user->Persona->Contacto->delete();
             return response()->json(['message' => 'success']);
         }
         return response()->json(['message' => 'contacto_not_found'], 404);
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }
 /**
  * @param $idProyecto
  * @return \Illuminate\Http\JsonResponse
  */
 public function showFileRoutes($idProyecto)
 {
     try {
         $user = AuthenticateController::checkUser(null);
         $user->load('Persona');
         $proyecto = $user->Persona->Proyecto()->where('Proyecto.id', $idProyecto)->first();
         if ($proyecto == null) {
             return response()->json(['message' => 'server_error'], 500);
         }
         if ($proyecto->pivot->Owner != 1 || $proyecto->pivot->idPersona != $user->Persona->id) {
             return response()->json(['message' => 'owner_not_matching'], 500);
         } else {
             $results = DB::table('TipoArchivo')->join('Archivos', 'Archivos.idTipoArchivo', '=', 'TipoArchivo.id')->join('Ejecucion', 'Archivos.idEjecucion', '=', 'Ejecucion.id')->join('Proyecto', 'Ejecucion.idProyecto', '=', 'Proyecto.id')->where('Proyecto.id', $idProyecto)->select('Archivos.Ruta as Ruta', 'TipoArchivo.Titulo as Tipo')->get();
             if ($results != null) {
                 return response()->json(['Archivos' => $results]);
             }
             return response()->json(['message' => 'archivos_not_found'], 404);
         }
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (UnauthorizedException $e) {
         return response()->json(['unauthorized'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }
 /**
  * @param Request $request
  * @return \Illuminate\Http\JsonResponse
  */
 public function deleteTRLs(Request $request)
 {
     try {
         $user = AuthenticateController::checkUser(null);
         $user->load('Persona');
         $proyecto = $user->Persona->Proyecto()->where('Proyecto.id', $request->idProyecto)->first();
         if ($proyecto == null) {
             return response()->json(['message' => 'server_error'], 500);
         }
         if ($proyecto->pivot->Owner != 1) {
             return response()->json(['message' => 'owner_not_matching'], 500);
         } else {
             return DB::transaction(function () use($request) {
                 foreach ($request->ProyectoTRL as $TRL) {
                     ProyectoTRL::find($TRL['id'])->delete();
                 }
                 $trls = ProyectoTRL::where('idProyecto', $request->idProyecto)->get();
                 return response()->json(['TRL' => $trls]);
             });
         }
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }
 /**
  * Remove the specified resource from storage.
  *
  * @return \Illuminate\Http\Response
  */
 public function destroy()
 {
     try {
         $user = AuthenticateController::checkUser(null);
         $user->load('Persona');
         $user->Persona->delete();
         return response()->json(['message' => 'success'], 200);
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error'], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }
 public function upload(Request $request)
 {
     try {
         $user = AuthenticateController::checkUser(null);
         $user->load('Persona');
         $request->file('file')->move('files/' . $user->username, $request->type . "_" . $request->name);
         return response()->json();
     } catch (QueryException $e) {
         return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500);
     } catch (Exceptions\TokenExpiredException $e) {
         return response()->json(['token_expired'], $e->getStatusCode());
     } catch (Exceptions\TokenInvalidException $e) {
         return response()->json(['token_invalid'], $e->getStatusCode());
     } catch (Exceptions\JWTException $e) {
         return response()->json(['token_absent'], $e->getStatusCode());
     }
 }