File size: 1,617 Bytes
f5eb18d
 
36bcda9
f5eb18d
 
 
 
 
72b5595
f5eb18d
 
 
 
390d24a
 
f5eb18d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
42
43
44
45
46
47
from fastapi import APIRouter , Request ,HTTPException , WebSocket
from controllers import websocket_controller as wc
from controllers import fetch_microsoft_mails as w
from controllers import ner_ai_controller as ai
from services.chat_client_NER import ChatClient
import logging
import aiohttp

router = APIRouter(prefix="/outlook/websockets")

@router.websocket("/ws")
async def get_data(websocket:WebSocket):
    await websocket.accept()
    logging.info("Router Websocket")
    print("Router Websocket")
    try:
        json = await websocket.receive_json()
    except Exception as e:
        logging.info(f"Error {e}")
        print(f"Error {e}")
        await websocket.send_text(f"There is some error !!! {e}")
        return 
        
    access_token = json['access_token']
    logging.info(f"access_token:{access_token}")
    user_query = json['brand_name'] if json.get('brand_name') is not None else None
    logging.info(f"brand_name: {user_query}")
    if access_token is None:
        await websocket.send_text("Access Token Invalid OR NULL !!!")
        websocket.close()
    # access_token = await websocket.receive_text()
    brand_name = ""
    logging.info(f"brand_name: f{user_query}")
    logging.info(f"access_token : {access_token}")
    if user_query is not None:
        chat = ChatClient().create(conversation=[])
        response = chat.send_message(content=f"{user_query}", stream=False)
        if response.text == 'others':
            brand_name = None
        else:
            brand_name = response.text
    

        
    await w.websocket_main(access_token ,websocket,brand_name)