kltn20133118 commited on
Commit
df96763
·
verified ·
1 Parent(s): 54fe49a

Upload 7 files

Browse files
repository/ChatHistoryRepository.py ADDED
@@ -0,0 +1,236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sqlalchemy.orm import sessionmaker
2
+ import sys
3
+ import os
4
+ app_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
5
+ sys.path.insert(0, app_path)
6
+ from models import Database_Entity
7
+ from repository import ConfigDatabase as cf
8
+ chat_history = Database_Entity.ChatHistory
9
+ users = Database_Entity.User
10
+ detail_chat = Database_Entity.DetailChat
11
+ from sqlalchemy.orm import sessionmaker
12
+ import sys
13
+ import os
14
+
15
+ def getIdChatHistoryByUserIdAndNameChat(user_id:int,name_old :str) -> chat_history.id:
16
+ try:
17
+ engine = cf.get_db_engine()
18
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
19
+ with Session() as session:
20
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
21
+ chat_id = session.query(chat_history.id).filter(chat_history.email == email, chat_history.name_chat == name_old).scalar()
22
+ session.commit()
23
+ if chat_id:
24
+ session.close()
25
+ return chat_id
26
+ else:
27
+ session.close()
28
+ return None
29
+ except:
30
+ engine = cf.get_db_engine1()
31
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
32
+ with Session() as session:
33
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
34
+ chat_id = session.query(chat_history.id).filter(chat_history.email == email, chat_history.name_chat == name_old).scalar()
35
+ session.commit()
36
+ if chat_id:
37
+ session.close()
38
+ return chat_id
39
+ else:
40
+ session.close()
41
+ return None
42
+
43
+ def getIdChatHistoryByUserIdAndNameChatNew(user_id:int,name_old :str) -> chat_history.id:
44
+ try:
45
+ engine = cf.get_db_engine()
46
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
47
+ with Session() as session:
48
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
49
+ chat_id = session.query(chat_history.id).filter(chat_history.email == email, chat_history.name_chat == name_old).scalar()
50
+ session.commit()
51
+ if chat_id:
52
+ session.close()
53
+ return chat_id
54
+ else:
55
+ session.close()
56
+ return None
57
+ except:
58
+ engine = cf.get_db_engine1()
59
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
60
+ with Session() as session:
61
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
62
+ chat_id = session.query(chat_history.id).filter(chat_history.email == email,
63
+ chat_history.name_chat == name_old).scalar()
64
+ session.commit()
65
+ if chat_id:
66
+ session.close()
67
+ return chat_id
68
+ else:
69
+ session.close()
70
+ return None
71
+
72
+ def updateNameChatHistory(user_id: int,name_old :str,name_new:str) -> bool:
73
+ try:
74
+ engine = cf.get_db_engine1()
75
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
76
+ with Session() as session:
77
+ try:
78
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
79
+ session.query(chat_history).filter(chat_history.email == email,chat_history.name_chat == name_old).update({chat_history.name_chat: name_new})
80
+ session.commit()
81
+ session.close()
82
+ return True
83
+ except:
84
+ session.rollback()
85
+ session.close()
86
+ return False
87
+ except:
88
+ engine = cf.get_db_engine()
89
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
90
+ with Session() as session:
91
+ try:
92
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
93
+ session.query(chat_history).filter(chat_history.email == email,chat_history.name_chat == name_old).update({chat_history.name_chat: name_new})
94
+ session.commit()
95
+ session.close()
96
+ return True
97
+ except:
98
+ session.rollback()
99
+ session.close()
100
+ return False
101
+
102
+ def deleteChatHistory(user_id,chat_name: str) -> bool:
103
+ try:
104
+ try:
105
+ engine = cf.get_db_engine1()
106
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
107
+ with Session() as session:
108
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
109
+ session.query(chat_history).filter(chat_history.email == email, chat_history.name_chat == chat_name).delete()
110
+ session.commit()
111
+ session.close()
112
+ return True
113
+ except Exception as e:
114
+ session.rollback()
115
+ session.close()
116
+ return False
117
+ except:
118
+ try:
119
+ engine = cf.get_db_engine()
120
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
121
+ with Session() as session:
122
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
123
+ session.query(chat_history).filter(chat_history.email == email, chat_history.name_chat == chat_name).delete()
124
+ session.commit()
125
+ session.close()
126
+ return True
127
+ except Exception as e:
128
+ session.rollback()
129
+ session.close()
130
+ return False
131
+
132
+
133
+ def getChatHistoryByEmail(email: str) -> chat_history:
134
+ try:
135
+ engine = cf.get_db_engine1()
136
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
137
+ with Session() as session:
138
+ chat_history1 = session.query(chat_history).filter(chat_history.email == email)
139
+ if chat_history1:
140
+ session.commit()
141
+ session.close()
142
+ return chat_history1
143
+ session.close()
144
+ return None
145
+ except:
146
+ engine = cf.get_db_engine()
147
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
148
+ with Session() as session:
149
+ chat_history1 = session.query(chat_history).filter(chat_history.email == email)
150
+ if chat_history1:
151
+ session.commit()
152
+ session.close()
153
+ return chat_history1
154
+ session.close()
155
+ return None
156
+
157
+
158
+
159
+ def getChatHistoryByChatIdAndUserId(chat_id: int, user_id: int) -> chat_history:
160
+ try:
161
+ engine = cf.get_db_engine()
162
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
163
+ with Session() as session:
164
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
165
+ chat_history1 = session.query(chat_history).filter(chat_history.id == chat_id,chat_history.email == email).one_or_none()
166
+ if chat_history1:
167
+ session.commit()
168
+ session.close()
169
+ return True
170
+ session.close()
171
+ return None
172
+ except:
173
+ engine = cf.get_db_engine1()
174
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
175
+ with Session() as session:
176
+ email = session.query(users.email).filter(users.id == id).one_or_none()[0]
177
+ chat_history1 = session.query(chat_history).filter(chat_history.email == email)
178
+ if chat_history1:
179
+ session.commit()
180
+ session.close()
181
+ return True
182
+ session.close()
183
+ return None
184
+
185
+
186
+ def getChatHistoryById(id: int) -> chat_history:
187
+ try:
188
+ engine = cf.get_db_engine()
189
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
190
+ with Session() as session:
191
+ email = session.query(users.email).filter(users.id == id).one_or_none()[0]
192
+ chat_history1 = session.query(chat_history).filter(chat_history.email == email)
193
+ if chat_history1:
194
+ session.commit()
195
+ session.close()
196
+ return chat_history1
197
+ session.close()
198
+ return None
199
+ except:
200
+ engine = cf.get_db_engine1()
201
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
202
+ with Session() as session:
203
+ email = session.query(users.email).filter(users.id == id).one_or_none()[0]
204
+ chat_history1 = session.query(chat_history).filter(chat_history.email == email)
205
+ if chat_history1:
206
+ session.commit()
207
+ session.close()
208
+ return chat_history1
209
+ session.close()
210
+ return None
211
+
212
+ def addChatHistory(user_id: str, name_chat:str)->None:
213
+ try:
214
+ engine = cf.get_db_engine()
215
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
216
+ with Session() as session:
217
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
218
+ new_user = chat_history(
219
+ email = email,
220
+ name_chat = name_chat
221
+ )
222
+ session.add(new_user)
223
+ session.commit()
224
+ session.close()
225
+ except:
226
+ engine = cf.get_db_engine1()
227
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
228
+ with Session() as session:
229
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()[0]
230
+ new_user = chat_history(
231
+ email = email,
232
+ name_chat = name_chat
233
+ )
234
+ session.add(new_user)
235
+ session.commit()
236
+ session.close()
repository/ConfigDatabase.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sqlalchemy import create_engine, URL
2
+ from sqlalchemy.orm import DeclarativeBase
3
+ Base = DeclarativeBase()
4
+ from sqlalchemy.engine import create_engine, URL
5
+ from dotenv import load_dotenv
6
+ import os
7
+ load_dotenv()
8
+ MYSQL_USER_NAME=os.getenv('MYSQL_USER_NAME')
9
+ MYSQL_PASSWORD=os.getenv('MYSQL_PASSWOR')
10
+ MYSQL_PORT=os.getenv('MYSQL_PORT')
11
+ MYSQL_DATABASE=os.getenv('MYSQL_DATABASE')
12
+ MYSQL_HOST=os.getenv('MYSQL_HOST')
13
+ #IF USE DOCKER HOST = host.docker.internal
14
+ def get_db_engine():
15
+ dsn = URL.create(
16
+ drivername="mysql+pymysql",
17
+ username=MYSQL_USER_NAME,
18
+ password=MYSQL_PASSWORD,
19
+ host=MYSQL_HOST,
20
+ port=MYSQL_PORT,
21
+ database=MYSQL_DATABASE
22
+ )
23
+ connect_args = {}
24
+ return create_engine(
25
+ dsn,
26
+ connect_args=connect_args,
27
+ )
28
+
29
+ def get_db_engine1():
30
+ dsn = URL.create(
31
+ drivername="mysql+pymysql",
32
+ username=MYSQL_USER_NAME,
33
+ password=MYSQL_PASSWORD,
34
+ host=MYSQL_HOST,
35
+ port=MYSQL_PORT,
36
+ database=MYSQL_DATABASE
37
+ )
38
+ connect_args = {}
39
+ return create_engine(
40
+ dsn,
41
+ connect_args=connect_args,
42
+ )
repository/DetailChatRepository.py ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sqlalchemy.orm import sessionmaker
2
+ from models import Database_Entity
3
+ from repository import ConfigDatabase as cf
4
+ detail_chat = Database_Entity.DetailChat
5
+ chat_history = Database_Entity.ChatHistory
6
+
7
+ def getListDetailChatByChatId(chat_id: int) -> detail_chat:
8
+ try:
9
+ engine = cf.get_db_engine1()
10
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
11
+ with Session() as session:
12
+ chat_record= session.query(detail_chat).filter(detail_chat.chat_id == chat_id)
13
+ session.commit()
14
+ if chat_record:
15
+ session.close()
16
+ return chat_record
17
+ else:
18
+ session.close()
19
+ return None
20
+ except:
21
+ engine = cf.get_db_engine()
22
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
23
+ with Session() as session:
24
+ chat_record= session.query(detail_chat).filter(detail_chat.chat_id == chat_id)
25
+ session.commit()
26
+ if chat_record:
27
+ session.close()
28
+ return chat_record
29
+ else:
30
+ session.close()
31
+ return None
32
+
33
+ def addDetailChat(chat_id: int, YouMessage: str, AiMessage: str, data_relevant: str, source_file: str) -> None:
34
+ try:
35
+ engine = cf.get_db_engine()
36
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
37
+ with Session() as session:
38
+ new_user = detail_chat(
39
+ chat_id = chat_id,
40
+ YouMessage = YouMessage,
41
+ AiMessage = AiMessage,
42
+ data_relevant = data_relevant,
43
+ source_file = source_file
44
+ )
45
+ session.add(new_user)
46
+ session.commit()
47
+ return new_user.id
48
+ session.close()
49
+ except:
50
+ engine = cf.get_db_engine1()
51
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
52
+ with Session() as session:
53
+ new_user = detail_chat(
54
+ chat_id=chat_id,
55
+ YouMessage=YouMessage,
56
+ AiMessage=AiMessage,
57
+ data_relevant=data_relevant,
58
+ source_file=source_file
59
+ )
60
+ session.add(new_user)
61
+ session.commit()
62
+ return new_user.id
63
+ session.close()
64
+
65
+ def getDetailChatByChatId(id: int) -> detail_chat:
66
+ try:
67
+ engine = cf.get_db_engine()
68
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
69
+ with Session() as session:
70
+ try:
71
+ chat = session.query(detail_chat).filter(detail_chat.id == id).one_or_none()
72
+ return chat
73
+ except:
74
+ session.close()
75
+ return False
76
+ except:
77
+ engine = cf.get_db_engine1()
78
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
79
+ with Session() as session:
80
+ try:
81
+ chat = session.query(detail_chat.id,detail_chat.data_relevant,detail_chat.source_file).filter(detail_chat.id == id).one_or_none()
82
+ session.commit()
83
+ session.close()
84
+ return chat
85
+ except:
86
+ session.close()
87
+ return False
88
+
89
+
90
+ def delete_chat_detail(chat_name: str) -> bool:
91
+ try:
92
+ engine = cf.get_db_engine()
93
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
94
+ with Session() as session:
95
+ try:
96
+ detail_chat2 = session.query(detail_chat).filter(detail_chat.chat_id == chat_history.id).filter(chat_history.name_chat == chat_name)
97
+ session.query(detail_chat).filter(detail_chat.chat_id == chat_history.id).filter(chat_history.name_chat == chat_name).delete(synchronize_session=False)
98
+ session.commit()
99
+ session.close()
100
+ return True
101
+ except:
102
+ session.close()
103
+ return False
104
+ except:
105
+ engine = cf.get_db_engine1()
106
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
107
+ with Session() as session:
108
+ try:
109
+ session.query(detail_chat).filter(detail_chat.chat_id == chat_history.id).filter(chat_history.name_chat == chat_name).delete(synchronize_session=False)
110
+ session.commit()
111
+ session.close()
112
+ return True
113
+ except:
114
+ session.close()
115
+ return False
116
+ def delete_chat_detail_by_id(id_chat_detail: int) -> bool:
117
+ try:
118
+ engine = cf.get_db_engine()
119
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
120
+ with Session() as session:
121
+ try:
122
+
123
+ session.query(detail_chat).filter(detail_chat.id == id_chat_detail).delete(synchronize_session=False)
124
+ session.commit()
125
+ session.close()
126
+ return True
127
+ except:
128
+ session.close()
129
+ return False
130
+ except:
131
+ engine = cf.get_db_engine1()
132
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
133
+ with Session() as session:
134
+ try:
135
+ session.query(detail_chat).filter(detail_chat.chat_id == id_chat_detail).delete(synchronize_session=False)
136
+ session.commit()
137
+ session.close()
138
+ return True
139
+ except:
140
+ session.close()
141
+ return False
repository/OTPRepository.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sqlalchemy.orm import sessionmaker
2
+ from models import Database_Entity
3
+ from repository import ConfigDatabase as cf
4
+ otp_user = Database_Entity.OTP
5
+ from sqlalchemy.orm import sessionmaker
6
+
7
+ def getOtpByEmail(email: str) -> otp_user:
8
+ try:
9
+ engine = cf.get_db_engine()
10
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
11
+ with Session() as session:
12
+ user_record= session.query(otp_user).filter(otp_user.email == email).one_or_none()
13
+ if user_record:
14
+ session.close()
15
+ return user_record
16
+ else:
17
+ session.close()
18
+ return None
19
+ except:
20
+ engine = cf.get_db_engine1()
21
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
22
+ with Session() as session:
23
+ user_record= session.query(otp_user).filter(otp_user.email == email).one_or_none()
24
+ if user_record:
25
+ session.close()
26
+ return user_record
27
+ else:
28
+ session.close()
29
+ return None
30
+
31
+ def addOTP(email: str, otp: str) -> None:
32
+ try:
33
+ engine = cf.get_db_engine()
34
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
35
+ with Session() as session:
36
+ otp_record = session.query(otp_user).filter_by(email=email).first()
37
+ if otp_record:
38
+ session.delete(otp_record)
39
+ session.commit()
40
+ new_user = otp_user(
41
+ email = email,
42
+ otp= otp
43
+ )
44
+ session.add(new_user)
45
+ session.commit()
46
+ session.close()
47
+ except:
48
+ engine = cf.get_db_engine1()
49
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
50
+ with Session() as session:
51
+ otp_record = session.query(otp_user).filter_by(email=email).first()
52
+ if otp_record:
53
+ session.delete(otp_record)
54
+ session.commit()
55
+ new_user = otp_user(
56
+ email = email,
57
+ otp= otp
58
+ )
59
+ session.add(new_user)
60
+ session.commit()
61
+ session.close()
62
+
63
+ def deleteOTP(email: str, otp:str) -> None:
64
+ try:
65
+ engine = cf.get_db_engine()
66
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
67
+ with Session() as session:
68
+ otp_record = session.query(otp_user).filter_by(email=email, otp=otp).first()
69
+ if otp_record:
70
+ session.delete(otp_record)
71
+ session.commit()
72
+ except:
73
+ engine = cf.get_db_engine1()
74
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
75
+ with Session() as session:
76
+ otp_record = session.query(otp_user).filter_by(email=email, otp=otp).first()
77
+ if otp_record:
78
+ session.delete(otp_record)
79
+ session.commit()
repository/UserInfoRepository.py ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sqlalchemy.orm import sessionmaker
2
+ from models import Database_Entity
3
+ from repository import ConfigDatabase as cf
4
+ user_info = Database_Entity.UserInfo
5
+ users = Database_Entity.User
6
+ from sqlalchemy.orm import sessionmaker
7
+
8
+ def getUserInfo(user_id: int) -> user_info:
9
+ try:
10
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()
11
+ if email:
12
+ email = email[0]
13
+ user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
14
+ if user_record:
15
+ session.close()
16
+ return user_record
17
+ else:
18
+ session.close()
19
+ return None
20
+ except:
21
+ engine = cf.get_db_engine1()
22
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
23
+ with Session() as session:
24
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()
25
+ if email:
26
+ email = email[0]
27
+ user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
28
+ if user_record:
29
+ session.close()
30
+ return user_record
31
+ else:
32
+ session.close()
33
+ return None
34
+
35
+ def getUserInfoByEmail(email:str) -> user_info:
36
+ try:
37
+ engine = cf.get_db_engine()
38
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
39
+ with Session() as session:
40
+ user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
41
+ if user_record:
42
+ session.close()
43
+ return user_record
44
+ else:
45
+ session.close()
46
+ return None
47
+ except:
48
+ engine = cf.get_db_engine1()
49
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
50
+ with Session() as session:
51
+ user_record= session.query(user_info).filter(user_info.email == email).one_or_none()
52
+ if user_record:
53
+ session.close()
54
+ return user_record
55
+ else:
56
+ session.close()
57
+ return None
58
+
59
+
60
+
61
+ def addUserInfo(uid: str, email: str, display_name: str, photo_url: str) -> None:
62
+ try:
63
+ engine = cf.get_db_engine()
64
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
65
+ with Session() as session:
66
+ new_user = user_info(
67
+ uid = uid,
68
+ email = email,
69
+ display_name = display_name,
70
+ photo_url = photo_url
71
+ )
72
+ session.add(new_user)
73
+ session.commit()
74
+ session.close()
75
+ except:
76
+ engine = cf.get_db_engine1()
77
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
78
+ with Session() as session:
79
+ new_user = user_info(
80
+ uid = uid,
81
+ email = email,
82
+ display_name = display_name,
83
+ photo_url = photo_url
84
+ )
85
+ session.add(new_user)
86
+ session.commit()
87
+ session.close()
88
+
89
+ def updateUserInfo(user_id, uid: str, email: str, display_name: str, photo_url: str) -> None:
90
+ try:
91
+ engine = cf.get_db_engine()
92
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
93
+ with Session() as session:
94
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()
95
+ user_update= session.query(user_info).filter(user_info.email == email).one_or_none()
96
+ if user_update is not None:
97
+ user_update.uid = uid,
98
+ user_update.display_name = display_name,
99
+ user_update.photo_url = photo_url
100
+ session.commit()
101
+ session.close()
102
+ except:
103
+ engine = cf.get_db_engine1()
104
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
105
+ with Session() as session:
106
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()
107
+ user_update= session.query(user_info).filter(user_info.email == email).one_or_none()
108
+ if user_update is not None:
109
+ user_update.uid = uid,
110
+ user_update.display_name = display_name,
111
+ user_update.photo_url = photo_url
112
+ session.commit()
113
+ session.close()
114
+
115
+
116
+ def updateImage(user_id, photo_url: str) -> None:
117
+ try:
118
+ engine = cf.get_db_engine()
119
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
120
+ with Session() as session:
121
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()
122
+ user_update= session.query(user_info).filter(user_info.email == email).one_or_none()
123
+ if user_update is not None:
124
+ user_update.photo_url = photo_url
125
+ session.commit()
126
+ session.close()
127
+ except:
128
+ engine = cf.get_db_engine1()
129
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
130
+ with Session() as session:
131
+ email = session.query(users.email).filter(users.id == user_id).one_or_none()
132
+ user_update = session.query(user_info).filter(user_info.email == email).one_or_none()
133
+ if user_update is not None:
134
+ user_update.photo_url = photo_url
135
+ session.commit()
136
+ session.close()
137
+
repository/UserLoginRepository.py ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sqlalchemy.orm import sessionmaker
2
+ from models import Database_Entity
3
+ from repository import ConfigDatabase as cf
4
+ user_login = Database_Entity.UserLogin
5
+ users = Database_Entity.User
6
+
7
+ def getUserLogin(email: str) -> user_login:
8
+ try:
9
+ engine = cf.get_db_engine()
10
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
11
+ with Session() as session:
12
+ user_record = session.query(user_login).filter(user_login.user_email == email).one_or_none()
13
+ if user_record:
14
+ session.close()
15
+ return user_record
16
+ else:
17
+ session.close()
18
+ return None
19
+ except:
20
+ engine = cf.get_db_engine1()
21
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
22
+ with Session() as session:
23
+ user_record = session.query(user_login).filter(user_login.user_email == email).one_or_none()
24
+ if user_record:
25
+ session.close()
26
+ return user_record
27
+ else:
28
+ session.close()
29
+ return None
30
+
31
+
32
+ def getUserLoginById(id: int) -> user_login:
33
+ try:
34
+ engine = cf.get_db_engine()
35
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
36
+ with Session() as session:
37
+ email = session.query(users.email).filter(users.id == id).one_or_none()[0]
38
+ user_record = session.query(user_login).filter(user_login.user_email == email).one_or_none()
39
+ if user_record:
40
+ session.close()
41
+ return user_record
42
+ else:
43
+ session.close()
44
+ return None
45
+ except:
46
+ engine = cf.get_db_engine1()
47
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
48
+ with Session() as session:
49
+ email = session.query(users.email).filter(users.id == id).one_or_none()[0]
50
+ user_record = session.query(user_login).filter(user_login.user_email == email).one_or_none()
51
+ if user_record:
52
+ session.close()
53
+ return user_record
54
+ else:
55
+ session.close()
56
+ return None
57
+
58
+ def addUserLogin(user_email: str, session_id : str) -> None:
59
+ try:
60
+ engine = cf.get_db_engine()
61
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
62
+ with Session() as session:
63
+ new_user = user_login(
64
+ user_email = user_email,
65
+ user_session_id = session_id
66
+ )
67
+ session.add(new_user)
68
+ session.commit()
69
+ session.close()
70
+ except:
71
+ engine = cf.get_db_engine1()
72
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
73
+ with Session() as session:
74
+ new_user = user_login(
75
+ user_email = user_email,
76
+ user_session_id = session_id
77
+ )
78
+ session.add(new_user)
79
+ session.commit()
80
+ session.close()
81
+
82
+
83
+ def updateUserLogin(email: str, session_id : str ) -> None:
84
+ try:
85
+ engine = cf.get_db_engine()
86
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
87
+ with Session() as session:
88
+ user_update= session.query(user_login).filter(user_login.user_email == email).one_or_none()
89
+ if user_update is not None:
90
+ user_update.user_session_id = session_id
91
+ session.commit()
92
+ session.close()
93
+ except:
94
+ engine = cf.get_db_engine1()
95
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
96
+ with Session() as session:
97
+ user_update= session.query(user_login).filter(user_login.user_email == email).one_or_none()
98
+ if user_update is not None:
99
+ user_update.user_session_id = session_id
100
+ session.commit()
101
+ session.close()
102
+
103
+
104
+
105
+ def getUserSessionIdByUserEmail(id: int) -> user_login:
106
+ try:
107
+ engine = cf.get_db_engine()
108
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
109
+ with Session() as session:
110
+ email = session.query(users.email).filter(users.id == id).one_or_none()[0]
111
+ session.commit()
112
+ user_record= session.query(user_login.user_session_id).filter(user_login.user_email == email).one_or_none()[0]
113
+ session.commit()
114
+ print(user_record)
115
+ if user_record:
116
+ session.close()
117
+ return user_record
118
+ else:
119
+ session.close()
120
+ return None
121
+ except:
122
+ engine = cf.get_db_engine1()
123
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
124
+ with Session() as session:
125
+ email = session.query(users.email).filter(users.id == id).one_or_none()[0]
126
+ session.commit()
127
+ user_record= session.query(user_login.user_session_id).filter(user_login.user_email == email).one_or_none()[0]
128
+ session.commit()
129
+ print(user_record)
130
+ if user_record:
131
+ session.close()
132
+ return user_record
133
+ else:
134
+ session.close()
135
+ return None
repository/UserRepository.py ADDED
@@ -0,0 +1,357 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from sqlalchemy.orm import sessionmaker
2
+ from models import Database_Entity
3
+ from repository import ConfigDatabase as cf
4
+ import pytz , datetime
5
+ from datetime import timedelta
6
+ user = Database_Entity.User
7
+
8
+ def getUserIdByAccessToken(token:str) -> int:
9
+ try:
10
+ engine = cf.get_db_engine()
11
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
12
+ with Session() as session:
13
+ user_record = session.query(user.id).filter(user.access_token == token).one_or_none()
14
+ session.close()
15
+ return user_record
16
+ except:
17
+ engine = cf.get_db_engine1()
18
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
19
+ with Session() as session:
20
+ user_record = session.query(user.id).filter(user.access_token == token).one_or_none()
21
+ session.close()
22
+ return user_record
23
+
24
+ def getUserIdByAccessTokenAndUserId(token:str,user_id: int) -> int:
25
+ try:
26
+ engine = cf.get_db_engine()
27
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
28
+ with Session() as session:
29
+ user_record = session.query(user.id).filter(user.access_token == token,user.id == user_id).one_or_none()
30
+ session.close()
31
+ return user_record
32
+ except:
33
+ engine = cf.get_db_engine1()
34
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
35
+ with Session() as session:
36
+ user_record = session.query(user.id).filter(user.access_token == token,user.id == user_id).one_or_none()
37
+ session.close()
38
+ return user_record
39
+
40
+ def getUserByEmail(email: str) -> user:
41
+ try:
42
+ engine = cf.get_db_engine()
43
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
44
+ with Session() as session:
45
+ user_record = session.query(user).filter(user.email == email).one_or_none()
46
+ session.close()
47
+ return user_record
48
+ except:
49
+ engine = cf.get_db_engine1()
50
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
51
+ with Session() as session:
52
+ user_record = session.query(user).filter(user.email == email).one_or_none()
53
+ session.close()
54
+ return user_record
55
+
56
+ def getUserIdByEmail(email: str) -> user.id:
57
+ try:
58
+ engine = cf.get_db_engine()
59
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
60
+ with Session() as session:
61
+ user_record = session.query(user.id).filter(user.email == email).one_or_none()[0]
62
+ session.close()
63
+ return user_record
64
+ except:
65
+ engine = cf.get_db_engine1()
66
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
67
+ with Session() as session:
68
+ user_record = session.query(user.id).filter(user.email == email).one_or_none()[0]
69
+ session.close()
70
+ return user_record
71
+
72
+ def getUserById(user_id: str) -> user:
73
+ try:
74
+ engine = cf.get_db_engine()
75
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
76
+ with Session() as session:
77
+ user_record = session.query(user).filter(user.id == user_id).one_or_none()
78
+ session.close()
79
+ return user_record
80
+ except:
81
+ engine = cf.get_db_engine1()
82
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
83
+ with Session() as session:
84
+ user_record = session.query(user).filter(user.id == user_id).one_or_none()
85
+ session.close()
86
+ return user_record
87
+
88
+ def getRefreshTokenUserByAccessToken(token: str) -> user.refresh_token:
89
+ try:
90
+ engine = cf.get_db_engine()
91
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
92
+ with Session() as session:
93
+ user_record = session.query(user.refresh_token).filter(user.access_token == token).one_or_none()
94
+ session.close()
95
+ return user_record
96
+ except:
97
+ engine = cf.get_db_engine1()
98
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
99
+ with Session() as session:
100
+ user_record = session.query(user.refresh_token).filter(user.access_token == token).one_or_none()
101
+ session.close()
102
+ return user_record
103
+
104
+
105
+ def getUserIdByRefreshToken(refreshToken: str) -> user.refresh_token:
106
+ try:
107
+ engine = cf.get_db_engine()
108
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
109
+ with Session() as session:
110
+ user_record = session.query(user.id).filter(user.refresh_token == refreshToken).one_or_none()[0]
111
+ session.close()
112
+ return user_record
113
+ except:
114
+ engine = cf.get_db_engine1()
115
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
116
+ with Session() as session:
117
+ user_record = session.query(user.id).filter(user.refresh_token == refreshToken).one_or_none()[0]
118
+ session.close()
119
+ return user_record
120
+
121
+ def getRefreshTokenUserById(user_id: str) -> user.refresh_token:
122
+ try:
123
+ engine = cf.get_db_engine()
124
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
125
+ with Session() as session:
126
+ user_record = session.query(user.refresh_token).filter(user.id == user_id).one_or_none()[0]
127
+ session.close()
128
+ return user_record
129
+ except:
130
+ engine = cf.get_db_engine1()
131
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
132
+ with Session() as session:
133
+ user_record = session.query(user.refresh_token).filter(user.id == user_id).one_or_none()[0]
134
+ session.close()
135
+ return user_record
136
+
137
+ def getEmailUser(email:str) -> user.email:
138
+ try:
139
+ engine = cf.get_db_engine()
140
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
141
+ with Session() as session:
142
+ user_email = session.query(user.email).filter(user.email == email).one_or_none()
143
+ session.close()
144
+ return user_email
145
+ except:
146
+ engine = cf.get_db_engine1()
147
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
148
+ with Session() as session:
149
+ user_email = session.query(user.email).filter(user.email == email).one_or_none()
150
+ session.close()
151
+ return user_email
152
+
153
+ def getEmailUserById(user_id:int) -> user.email:
154
+ try:
155
+ engine = cf.get_db_engine()
156
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
157
+ with Session() as session:
158
+ user_email = session.query(user.email).filter(user.id == user_id).one_or_none()[0]
159
+ session.close()
160
+ return user_email
161
+ except:
162
+ engine = cf.get_db_engine1()
163
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
164
+ with Session() as session:
165
+ user_email = session.query(user.email).filter(user.id == user_id).one_or_none()[0]
166
+ session.close()
167
+ return user_email
168
+
169
+ def getEmailUserByIdFix(user_id:int) -> user.email:
170
+ try:
171
+ engine = cf.get_db_engine()
172
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
173
+ with Session() as session:
174
+ user_email = session.query(user.email).filter(user.id == user_id).one_or_none()
175
+ session.close()
176
+ return user_email
177
+ except:
178
+ engine = cf.get_db_engine1()
179
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
180
+ with Session() as session:
181
+ user_email = session.query(user.email).filter(user.id == user_id).one_or_none()
182
+ session.close()
183
+ return user_email
184
+
185
+
186
+
187
+ def getEmailUserByAccessToken(token: str) -> user.email:
188
+ try:
189
+ engine = cf.get_db_engine()
190
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
191
+ with Session() as session:
192
+ user_email = session.query(user.email).filter(user.access_token == token).one_or_none()
193
+ session.close()
194
+ return user_email
195
+ except:
196
+ engine = cf.get_db_engine1()
197
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
198
+ with Session() as session:
199
+ user_email = session.query(user.email).filter(user.access_token == token).one_or_none()
200
+ session.close()
201
+ return user_email
202
+
203
+
204
+ def addUser(email: str, access_token: str, refresh_token: str, expires_at: datetime.datetime) -> None:
205
+ try:
206
+ engine = cf.get_db_engine()
207
+ Session = sessionmaker(bind=engine)
208
+ with Session() as session:
209
+ new_user = Database_Entity.User(
210
+ email=email,
211
+ access_token=access_token,
212
+ refresh_token=refresh_token,
213
+ expires_at=expires_at
214
+ )
215
+ session.add(new_user)
216
+ session.commit()
217
+ session.close()
218
+ except:
219
+ engine = cf.get_db_engine1()
220
+ Session = sessionmaker(bind=engine)
221
+ with Session() as session:
222
+ new_user = Database_Entity.User(
223
+ email=email,
224
+ access_token=access_token,
225
+ refresh_token=refresh_token,
226
+ expires_at=expires_at
227
+ )
228
+ session.add(new_user)
229
+ session.commit()
230
+ session.close()
231
+
232
+
233
+ def updateUserLogin(email: str, access_token: str, refresh_token: str, expires_at: datetime.datetime) -> bool:
234
+ try:
235
+ engine = cf.get_db_engine()
236
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
237
+ with Session() as session:
238
+ user_update = session.query(user).filter(user.email == email).one_or_none()
239
+ if user_update:
240
+ user_update.email = email
241
+ user_update.access_token = access_token
242
+ user_update.refresh_token = refresh_token
243
+ user_update.expires_at = expires_at
244
+ session.commit()
245
+ session.close()
246
+ return True
247
+ else:
248
+ session.close()
249
+ return False
250
+ except:
251
+ engine = cf.get_db_engine1()
252
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
253
+ with Session() as session:
254
+ user_update = session.query(user).filter(user.email == email).one_or_none()
255
+ if user_update:
256
+ user_update.email = email
257
+ user_update.access_token = access_token
258
+ user_update.refresh_token = refresh_token
259
+ user_update.expires_at = expires_at
260
+ session.commit()
261
+ session.close()
262
+ return True
263
+ else:
264
+ session.close()
265
+ return False
266
+
267
+
268
+ def updateAccessToken(user_id: int,access_token: str, expires_at: datetime.datetime) -> None:
269
+ try:
270
+ engine = cf.get_db_engine()
271
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
272
+ with Session() as session:
273
+ user_update = session.query(user).filter(user.id == user_id).one_or_none()
274
+ if user_update:
275
+ user_update.access_token = access_token
276
+ user_update.expires_at = expires_at
277
+ session.commit()
278
+ except:
279
+ engine = cf.get_db_engine1()
280
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
281
+ with Session() as session:
282
+ user_update = session.query(user).filter(user.id == user_id).one_or_none()
283
+ if user_update:
284
+ user_update.access_token = access_token
285
+ user_update.expires_at = expires_at
286
+ session.commit()
287
+
288
+ def updateAccessTokenById(id: int,access_token: str, expires_at: datetime.datetime) -> None:
289
+ try:
290
+ engine = cf.get_db_engine()
291
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
292
+ with Session() as session:
293
+ user_update = session.query(user).filter(user.id == id).one_or_none()
294
+ if user_update:
295
+ user_update.access_token = access_token
296
+ user_update.expires_at = expires_at
297
+ session.commit()
298
+ session.close()
299
+ except:
300
+ engine = cf.get_db_engine1()
301
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
302
+ with Session() as session:
303
+ user_update = session.query(user).filter(user.id == id).one_or_none()
304
+ if user_update:
305
+ user_update.access_token = access_token
306
+ user_update.expires_at = expires_at
307
+ session.commit()
308
+ session.close()
309
+
310
+
311
+ def UpdateAccessTokenRefreshToken(email: str, access_token: str, refresh_token: str, expires_at: datetime.datetime) -> None:
312
+ try:
313
+ engine = cf.get_db_engine()
314
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
315
+ with Session() as session:
316
+ user_update = session.query(user).filter(user.email == email).one_or_none()
317
+ if user_update:
318
+ user_update.access_token = access_token
319
+ user_update.refresh_token = refresh_token
320
+ user_update.expires_at = expires_at
321
+ session.commit()
322
+ session.close()
323
+ except:
324
+ engine = cf.get_db_engine1()
325
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
326
+ with Session() as session:
327
+ user_update = session.query(user).filter(user.email == email).one_or_none()
328
+ if user_update:
329
+ user_update.access_token = access_token
330
+ user_update.refresh_token = refresh_token
331
+ user_update.expires_at = expires_at
332
+ session.commit()
333
+ session.close()
334
+
335
+ def UpdateAccessTokenRefreshTokenById(user_id: int,access_token: str, refresh_token: str, expires_at: datetime.datetime) -> None:
336
+ try:
337
+ engine = cf.get_db_engine()
338
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
339
+ with Session() as session:
340
+ user_update = session.query(user).filter(user.id == user_id).one_or_none()
341
+ if user_update:
342
+ user_update.access_token = access_token
343
+ user_update.refresh_token = refresh_token
344
+ user_update.expires_at = expires_at
345
+ session.commit()
346
+ session.close()
347
+ except:
348
+ engine = cf.get_db_engine1()
349
+ Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
350
+ with Session() as session:
351
+ user_update = session.query(user).filter(user.id == user_id).one_or_none()
352
+ if user_update:
353
+ user_update.access_token = access_token
354
+ user_update.refresh_token = refresh_token
355
+ user_update.expires_at = expires_at
356
+ session.commit()
357
+ session.close()