Skip to content

Ingesta de Agua

Endpoints para registrar y seguir el consumo de agua.

El siguiente modelo de Prisma pertenece al schema nutrition:

model WaterIntake {
id String @id @default(cuid())
userProfileId String @map("user_profile_id")
logDate DateTime @map("log_date")
amount Float
userProfile UserProfile @relation(fields: [userProfileId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now()) @map("created_at")
@@index([userProfileId, logDate])
@@map("water_intake")
@@schema("nutrition")
}

Registrar consumo de agua.

  • URL: /api/v1/nutrition/water-intake
  • Método: POST
  • Autenticación Requerida:

Este endpoint registra consumo de agua:

  1. Crea WaterIntake con:
    • userProfileId del usuario autenticado
    • amount: Cantidad de agua
    • unit: Unidad (ml, oz, etc.)
    • logDate: Fecha y hora
{
"amount": 250,
"unit": "ml",
"date": "2023-10-27T10:00:00Z"
}
import { hcWithType } from '@vitality-gym/api/client'
const client = hcWithType('http://localhost:3000')
const res = await client.api.v1.nutrition['water-intake'].$post({
json: {
amount: 250,
unit: 'ml',
date: '2023-10-27T10:00:00Z'
}
})

Obtener ingesta de agua para un día específico.

  • URL: /api/v1/nutrition/water-intake/daily
  • Método: GET
  • Autenticación Requerida:

Este endpoint obtiene el consumo de agua diario:

  1. Calcula rango del día (00:00:00 a 23:59:59)
  2. Obtiene todos los registros del día
  3. Calcula total sumando cantidades
  4. Retorna lista de registros y total
  • date: Fecha a verificar (YYYY-MM-DD)
{
"data": {
"intakes": [...],
"totalAmount": 2000
}
}

Obtener historial de ingesta de agua para un rango de fechas.

  • URL: /api/v1/nutrition/water-intake
  • Método: GET
  • Autenticación Requerida:
  • startDate: Fecha de inicio (YYYY-MM-DD)
  • endDate: Fecha de fin (YYYY-MM-DD)
  • page: Número de página
  • limit: Resultados por página

Eliminar un registro de ingesta de agua.

  • URL: /api/v1/nutrition/water-intake/:id
  • Método: DELETE
  • Autenticación Requerida: