Modo de almacenamiento deseado.
El modelo real que maneja la persistencia. Este objeto implementa la interfaz IDiet (guardar, obtenerTodos, etc.).
Agrega una nueva dieta.
Si la dieta tiene el campo userId
, se asociará con ese usuario.
Objeto completo con los datos iniciales de la dieta.
La dieta guardada (con _id
generado).
📌 Ejemplo:
await service.agregar({ nombre: "Vegana", fechaInicio: "2025-01-01", userId: "abc123" });
Agrega una comida a un día específico en el menuSemanal
.
ID de la dieta.
Día al que se agregará la comida (ej: 'Miércoles').
Datos de la comida.
Dieta actualizada.
📌 Ejemplo:
await service.agregarComidaADia("dieta123", "Martes", { nombre: "Arroz integral", calorias: 300, tipo: "almuerzo" });
Agrega un nuevo día al campo menuSemanal
de una dieta.
ID de la dieta.
Objeto día con nombre y opcionalmente comidas.
Dieta actualizada.
📌 Ejemplo:
await service.agregarDia("dieta123", { dia: "Lunes", comidas: [] });
Elimina una dieta por su ID.
ID de la dieta a eliminar.
true
si se eliminó, false
si no se encontró.
Elimina una comida de un día específico del menú semanal.
ID de la dieta.
Día del que se quiere eliminar la comida.
Nombre exacto de la comida a eliminar.
Dieta actualizada.
📌 Ejemplo:
await service.eliminarComidaDeDia("dieta123", "Lunes", "Sopa de verduras");
Devuelve todas las dietas disponibles (públicas o generales). ⚠️ Esta función no filtra por usuario.
Arreglo de dietas.
📌 Ejemplo:
const dietas = await service.listar();
Lista todas las dietas asociadas a un usuario específico. Este método es útil cuando el frontend tiene autenticación con Passport.
ID del usuario (como viene del token de Passport).
Arreglo de dietas propias del usuario.
📌 Ejemplo:
const mias = await service.listarPorUsuario("abc123");
Modifica parcialmente una dieta. Los campos aceptados dependen del modelo (nombre, fechas, userId, etc.).
ID de la dieta.
Datos a modificar.
Dieta modificada o null
.
Obtiene una dieta específica por su identificador.
ID de la dieta (Mongo ObjectId o número).
Dieta encontrada o null
.
Crea una instancia del servicio de dietas. Internamente selecciona el modelo de persistencia adecuado mediante
ModelFactory
.