telemetría: tiempo por pantalla (columna seconds) + Aprende/subsecciones

telemetry_daily gana columna `seconds` (migración idempotente ALTER ADD COLUMN
IF NOT EXISTS para el Postgres ya desplegado; create_all para SQLite fresco). El
POST acepta seconds_by_module y lo agrega por clave (tope 86400/clave/envío); el
summary suma y devuelve seconds por módulo/vista. Las claves ya eran genéricas,
así que Aprende ('aprende', 'aprende:<tema>') y las vistas ('today', '__other__')
entran sin cambios de esquema. Tests actualizados.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Carlos Narro
2026-07-04 00:01:46 +02:00
parent 3092e19b73
commit d9f3e91aa8
3 changed files with 46 additions and 10 deletions

View File

@@ -81,6 +81,7 @@ class TelemetryDaily(Base):
__tablename__ = "telemetry_daily"
day = Column(String, primary_key=True) # 'YYYY-MM-DD'
module = Column(String, primary_key=True) # nombre del módulo o '__submissions__'
module = Column(String, primary_key=True) # nombre del módulo/vista o '__submissions__'
active = Column(Integer, default=0)
opens = Column(Integer, default=0)
seconds = Column(Integer, default=0) # tiempo en pantalla acumulado