from sqlalchemy.orm import sessionmaker import os import sys BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../")) sys.path.insert(0, BASE_DIR) from models import Database_MySQL from repository.MySQL import Config_Database_MySQL as cf from datetime import timedelta user = Database_MySQL.User token = Database_MySQL.Token chat_history=Database_MySQL.UserChat def getUserIdByAccessToken(token_input: str): engine = cf.get_db_engine() Session = sessionmaker(autocommit=False, autoflush=False, bind=engine) with Session() as session: user_id = session.query(token.user_id).filter(token.access_token == token_input).first() session.close() return user_id def getUserByUserId(user_id:int): engine = cf.get_db_engine() Session = sessionmaker(autocommit=False, autoflush=False, bind=engine) with Session() as session: user_info = session.query(user).filter(user.user_id == user_id,user.is_deleted==False).first() session.close() return user_info def getChatHistory(user_id:int,chat_id:str): engine = cf.get_db_engine() Session = sessionmaker(autocommit=False, autoflush=False, bind=engine) with Session() as session: chat_history_result = session.query(chat_history).filter(chat_history.is_deleted==False,chat_history.user_id==user_id,chat_history.id_mongo_db==chat_id).first() session.close() return chat_history_result