fixed some issues with profile and events
This commit is contained in:
@@ -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"""
|
||||
|
||||
Reference in New Issue
Block a user