package models import ( "time" "github.com/google/uuid" ) type Progreso struct { ID uuid.UUID `json:"id"` UsuarioID uuid.UUID `json:"usuario_id"` ModuloNumero int `json:"modulo_numero"` EjercicioID string `json:"ejercicio_id"` Completado bool `json:"completado"` Puntuacion int `json:"puntuacion"` Intentos int `json:"intentos"` UltimaVez time.Time `json:"ultima_vez"` } type Badge struct { ID string `json:"id"` Nombre string `json:"nombre"` Descripcion string `json:"descripcion"` Icono string `json:"icono"` Desbloqueado bool `json:"desbloqueado"` } type ResumenProgreso struct { PuntosTotales int `json:"puntos_totales"` EjerciciosCompletados int `json:"ejercicios_completados"` TotalEjercicios int `json:"total_ejercicios"` TotalPuntuacion int `json:"totalPuntuacion"` Badges []Badge `json:"badges"` Nivel string `json:"nivel"` } type ProgresoUpdate struct { Completado bool `json:"completado"` Puntuacion int `json:"puntuacion"` RespuestaJSON string `json:"respuesta_json,omitempty"` } type ProgresoResumen struct { TotalEjercicios int `json:"total_ejercicios"` EjerciciosCompletados int `json:"ejercicios_completados"` PromedioPuntuacion int `json:"promedio_puntuacion"` ModulosCompletados int `json:"modulos_completados"` }