Members
404_Error_Handler
- Description:
Middleware para capturar errores 404 (Not Found).
- Source:
Middleware para capturar errores 404 (Not Found).
(constant) ACTIVIDADES :Array.<string>
- Description:
Lista de actividades físicas predefinidas.
- Source:
Lista de actividades físicas predefinidas.
Type:
- Array.<string>
(constant) API_URL :string
- Description:
La URL base del backend, obtenida de las variables de entorno o un valor por defecto. Lee de la variable de entorno REACT_APP_API_URL. Fallback a http://localhost:4000 solo para desarrollo local. ⚠️ IMPORTANTE: En producción, REACT_APP_API_URL DEBE estar configurada en las variables de entorno.
- Source:
La URL base del backend, obtenida de las variables de entorno o un valor por defecto. Lee de la variable de entorno REACT_APP_API_URL. Fallback a http://localhost:4000 solo para desarrollo local. ⚠️ IMPORTANTE: En producción, REACT_APP_API_URL DEBE estar configurada en las variables de entorno.
Type:
- string
(constant) API_URL :string
- Description:
URL base de la API del backend. Lee de la variable de entorno REACT_APP_API_URL. Fallback a http://localhost:4000 solo para desarrollo local. En producción, REACT_APP_API_URL DEBE estar configurada.
- Source:
URL base de la API del backend. Lee de la variable de entorno REACT_APP_API_URL. Fallback a http://localhost:4000 solo para desarrollo local. En producción, REACT_APP_API_URL DEBE estar configurada.
Type:
- string
(constant) ASPECTOS_COGNITIVOS :Array.<string>
- Description:
Lista de aspectos cognitivos predefinidos.
- Source:
Lista de aspectos cognitivos predefinidos.
Type:
- Array.<string>
CORS_Configuration
- Description:
Configuración de CORS para permitir peticiones desde el frontend.
- Source:
Properties:
| Name | Type | Description |
|---|---|---|
origin |
string | El origen permitido para las peticiones. |
credentials |
boolean | Indica si se permiten credenciales. |
optionsSuccessStatus |
number | Código de estado para peticiones OPTIONS. |
Configuración de CORS para permitir peticiones desde el frontend.
(constant) EMOCIONES :Array.<string>
- Description:
Lista de emociones predefinidas.
- Source:
Lista de emociones predefinidas.
Type:
- Array.<string>
GET_/
- Description:
Ruta de prueba para comprobar que el servidor funciona.
- Source:
Ruta de prueba para comprobar que el servidor funciona.
GET_/api/metrics
- Description:
Endpoint para obtener métricas en formato Prometheus
- Source:
Endpoint para obtener métricas en formato Prometheus
Generic_Error_Handler
- Description:
Middleware para gestionar todos los demás errores.
- Source:
Middleware para gestionar todos los demás errores.
(constant) api :AxiosInstance
- Description:
Instancia de Axios configurada para las peticiones a la API.
- Source:
Instancia de Axios configurada para las peticiones a la API.
Type:
- AxiosInstance
description
- Description:
La descripción de la tarjeta.
- Source:
La descripción de la tarjeta.
duracion
- Description:
La duración de la actividad en minutos.
- Source:
La duración de la actividad en minutos.
emotion
- Description:
El nombre de la emoción.
- Source:
El nombre de la emoción.
intensidad
- Description:
La intensidad de la actividad.
- Source:
La intensidad de la actividad.
intensidad
- Description:
La intensidad del aspecto cognitivo.
- Source:
La intensidad del aspecto cognitivo.
intensidad
- Description:
La intensidad de la emoción.
- Source:
La intensidad de la emoción.
(constant) logsDir
- Description:
Configuración de Winston Logger
- Source:
Configuración de Winston Logger
nombre
- Description:
El nombre de la actividad.
- Source:
El nombre de la actividad.
nombre
- Description:
El nombre del aspecto cognitivo.
- Source:
El nombre del aspecto cognitivo.
nombre
- Description:
El nombre de la emoción.
- Source:
El nombre de la emoción.
percentage
- Description:
El porcentaje de la emoción.
- Source:
El porcentaje de la emoción.
(constant) port :number
- Description:
El puerto en el que se ejecutará el servidor.
- Source:
El puerto en el que se ejecutará el servidor.
Type:
- number
(constant) register
- Description:
Configuración de Prometheus Metrics
- Source:
Configuración de Prometheus Metrics
title
- Description:
El título de la tarjeta.
- Source:
El título de la tarjeta.
(constant) uri :string
- Description:
La URI de conexión a la base de datos MongoDB.
- Source:
La URI de conexión a la base de datos MongoDB.
Type:
- string
Methods
ActionCard(props) → {JSX.Element}
- Description:
Renderiza una tarjeta interactiva que redirige al usuario al hacer clic en un botón.
- Source:
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de tarjeta de acción.
- Type
- JSX.Element
ActivitySelector(props) → {JSX.Element}
- Description:
Un componente que permite a los usuarios seleccionar, añadir y eliminar actividades físicas.
- Source:
Parameters:
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente selector de actividades.
- Type
- JSX.Element
App() → {JSX.Element}
- Description:
Componente principal que renderiza la aplicación, gestiona el enrutamiento y los layouts.
- Source:
Returns:
El componente de la aplicación.
- Type
- JSX.Element
Articulos() → {JSX.Element}
- Description:
Componente principal para mostrar artículos sobre salud mental
- Source:
Returns:
La página de artículos
- Type
- JSX.Element
AuthButtons() → {JSX.Element}
- Description:
Renderiza los botones para navegar a las páginas de registro e inicio de sesión.
- Source:
Returns:
El componente de botones de autenticación.
- Type
- JSX.Element
AuthLayout(props) → {JSX.Element}
- Description:
Renderiza un layout centrado para los formularios de autenticación.
- Source:
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de layout de autenticación.
- Type
- JSX.Element
Button(props) → {JSX.Element}
- Description:
Renderiza un elemento de botón con estilos y funcionalidades personalizables.
- Source:
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de botón.
- Type
- JSX.Element
Card(props) → {JSX.Element}
- Description:
Renderiza un componente de tarjeta con un título y una descripción.
- Source:
Parameters:
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de tarjeta.
- Type
- JSX.Element
Carousel(props) → {JSX.Element}
- Description:
Renderiza un carrusel de tarjetas con controles de navegación.
- Source:
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de carrusel.
- Type
- JSX.Element
Checkbox(props) → {JSX.Element}
- Description:
Renderiza un input de tipo checkbox con una etiqueta.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de checkbox.
- Type
- JSX.Element
CircularProgress(props) → {JSX.Element}
- Description:
Renderiza un indicador de progreso circular.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de progreso circular.
- Type
- JSX.Element
CognitionSelector(props) → {JSX.Element}
- Description:
Un componente que permite a los usuarios seleccionar aspectos cognitivos y su intensidad.
- Source:
Parameters:
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente selector de cognición.
- Type
- JSX.Element
Diario() → {JSX.Element}
- Description:
Componente principal de la página del diario. Gestiona el estado y la lógica para las entradas del diario.
- Source:
Returns:
La página del diario.
- Type
- JSX.Element
DiaryBanner(props) → {JSX.Element}
- Description:
Renderiza un banner promocional para la sección del diario.
- Source:
Parameters:
| Name | Type | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de banner del diario.
- Type
- JSX.Element
DiaryEditor(props) → {JSX.Element}
- Description:
Renderiza un formulario para crear o editar una entrada del diario.
- Source:
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente del editor del diario.
- Type
- JSX.Element
DiaryEntry(props) → {JSX.Element}
- Description:
Renderiza una única entrada del diario.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de la entrada del diario.
- Type
- JSX.Element
EmergencyButton(props) → {JSX.Element}
- Description:
Componente que representa un botón de emergencia flotante.
- Source:
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
props |
object | Propiedades del componente. Properties
|
Returns:
El componente del botón de emergencia.
- Type
- JSX.Element
EmergencyModal(props) → {JSX.Element}
- Description:
Componente que renderiza un modal con pestañas para información de emergencia, contactos y opciones de llamada.
- Source:
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
props |
object | Propiedades del componente. Properties
|
Returns:
El componente del modal de emergencia.
- Type
- JSX.Element
EmotionSelector(props) → {JSX.Element}
- Description:
Un componente que permite a los usuarios seleccionar emociones, su intensidad y añadir un comentario.
- Source:
Parameters:
| Name | Type | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente selector de emociones.
- Type
- JSX.Element
EmotionStats(props) → {JSX.Element}
- Description:
Renderiza una cuadrícula de estadísticas de emociones.
- Source:
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de estadísticas de emociones.
- Type
- JSX.Element
Footer() → {JSX.Element}
- Description:
Renderiza el pie de página de la aplicación.
- Source:
Returns:
El componente del pie de página.
- Type
- JSX.Element
Heading(props) → {JSX.Element}
- Description:
Renderiza un componente de encabezado con un nivel y clases personalizables.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de encabezado.
- Type
- JSX.Element
HeroSection(props) → {JSX.Element}
- Description:
Renderiza una sección de héroe con un título y una descripción.
- Source:
Parameters:
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de la sección de héroe.
- Type
- JSX.Element
Home() → {JSX.Element}
- Description:
Componente principal de la página de inicio. Muestra un saludo personalizado y varios widgets de información.
- Source:
Returns:
La página de inicio.
- Type
- JSX.Element
Input(props) → {JSX.Element}
- Description:
Renderiza un campo de entrada con varias funcionalidades.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de input.
- Type
- JSX.Element
Landing() → {JSX.Element}
- Description:
Componente principal de la página de aterrizaje.
- Source:
Returns:
La página de aterrizaje.
- Type
- JSX.Element
LandingHero() → {JSX.Element}
- Description:
Renderiza la sección principal de la página de aterrizaje.
- Source:
Returns:
El componente Hero de la página de aterrizaje.
- Type
- JSX.Element
Login() → {JSX.Element}
- Description:
Componente que renderiza el formulario de inicio de sesión y maneja la lógica de autenticación.
- Source:
Returns:
La página de inicio de sesión.
- Type
- JSX.Element
Logo() → {JSX.Element}
- Description:
Renderiza el logo de la aplicación como un enlace a la página principal.
- Source:
Returns:
El componente del logo.
- Type
- JSX.Element
MainLayout(props) → {JSX.Element}
- Description:
Renderiza el layout principal para las páginas de la aplicación.
- Source:
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente del layout principal.
- Type
- JSX.Element
Navbar() → {JSX.Element}
- Description:
Renderiza la barra de navegación. Muestra diferentes enlaces si el usuario está autenticado o no.
- Source:
Returns:
El componente de la barra de navegación.
- Type
- JSX.Element
ProtectedRoute(props) → {JSX.Element}
- Description:
Redirige a los usuarios no autenticados a la página de login.
- Source:
Parameters:
| Name | Type | Description | ||||||
|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
Los componentes hijos o una redirección a /login.
- Type
- JSX.Element
Register() → {JSX.Element}
- Description:
Componente que renderiza el formulario de registro y maneja la lógica de creación de cuenta.
- Source:
Returns:
La página de registro.
- Type
- JSX.Element
Seguimiento() → {JSX.Element}
- Description:
Componente principal de la página de seguimiento. Gestiona el estado del formulario de varios pasos y el envío de datos.
- Source:
Returns:
La página de seguimiento.
- Type
- JSX.Element
Slider(props) → {JSX.Element}
- Description:
Renderiza un control deslizante (slider) para seleccionar un valor dentro de un rango.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de slider.
- Type
- JSX.Element
Text(props) → {JSX.Element}
- Description:
Renderiza un componente de texto con variantes y clases personalizables.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de texto.
- Type
- JSX.Element
Textarea(props) → {JSX.Element}
- Description:
Renderiza un campo de área de texto con funcionalidades adicionales.
- Source:
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
object | Las propiedades del componente. Properties
|
Returns:
El componente de área de texto.
- Type
- JSX.Element
(async) accessWithPassword(id, password) → {Promise.<object>}
- Description:
Accede a una entrada de diario protegida mediante una contraseña.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
id |
string | El ID de la entrada a la que se quiere acceder. |
password |
string | La contraseña para acceder a la entrada. |
Returns:
La entrada del diario si la contraseña es correcta.
- Type
- Promise.<object>
actualizarEntradaDiario(req, res) → {Promise.<void>}
- Description:
Actualiza una entrada del diario existente.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
(async) apiFetch(endpoint, optionsopt) → {Promise.<Response>}
- Description:
Una función de ayuda para realizar peticiones
fetcha la API, añadiendo automáticamente el token de autenticación.
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
endpoint |
string | El endpoint de la API al que se hará la petición. |
||
options |
object |
<optional> |
{}
|
Opciones adicionales para la petición |
Returns:
La respuesta de la petición fetch.
- Type
- Promise.<Response>
authMiddleware(req, res, next)
- Description:
El token debe ser enviado en el header
AuthorizationcomoBearer <token>.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
next |
function | Función para pasar al siguiente middleware. |
buscarArticulos(termino) → {Promise.<Array>}
- Description:
Busca artículos por término
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
termino |
string | Término de búsqueda |
Returns:
Artículos filtrados
- Type
- Promise.<Array>
(async) cargarDatos()
- Description:
Carga los artículos reales de PubMed y categorías disponibles
- Source:
clasificarCategoria(texto) → {string}
- Description:
Clasifica un artículo por su contenido
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
texto |
string | Texto del artículo |
Returns:
Categoría identificada
- Type
- string
closeShareModal()
- Description:
Cierra el modal de compartir.
- Source:
compararPassword(candidatePassword) → {Promise.<boolean>}
- Description:
Compara una contraseña candidata con la contraseña hasheada de la entrada del diario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
candidatePassword |
string | La contraseña a comparar. |
Returns:
truesi las contraseñas coinciden,falseen caso contrario.
- Type
- Promise.<boolean>
componentDidCatch(error, errorInfo)
- Description:
Captura información sobre el error.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
error |
Error | El error que fue lanzado. |
errorInfo |
object | Un objeto con una clave |
(async) connectDBAndStartServer()
- Description:
Conecta a la base de datos MongoDB y, si tiene éxito, inicia el servidor Express.
- Source:
copyShareLink()
- Description:
Copia el enlace para compartir al portapapeles.
- Source:
crearEntradaDiario(req, res) → {Promise.<void>}
- Description:
Crea una nueva entrada en el diario para el usuario autenticado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
(async) create(contactData) → {Promise.<object>}
- Description:
Crea un nuevo contacto de emergencia.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
contactData |
object | Datos del contacto (nombre, telefono, email, relacion). |
Returns:
El contacto creado.
- Type
- Promise.<object>
(async) create(diarioData) → {Promise.<object>}
- Description:
Crea una nueva entrada en el diario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
diarioData |
object | Los datos de la entrada a crear (título, cuerpo, etc.). |
Returns:
La nueva entrada creada.
- Type
- Promise.<object>
createContacto(req, res) → {Promise.<void>}
- Description:
Crea un nuevo contacto de emergencia para el usuario autenticado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
createRegistro(req, res)
- Description:
Crea un nuevo registro diario del usuario
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Request object |
res |
object | Response object |
(async) delete(id) → {Promise.<object>}
- Description:
Elimina una entrada del diario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
id |
string | El ID de la entrada a eliminar. |
Returns:
Un mensaje de confirmación.
- Type
- Promise.<object>
deleteContacto(req, res) → {Promise.<void>}
- Description:
Elimina un contacto de emergencia.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
dismiss(toastId)
- Description:
Oculta un toast específico por su ID.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
toastId |
string | El ID del toast a ocultar. |
eliminarEntradaDiario(req, res) → {Promise.<void>}
- Description:
Elimina una entrada del diario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
error(message, optionsopt)
- Description:
Muestra un toast de error.
- Source:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
message |
string | El mensaje a mostrar. |
|
options |
object |
<optional> |
Opciones adicionales para el toast. |
filtrarArticulos() → {Array}
- Description:
Filtra los artículos según búsqueda y categoría
- Source:
Returns:
Artículos filtrados
- Type
- Array
formatDate(date) → {string}
- Description:
Formatea una fecha a un formato largo y legible.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
date |
string | Date | La fecha a formatear. |
Returns:
La fecha formateada (e.g., "2 de diciembre de 2025, 14:30").
- Type
- string
formatDateShort(date) → {string}
- Description:
Formatea una fecha a un formato corto (DD/MM/YYYY).
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
date |
string | Date | La fecha a formatear. |
Returns:
La fecha formateada en formato corto.
- Type
- string
(async) getAll() → {Promise.<Array.<object>>}
- Description:
Obtiene todos los contactos de emergencia del usuario autenticado.
- Source:
Returns:
Una lista de los contactos de emergencia.
- Type
- Promise.<Array.<object>>
(async) getAll() → {Promise.<Array.<object>>}
- Description:
Obtiene todas las entradas del diario del usuario autenticado.
- Source:
Returns:
Una lista de las entradas del diario.
- Type
- Promise.<Array.<object>>
(async) getById(id) → {Promise.<object>}
- Description:
Obtiene una entrada del diario por su ID.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
id |
string | El ID de la entrada a obtener. |
Returns:
La entrada del diario solicitada.
- Type
- Promise.<object>
getContactoById(req, res) → {Promise.<void>}
- Description:
Obtiene un contacto de emergencia específico por su ID.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
getContactos(req, res) → {Promise.<void>}
- Description:
Obtiene todos los contactos de emergencia del usuario autenticado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
(static) getDerivedStateFromError(error) → {object}
- Description:
Actualiza el estado para que el siguiente renderizado muestre la UI de fallback.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
error |
Error | El error que fue lanzado. |
Returns:
Un objeto de estado que indica que ha ocurrido un error.
- Type
- object
getIntensidad(aspecto) → {number}
- Description:
Obtiene la intensidad de un aspecto cognitivo seleccionado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
aspecto |
string | El aspecto cognitivo. |
Returns:
La intensidad del aspecto, o 5 por defecto.
- Type
- number
getIntensidad(emocion) → {number}
- Description:
Obtiene la intensidad de una emoción seleccionada.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
emocion |
string | La emoción. |
Returns:
La intensidad de la emoción, o 5 por defecto.
- Type
- number
(async) getMetrics() → {Promise.<string>}
- Description:
Obtener métricas en formato Prometheus
- Source:
Returns:
Métricas formateadas
- Type
- Promise.<string>
getPreviewText() → {string}
- Description:
Devuelve el texto completo o una vista previa del cuerpo de la entrada.
- Source:
Returns:
El texto a mostrar.
- Type
- string
getProfile(req, res) → {Promise.<void>}
- Description:
Obtiene el perfil del usuario autenticado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express, con la información del usuario en |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
getRegistroByFecha(req, res)
- Description:
Obtiene registros de una fecha específica
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Request object |
res |
object | Response object |
getRegistroById(req, res)
- Description:
Obtiene un registro específico por su ID
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Request object |
res |
object | Response object |
getRegistros(req, res)
- Description:
Obtiene todos los registros del usuario autenticado
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Request object |
res |
object | Response object |
getRegistrosByRango(req, res)
- Description:
Obtiene registros en un rango de fechas
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Request object |
res |
object | Response object |
getStepLabel(step) → {string}
- Description:
Obtiene la etiqueta para un paso específico del formulario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
step |
number | El número del paso. |
Returns:
La etiqueta del paso.
- Type
- string
goToNext()
- Description:
Navega a la siguiente diapositiva en el carrusel.
- Source:
goToPrevious()
- Description:
Navega a la diapositiva anterior en el carrusel.
- Source:
handleAddActividad()
- Description:
Añade la nueva actividad a la lista de actividades.
- Source:
handleAddContact(e)
- Description:
Añade un nuevo contacto de emergencia.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
Event | El evento de submit. |
handleCall(number)
- Description:
Inicia una llamada telefónica si el dispositivo es móvil, de lo contrario muestra una alerta.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
number |
string | El número de teléfono a llamar. |
handleCancelAdd()
- Description:
Cancela la adición de un nuevo contacto.
- Source:
handleCancelEditor()
- Description:
Cancela la edición y cierra el editor.
- Source:
handleChange(e)
- Description:
Actualiza el estado del formulario cuando cambian los campos de entrada.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
React.ChangeEvent.<(HTMLInputElement|HTMLTextAreaElement)> | El evento de cambio. |
(async) handleCreateEntry(entryData)
- Description:
Maneja la creación de una nueva entrada del diario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
entryData |
object | Los datos de la nueva entrada. |
(async) handleDeleteEntry(entryId)
- Description:
Maneja la eliminación de una entrada.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
entryId |
string | El ID de la entrada a eliminar. |
handleEditEntry(entry)
- Description:
Prepara el editor para modificar una entrada existente.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
entry |
object | La entrada a editar. |
handleEmocionToggle(emocion)
- Description:
Añade o elimina una emoción de la selección.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
emocion |
string | La emoción a alternar. |
handleImageError(e, articuloId)
- Description:
Maneja errores de carga de imágenes usando una imagen por defecto
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
Event | Evento de error |
articuloId |
number | ID del artículo |
handleInputChange(e)
- Description:
Maneja los cambios en los inputs del formulario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
Event | El evento de cambio. |
handleIntensidadChange(aspecto, intensidad)
- Description:
Cambia la intensidad de un aspecto cognitivo seleccionado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
aspecto |
string | El aspecto cognitivo a modificar. |
intensidad |
number | El nuevo valor de intensidad. |
handleIntensidadChange(emocion, intensidad)
- Description:
Cambia la intensidad de una emoción seleccionada.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
emocion |
string | La emoción a modificar. |
intensidad |
number | El nuevo valor de intensidad. |
handleLogin()
- Description:
Navega a la página de inicio de sesión.
- Source:
(async) handleLogin(e)
- Description:
Envía las credenciales del usuario al backend para la autenticación.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
React.FormEvent.<HTMLFormElement> | El evento de envío del formulario. |
handleLogout()
- Description:
Cierra la sesión del usuario y lo redirige a la página de inicio.
- Source:
handleOverlayClick(e)
- Description:
Cierra el modal si se hace clic en el overlay.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
Event | El evento de clic. |
handleRegister()
- Description:
Navega a la página de registro.
- Source:
(async) handleRegister(e)
- Description:
Valida los datos del formulario y los envía al backend para crear un nuevo usuario.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
React.FormEvent.<HTMLFormElement> | El evento de envío del formulario. |
handleReload()
- Description:
Recarga la página para intentar resolver el error.
- Source:
handleRemoveActividad(index)
- Description:
Elimina una actividad de la lista por su índice.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
index |
number | El índice de la actividad a eliminar. |
handleSendEmail(contactoId, email)
- Description:
Envía un email de emergencia a través del backend.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
contactoId |
string | El ID del contacto de emergencia. |
email |
string | La dirección de correo electrónico del destinatario (para mostrar en mensajes). |
handleSendSms(phone)
- Description:
Inicia el envío de un SMS si el dispositivo es móvil, de lo contrario muestra una alerta.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
phone |
string | El número de teléfono para enviar el SMS. |
handleShareEntry(entry)
- Description:
Abre el modal para compartir una entrada.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
entry |
object | La entrada a compartir. |
handleSubmit(e)
- Description:
Valida y envía los datos del formulario al guardar.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
e |
React.FormEvent.<HTMLFormElement> | El evento de envío del formulario. |
(async) handleSubmit()
- Description:
Envía los datos del formulario de seguimiento al backend.
- Source:
handleToggle(aspecto)
- Description:
Añade o elimina un aspecto cognitivo de la selección.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
aspecto |
string | El aspecto cognitivo a alternar. |
handleToggleExpand()
- Description:
Expande o contrae el cuerpo de la entrada del diario.
- Source:
(async) handleUpdateEntry(entryData)
- Description:
Maneja la actualización de una entrada existente.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
entryData |
object | Los nuevos datos para la entrada. |
healthCheckController(req, res)
- Description:
Controlador que verifica si la API está disponible
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición |
res |
object | Objeto de respuesta |
info(message, optionsopt)
- Description:
Muestra un toast de información.
- Source:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
message |
string | El mensaje a mostrar. |
|
options |
object |
<optional> |
Opciones adicionales para el toast. |
instrumentMongoDB(schema)
- Description:
Instrumentación para MongoDB con Mongoose
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
schema |
Object | Schema de Mongoose |
isMobileDevice() → {boolean}
- Description:
Detecta si el usuario está en un dispositivo móvil.
- Source:
Returns:
- Type
- boolean
isSelected(aspecto) → {boolean}
- Description:
Comprueba si un aspecto cognitivo está seleccionado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
aspecto |
string | El aspecto cognitivo a comprobar. |
Returns:
true si está seleccionado, false en caso contrario.
- Type
- boolean
isSelected(emocion) → {boolean}
- Description:
Comprueba si una emoción está seleccionada.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
emocion |
string | La emoción a comprobar. |
Returns:
true si está seleccionada, false en caso contrario.
- Type
- boolean
loadContacts()
- Description:
Carga los contactos de emergencia desde la API.
- Source:
(async) loadEntries()
- Description:
Carga todas las entradas del diario del usuario desde el servicio.
- Source:
loading(message) → {string}
- Description:
Muestra un toast de carga que puede ser actualizado o descartado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
message |
string | El mensaje a mostrar. |
Returns:
El ID del toast de carga.
- Type
- string
logAuthAttempt(endpoint, result)
- Description:
Registrar intento de autenticación
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
endpoint |
string | Endpoint de autenticación |
result |
string | Resultado ('success' o 'failure') |
loginUser(req, res) → {Promise.<void>}
- Description:
Autentica a un usuario y le proporciona un token JWT.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
metricsMiddleware(req, res, next)
- Description:
Middleware para registrar métricas HTTP
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
Object | Objeto de request de Express |
res |
Object | Objeto de response de Express |
next |
function | Función next de Express |
nextStep()
- Description:
Avanza al siguiente paso del formulario.
- Source:
(async) obtenerArticulos(filtros) → {Promise.<Object>}
- Description:
Obtiene artículos de PubMed API real
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
filtros |
Object | Filtros opcionales |
Returns:
Lista de artículos
- Type
- Promise.<Object>
(async) obtenerArticulosDeMedicalAPIs() → {Promise.<Array>}
- Description:
Obtiene artículos de APIs médicas públicas
- Source:
Returns:
Artículos médicos
- Type
- Promise.<Array>
(async) obtenerArticulosDeNewsAPI(query) → {Promise.<Array>}
- Description:
Obtiene artículos de NewsAPI (requiere API key)
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
query |
string | Término de búsqueda |
Returns:
Artículos de NewsAPI
- Type
- Promise.<Array>
(async) obtenerArticulosDePubMed(query) → {Promise.<Array>}
- Description:
Obtiene artículos de PubMed (API pública)
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
query |
string | Término de búsqueda |
Returns:
Artículos del servidor PubMed
- Type
- Promise.<Array>
obtenerArticulosLocales() → {Array}
- Description:
Obtiene artículos de una base de datos local simulada
- Source:
Returns:
Artículos locales
- Type
- Array
obtenerArticulosPorCategoria(categoria) → {Promise.<Array>}
- Description:
Obtiene artículos de una categoría específica
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
categoria |
string | Categoría a filtrar |
Returns:
Artículos de la categoría
- Type
- Promise.<Array>
obtenerCategorias() → {Array}
- Description:
Obtiene todas las categorías disponibles
- Source:
Returns:
Lista de categorías
- Type
- Array
obtenerEntradaDiarioPorId(req, res) → {Promise.<void>}
- Description:
Si la entrada es pública (con contraseña), se verifica la contraseña.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
obtenerEntradasDiario(req, res) → {Promise.<void>}
- Description:
Obtiene todas las entradas del diario del usuario autenticado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
optionalAuthMiddleware(req, res, next)
- Description:
Si no se proporciona un token o es inválido, simplemente continúa sin un usuario autenticado.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
next |
function | Función para pasar al siguiente middleware. |
pre-save()
- Description:
Se ejecuta solo si la contraseña ha sido modificada o es nueva.
- Source:
prevStep()
- Description:
Retrocede al paso anterior del formulario.
- Source:
procesarArticulosDeNewsAPI(articulos) → {Array}
- Description:
Formatea artículos de NewsAPI a nuestro esquema
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
articulos |
Array | Artículos crudos |
Returns:
Artículos formateados
- Type
- Array
procesarArticulosDePubMed(articulos) → {Array}
- Description:
Formatea artículos de PubMed a nuestro esquema
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
articulos |
Array | Artículos crudos |
Returns:
Artículos formateados
- Type
- Array
promise(promise, messages) → {Promise.<any>}
- Description:
Maneja una promesa y muestra toasts de carga, éxito o error automáticamente.
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
promise |
Promise.<any> | La promesa a manejar. |
||||||||||||||||
messages |
object | Los mensajes para cada estado de la promesa. Properties
|
Returns:
La promesa original.
- Type
- Promise.<any>
registerUser(req, res) → {Promise.<void>}
- Description:
Registra un nuevo usuario en la base de datos.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
render() → {React.ReactNode}
- Description:
Renderiza el componente. Muestra la UI de fallback si hay un error, o los componentes hijos si no lo hay.
- Source:
Returns:
- Type
- React.ReactNode
request-interceptor()
- Description:
Interceptor de peticiones de Axios que añade el token de autenticación a las cabeceras.
- Source:
response-interceptor()
- Description:
Interceptor de respuestas de Axios que maneja errores, especialmente los de autenticación (401).
- Source:
sendEmergencyEmail(req, res) → {Promise.<void>}
- Description:
Envía un email de emergencia a un contacto.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
(async) sendEmergencyEmail(contactoId) → {Promise.<object>}
- Description:
Envía un email de emergencia a un contacto.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
contactoId |
string | ID del contacto de emergencia. |
Returns:
Respuesta del servidor.
- Type
- Promise.<object>
success(message, optionsopt)
- Description:
Muestra un toast de éxito.
- Source:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
message |
string | El mensaje a mostrar. |
|
options |
object |
<optional> |
Opciones adicionales para el toast. |
timeAgo(date) → {string}
- Description:
Calcula y formatea el tiempo transcurrido desde una fecha dada hasta ahora.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
date |
string | Date | La fecha desde la que calcular el tiempo transcurrido. |
Returns:
Una cadena que representa el tiempo transcurrido (e.g., "Hace 2 horas").
- Type
- string
togglePasswordField()
- Description:
Muestra u oculta el campo de la contraseña.
- Source:
(async) update(id, diarioData) → {Promise.<object>}
- Description:
Actualiza una entrada del diario existente.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
id |
string | El ID de la entrada a actualizar. |
diarioData |
object | Los nuevos datos para la entrada. |
Returns:
La entrada actualizada.
- Type
- Promise.<object>
updateContacto(req, res) → {Promise.<void>}
- Description:
Actualiza un contacto de emergencia existente.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
req |
object | Objeto de petición de Express. |
res |
object | Objeto de respuesta de Express. |
Returns:
- Type
- Promise.<void>
useAuthStore() → {object}
- Description:
Hook de Zustand para acceder y manipular el estado de autenticación.
- Source:
Properties:
| Name | Type | Description |
|---|---|---|
user |
object | null | El objeto de usuario si está autenticado, o |
token |
string | El token JWT de autenticación. |
isAuthenticated |
function | Una función computada que devuelve |
setAuth |
function | Acción para guardar los datos del usuario y el token. |
logout |
function | Acción para limpiar los datos de autenticación. |
Returns:
El store de autenticación con el estado y las acciones.
- Type
- object
useToast() → {object}
- Description:
Un hook personalizado que abstrae la librería
react-hot-toastpara un uso simplificado.
- Source:
Properties:
| Name | Type | Description |
|---|---|---|
success |
function | Muestra un toast de éxito. |
error |
function | Muestra un toast de error. |
info |
function | Muestra un toast de información. |
loading |
function | Muestra un toast de carga. |
dismiss |
function | Oculta un toast específico. |
promise |
function | Muestra toasts automáticamente para el ciclo de vida de una promesa. |
Returns:
Un objeto con funciones para mostrar diferentes tipos de toasts.
- Type
- object
validateRequiredEnvVars()
- Description:
Valida que las variables de entorno críticas estén configuradas
- Source:
Type Definitions
Diario
Properties:
| Name | Type | Attributes | Description |
|---|---|---|---|
usuarioId |
mongoose.Schema.Types.ObjectId | ID del usuario propietario de la entrada. |
|
titulo |
string | Título de la entrada del diario. |
|
cuerpo |
string | Contenido de la entrada del diario. |
|
password |
string |
<optional> |
Contraseña opcional para proteger la entrada. |
createdAt |
Date | Fecha de creación de la entrada. |
|
updatedAt |
Date | Fecha de la última actualización de la entrada. |
Type:
- object
Events
SIGINT
- Description:
Maneja el cierre de la aplicación (Ctrl+C) para cerrar la conexión a la base de datos de forma segura.
- Source:
unhandledRejection
- Description:
Maneja promesas rechazadas no capturadas para evitar que el proceso se bloquee.
- Source: