feat: Emit credits required event via SocketIO when user lacks sufficient credits

This commit is contained in:
JSC
2025-07-13 01:46:23 +02:00
parent 64074685a3
commit b17e0db2b0
2 changed files with 86 additions and 16 deletions

View File

@@ -172,6 +172,22 @@ def require_credits(credits_needed: int):
# Check if user has enough credits
if user.credits < credits_needed:
# Emit credits required event via SocketIO
try:
from app.services.socketio_service import socketio_service
socketio_service.emit_credits_required(
user.id, credits_needed
)
except Exception as e:
# Don't fail the request if SocketIO emission fails
import logging
logger = logging.getLogger(__name__)
logger.warning(
f"Failed to emit credits_required event: {e}"
)
return (
jsonify(
{