pychatbot / repository /UserInfoRepository.py
kltn20133118's picture
Upload 203 files
f7b9e98 verified
raw
history blame
5.05 kB
from sqlalchemy.orm import sessionmaker
from entity import Database_Entity
from repository import ConfigDatabase as cf
user_info = Database_Entity.UserInfo
users = Database_Entity.User
from sqlalchemy.orm import sessionmaker
import sys
import os
def getUserInfo(user_id: int) -> user_info:
try:
email = session.query(users.email).filter(users.id == user_id).one_or_none()
if email:
email = email[0]
user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
if user_record:
session.close()
return user_record
else:
session.close()
return None
except:
engine = cf.get_db_engine1()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
email = session.query(users.email).filter(users.id == user_id).one_or_none()
if email:
email = email[0]
user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
if user_record:
session.close()
return user_record
else:
session.close()
return None
def getUserInfoByEmail(email:str) -> user_info:
try:
engine = cf.get_db_engine()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
if user_record:
session.close()
return user_record
else:
session.close()
return None
except:
engine = cf.get_db_engine1()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
if user_record:
session.close()
return user_record
else:
session.close()
return None
def addUserInfo(uid: str, email: str, display_name: str, photo_url: str) -> None:
try:
engine = cf.get_db_engine()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
new_user = user_info(
uid = uid,
email = email,
display_name = display_name,
photo_url = photo_url
)
session.add(new_user)
session.commit()
session.close()
except:
engine = cf.get_db_engine1()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
new_user = user_info(
uid = uid,
email = email,
display_name = display_name,
photo_url = photo_url
)
session.add(new_user)
session.commit()
session.close()
def updateUserInfo(user_id, uid: str, email: str, display_name: str, photo_url: str) -> None:
try:
engine = cf.get_db_engine()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
email = session.query(users.email).filter(users.id == user_id).one_or_none()
user_update= session.query(user_info).filter(user_info.email == email).one_or_none()
if user_update is not None:
user_update.uid = uid,
user_update.display_name = display_name,
user_update.photo_url = photo_url
session.commit()
session.close()
except:
engine = cf.get_db_engine1()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
email = session.query(users.email).filter(users.id == user_id).one_or_none()
user_update= session.query(user_info).filter(user_info.email == email).one_or_none()
if user_update is not None:
user_update.uid = uid,
user_update.display_name = display_name,
user_update.photo_url = photo_url
session.commit()
session.close()
def updateImage(user_id, photo_url: str) -> None:
try:
engine = cf.get_db_engine()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
email = session.query(users.email).filter(users.id == user_id).one_or_none()
user_update= session.query(user_info).filter(user_info.email == email).one_or_none()
if user_update is not None:
user_update.photo_url = photo_url
session.commit()
session.close()
except:
engine = cf.get_db_engine1()
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
with Session() as session:
email = session.query(users.email).filter(users.id == user_id).one_or_none()
user_update = session.query(user_info).filter(user_info.email == email).one_or_none()
if user_update is not None:
user_update.photo_url = photo_url
session.commit()
session.close()