refactor: timestamp compatible with Firestore #30
Reference in New Issue
Block a user
Delete Branch "refactor/timestamp-to-date"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Resumen
Se estandariza el manejo de timestamps de Firestore usando
datetimeen UTC para que los cálculos de sesiones sean consistentes y auditables.Cambios principales
🧭 Se crea
_timestamp_to_floatpara normalizar valores numéricos oTimestampal mismo tipo base.🕘
last_update_timese guarda comodatetime.now(UTC)y se serializa a epoch solo al exponer la sesión.📦 Los eventos ahora escriben
last_update_timecomo datetime UTC, evitando drift cuando Firestore hace conversiones.🔍 Logs de conversión capturan excepciones específicas (TypeError/ValueError/OSError/OverflowError) con contexto.
Detalles técnicos
time.time; usadatetime+UTCydatetime.fromtimestamp._timestamp_to_floatgarantiza defaults seguros y oculta formatos inesperados sin romper la sesión.last_update_timecomo float.Checks
uv run ruff checkuv run ty check