from flask import Blueprint, request, jsonify from api.services.chat_service import ChatService from flask_jwt_extended import jwt_required, get_jwt_identity from api.models.user import User chat_bp = Blueprint('chat', __name__, url_prefix='/api/chat') @chat_bp.route('/message', methods=['POST']) @jwt_required() def send_message(): user_id = get_jwt_identity() data = request.get_json() message = data.get('message') if not message: return jsonify({'status': False, 'message': 'Message is required'}), 400 # Get user risk level user = User.query.get(user_id) if not user: return jsonify({'status': False, 'message': 'User not found'}), 401 risk_level = user.risk_level result = ChatService.process_message(user_id, message, risk_level) if result['status']: return jsonify(result), 200 return jsonify(result), 500 @chat_bp.route('/history', methods=['GET']) @jwt_required() def get_history(): user_id = get_jwt_identity() history = ChatService.get_history(user_id) return jsonify(history), 200 @chat_bp.route('/status', methods=['GET']) @jwt_required() def get_status(): status = ChatService.get_system_status() return jsonify(status), 200