File size: 1,260 Bytes
afd0ae6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a77cb59
 
 
 
afd0ae6
 
 
 
 
 
 
 
 
 
 
980428a
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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