diet - v1.0.0
    Preparing search index...
    Index

    Constructors

    • Crea una instancia del servicio de dietas. Internamente selecciona el modelo de persistencia adecuado mediante ModelFactory.

      Parameters

      • persistencia: "MEM" | "FILE" | "MONGO"

        Modo de almacenamiento deseado.

      Returns default

    Properties

    persistencia: DietaFile | DietaMem | DietaMongo

    El modelo real que maneja la persistencia. Este objeto implementa la interfaz IDiet (guardar, obtenerTodos, etc.).

    Methods

    • Agrega una nueva dieta. Si la dieta tiene el campo userId, se asociará con ese usuario.

      Parameters

      • dieta: any

        Objeto completo con los datos iniciales de la dieta.

      Returns Promise<any>

      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.

      Parameters

      • id: string

        ID de la dieta.

      • dia: string

        Día al que se agregará la comida (ej: 'Miércoles').

      • comida: { calorias: number; nombre: string; tipo: string }

        Datos de la comida.

      Returns Promise<any>

      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.

      Parameters

      • id: string

        ID de la dieta.

      • diaData: { comidas?: any[]; dia: string }

        Objeto día con nombre y opcionalmente comidas.

      Returns Promise<any>

      Dieta actualizada.

      📌 Ejemplo:

      await service.agregarDia("dieta123", { dia: "Lunes", comidas: [] });
      
    • Elimina una dieta por su ID.

      Parameters

      • id: string

        ID de la dieta a eliminar.

      Returns Promise<boolean>

      true si se eliminó, false si no se encontró.

    • Elimina una comida de un día específico del menú semanal.

      Parameters

      • id: string

        ID de la dieta.

      • dia: string

        Día del que se quiere eliminar la comida.

      • nombreComida: string

        Nombre exacto de la comida a eliminar.

      Returns Promise<any>

      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.

      Returns Promise<any[]>

      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.

      Parameters

      • userId: string

        ID del usuario (como viene del token de Passport).

      Returns Promise<any[]>

      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.).

      Parameters

      • id: string

        ID de la dieta.

      • nuevosDatos: any

        Datos a modificar.

      Returns Promise<any>

      Dieta modificada o null.

    • Obtiene una dieta específica por su identificador.

      Parameters

      • id: string

        ID de la dieta (Mongo ObjectId o número).

      Returns Promise<any>

      Dieta encontrada o null.