fixed some issues with profile and events

This commit is contained in:
2025-05-29 22:40:59 +02:00
parent 8f24e21d5d
commit 37fcc5f34c
7 changed files with 79 additions and 18 deletions

View File

@@ -4,6 +4,9 @@ from typing import Optional, Dict, Any, List
from datetime import datetime
from flask_login import current_user
from sqlalchemy import desc
import logging
logger = logging.getLogger(__name__)
def log_event(event_type: str, details: Optional[Dict[str, Any]] = None, user_id: Optional[int] = None) -> Event:
"""
@@ -17,21 +20,32 @@ def log_event(event_type: str, details: Optional[Dict[str, Any]] = None, user_id
Returns:
The created Event object
"""
logger.debug(f"Creating event of type: {event_type}")
logger.debug(f"Event details: {details}")
if user_id is None and current_user.is_authenticated:
user_id = current_user.id
logger.debug(f"Using current user ID: {user_id}")
event = Event(
event_type=event_type,
user_id=user_id,
timestamp=datetime.utcnow(),
details=details or {},
ip_address=request.remote_addr if request else None,
user_agent=request.user_agent.string if request and request.user_agent else None
)
db.session.add(event)
db.session.commit()
return event
try:
event = Event(
event_type=event_type,
user_id=user_id,
timestamp=datetime.utcnow(),
details=details or {},
ip_address=request.remote_addr if request else None,
user_agent=request.user_agent.string if request and request.user_agent else None
)
logger.debug(f"Created event object: {event}")
db.session.add(event)
db.session.commit()
logger.debug(f"Event saved to database with ID: {event.id}")
return event
except Exception as e:
logger.error(f"Error creating event: {str(e)}")
db.session.rollback()
raise
def get_user_events(user_id: int, limit: int = 50) -> List[Event]:
"""Get recent events for a specific user"""