Remove timezone from User model and pass as request parameter

Timezone is now sent from the client on each request that needs it,
instead of storing it in the database. This simplifies the model and
allows timezone to be dynamic (useful for traveling users).

Changes:
- Remove timezone field from User entity
- Remove timezone from user registration
- GET /habits/today now requires ?timezone= query param
- Add migration to drop timezone column from database
- Update related tests
This commit is contained in:
2025-11-29 16:18:04 +01:00
parent a2aa8b2a76
commit 5d92820591
21 changed files with 75 additions and 153 deletions
+3 -1
View File
@@ -46,7 +46,9 @@
"invalid_token_or_password": "Invalid or expired token, or password requirements not met",
"failed_reset_password": "Failed to reset password",
"failed_delete_user": "Failed to delete user",
"failed_get_stats": "Failed to get statistics"
"failed_get_stats": "Failed to get statistics",
"timezone_required": "Timezone is required",
"invalid_timezone": "Invalid timezone (must be a valid IANA timezone)"
},
"success": {
"registration_with_verification": "Registration successful. Please check your email to verify your account.",
+3 -1
View File
@@ -46,7 +46,9 @@
"invalid_token_or_password": "Token inválido o expirado, o no se cumplen los requisitos de contraseña",
"failed_reset_password": "Error al restablecer contraseña",
"failed_delete_user": "Error al eliminar usuario",
"failed_get_stats": "Error al obtener estadísticas"
"failed_get_stats": "Error al obtener estadísticas",
"timezone_required": "La zona horaria es requerida",
"invalid_timezone": "Zona horaria inválida (debe ser una zona horaria IANA válida)"
},
"success": {
"registration_with_verification": "Registro exitoso. Por favor revisa tu correo electrónico para verificar tu cuenta.",