Skip to content

Actividades Diarias

Endpoints para registrar y gestionar actividades diarias del usuario.

model DailyActivity {
id String @id @default(cuid())
userProfileId String @map("user_profile_id")
goalId String? @map("goal_id")
status ActivityStatus @default(PENDING)
activityDate DateTime @map("activity_date")
valueAchieved Float? @map("value_achieved")
notes String?
wasFrozen Boolean @default(false) @map("was_frozen")
userProfile UserProfile @relation(fields: [userProfileId], references: [id], onDelete: Cascade)
goal Goal? @relation(fields: [goalId], references: [id], onDelete: SetNull)
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
@@unique([userProfileId, goalId, activityDate])
@@index([userProfileId, activityDate])
@@schema("gamification")
}
enum ActivityStatus {
PENDING
COMPLETED
FAILED
SKIPPED
FROZEN
@@schema("gamification")
}

Obtener actividades diarias con filtrado.

  • URL: /api/v1/gamification/activities
  • Método: GET
  • Autenticación Requerida:
  • goalId: Filtrar por objetivo.
  • status: Filtrar por estado.
  • dateFrom: Fecha de inicio.
  • dateTo: Fecha de fin.
  • userProfileId: Filtrar por usuario Admin Staff
{
"data": [
{
"id": "...",
"status": "COMPLETED",
"activityDate": "2023-10-27T00:00:00Z",
"valueAchieved": 5,
"goal": {
"id": "...",
"title": "Daily Steps"
}
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 50,
"totalPages": 5
}
}

Obtener las actividades del usuario autenticado.

  • URL: /api/v1/gamification/activities/me
  • Método: GET
  • Autenticación Requerida:

Obtener detalles de una actividad específica.

  • URL: /api/v1/gamification/activities/:id
  • Método: GET
  • Autenticación Requerida:

Registrar una nueva actividad diaria.

  • URL: /api/v1/gamification/activities
  • Método: POST
  • Autenticación Requerida:
{
"goalId": "goal_id_uuid",
"activityDate": "2023-10-27T10:00:00Z",
"valueAchieved": 5,
"notes": "Completado con éxito",
"wasFrozen": false
}

Actualizar una actividad existente.

  • URL: /api/v1/gamification/activities/:id
  • Método: PATCH
  • Autenticación Requerida: Sí (Propietario)
{
"status": "COMPLETED",
"valueAchieved": 10
}

Eliminar una actividad.

  • URL: /api/v1/gamification/activities/:id
  • Método: DELETE
  • Autenticación Requerida: Sí (Propietario)