Code reviewed and issue fixed.

This commit is contained in:
2026-03-27 14:01:11 -04:00
parent d8828d487a
commit 359c801027
10 changed files with 788 additions and 113 deletions
+6 -1
View File
@@ -3,7 +3,7 @@ import logging
import requests
from flask import Blueprint, request, jsonify, current_app
from flask_login import login_required, current_user
from app import db
from app import db, limiter
from app.models import Ticket, TicketStatus, TicketPriority, TicketCategory
from app.services.notification_service import notify_new_ticket
from app.services.log_service import log_action
@@ -79,6 +79,7 @@ def _call_groq(api_key, history, user_msg):
@chatbot_bp.route('/message', methods=['POST'])
@login_required
@limiter.limit('20 per minute; 100 per hour')
def chat():
data = request.get_json(force=True)
history = data.get('history', []) # [{role, content}, ...]
@@ -146,6 +147,10 @@ def chat():
)
ticket.ticket_number = ticket.generate_ticket_number()
db.session.add(ticket)
# Flush to obtain ticket.id from the DB sequence before logging.
# Without this flush, ticket.id is None and the activity log
# entry records entity_id=None, making the log entry unlinkable.
db.session.flush()
log_action(current_user.id, 'ticket_create_chatbot', 'ticket', ticket.id,
f'ticket_number={ticket.ticket_number} ai_generated=True')
db.session.commit()