hushh-valet-chat / routers /outlook_websockets.py
Omkar008's picture
Update routers/outlook_websockets.py
390d24a verified
raw
history blame
No virus
1.62 kB
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)