Ingesta de Agua
Endpoints para registrar y seguir el consumo de agua.
Modelos de Datos
Section titled “Modelos de Datos”El siguiente modelo de Prisma pertenece al schema nutrition:
WaterIntake
Section titled “WaterIntake”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")}Endpoints
Section titled “Endpoints”Registrar Ingesta de Agua
Section titled “Registrar Ingesta de Agua”Registrar consumo de agua.
- URL:
/api/v1/nutrition/water-intake - Método:
POST - Autenticación Requerida: Sí
Descripción Interna
Section titled “Descripción Interna”Este endpoint registra consumo de agua:
- Crea WaterIntake con:
- userProfileId del usuario autenticado
- amount: Cantidad de agua
- unit: Unidad (ml, oz, etc.)
- logDate: Fecha y hora
Cuerpo de Solicitud
Section titled “Cuerpo de Solicitud”{ "amount": 250, "unit": "ml", "date": "2023-10-27T10:00:00Z"}Ejemplo de Cliente Hono
Section titled “Ejemplo de Cliente Hono”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 Diaria
Section titled “Obtener Ingesta de Agua Diaria”Obtener ingesta de agua para un día específico.
- URL:
/api/v1/nutrition/water-intake/daily - Método:
GET - Autenticación Requerida: Sí
Descripción Interna
Section titled “Descripción Interna”Este endpoint obtiene el consumo de agua diario:
- Calcula rango del día (00:00:00 a 23:59:59)
- Obtiene todos los registros del día
- Calcula total sumando cantidades
- Retorna lista de registros y total
Parámetros de Consulta de Solicitud
Section titled “Parámetros de Consulta de Solicitud”date: Fecha a verificar (YYYY-MM-DD)
Respuesta
Section titled “Respuesta”{ "data": { "intakes": [...], "totalAmount": 2000 }}Obtener Historial de Ingesta de Agua
Section titled “Obtener Historial de Ingesta de Agua”Obtener historial de ingesta de agua para un rango de fechas.
- URL:
/api/v1/nutrition/water-intake - Método:
GET - Autenticación Requerida: Sí
Parámetros de Consulta de Solicitud
Section titled “Parámetros de Consulta de Solicitud”startDate: Fecha de inicio (YYYY-MM-DD)endDate: Fecha de fin (YYYY-MM-DD)page: Número de páginalimit: Resultados por página
Eliminar Ingesta de Agua
Section titled “Eliminar Ingesta de Agua”Eliminar un registro de ingesta de agua.
- URL:
/api/v1/nutrition/water-intake/:id - Método:
DELETE - Autenticación Requerida: Sí