130 lines
3.8 KiB
Python
130 lines
3.8 KiB
Python
from datetime import datetime
|
|
|
|
from app.api.routers.request.baseConfig import BaseConfig
|
|
from app.api.routers.request.dbOrm import DBManager
|
|
|
|
dbManage = DBManager()
|
|
|
|
class conversations:
|
|
def __init__(self) -> None:
|
|
self._tableName = 'conversations'
|
|
dbManage.createTable(self._tableName)
|
|
|
|
def gets(self,user_id:str):
|
|
records = dbManage.query(self._tableName,user_id = user_id)
|
|
datas = []
|
|
for record in records:
|
|
datas.append(record)
|
|
|
|
return datas
|
|
|
|
def get(self,user_id:str,id:str = ''):
|
|
records = dbManage.query(self._tableName,user_id = user_id,id = id)
|
|
if len(records) >0:
|
|
return records[0]
|
|
return None
|
|
|
|
def add(self,user_id:str,name:str,id:str = ''):
|
|
import uuid
|
|
if id == '':
|
|
id= str(uuid.uuid4())
|
|
template = BaseConfig.ConversationCfg
|
|
|
|
template['id'] = id
|
|
template['user_id'] = user_id
|
|
template['name'] = name
|
|
template['created_at'] = 1724399038
|
|
|
|
dbManage.addRecord(self._tableName,template)
|
|
|
|
def delete(self,id:str):
|
|
dbManage.delete(self._tableName,id=id)
|
|
|
|
def rename(self,id:str):
|
|
data = {'name':''}
|
|
dbManage.update(self._tableName,data,id=id)
|
|
|
|
class user:
|
|
def __init__(self) -> None:
|
|
self._tableName = 'user'
|
|
dbManage.createTable(self._tableName)
|
|
|
|
def gets(self):
|
|
return dbManage.query(self._tableName)
|
|
|
|
def get(self,id:str):
|
|
return dbManage.query(self._tableName,id = id)
|
|
|
|
def add(self,id:str):
|
|
info = {
|
|
'id':id,
|
|
'createtime': datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
}
|
|
dbManage.addRecord(self._tableName,info)
|
|
|
|
def delete(self,id:str):
|
|
dbManage.delete(self._tableName,id = id)
|
|
|
|
class userMng:
|
|
userObj = user()
|
|
@classmethod
|
|
def findNoExistCreate(cls,user_id:str):
|
|
userInfo = cls.userObj.get(user_id)
|
|
if userInfo is None:
|
|
cls.userObj.add(user_id)
|
|
|
|
def remove(cls,user_id:str):
|
|
cls.userObj.delete(user_id)
|
|
|
|
class parameter:
|
|
def __init__(self) -> None:
|
|
self._tableName = 'parameters'
|
|
dbManage.createTable(self._tableName)
|
|
|
|
def get(self,user_id:str):
|
|
records = dbManage.query(self._tableName,user_id = user_id)
|
|
data = {}
|
|
for record in records:
|
|
key = record['name']
|
|
value = record['value']
|
|
data[key] = value
|
|
|
|
return {
|
|
'opening_statement':data['opening_statement'],
|
|
'suggested_questions':data['suggested_questions'],
|
|
'suggested_questions_after_answer':data['suggested_questions_after_answer'],
|
|
'speech_to_text':data['speech_to_text'],
|
|
'text_to_speech':data['text_to_speech'],
|
|
'retriever_resource':data['retriever_resource'],
|
|
'annotation_reply':data['annotation_reply'],
|
|
'more_like_this':data['more_like_this'],
|
|
'user_input_form':data['user_input_form'],
|
|
'sensitive_word_avoidance':data['sensitive_word_avoidance'],
|
|
'file_upload':data['file_upload'],
|
|
'system_parameters':data['system_parameters'],
|
|
'opening_statement':data['opening_statement'],
|
|
}
|
|
|
|
def set(self,user_id:str):
|
|
dbManage.addRecord(self._tableName,{})
|
|
|
|
def delete(self,user_id:str):
|
|
dbManage.delete(self._tableName,user_id = user_id)
|
|
|
|
class message:
|
|
def __init__(self) -> None:
|
|
self._tableName = 'messages'
|
|
dbManage.createTable(self._tableName)
|
|
|
|
def gets(self,user_id:str):
|
|
return dbManage.query(self._tableName,user_id = user_id)
|
|
|
|
def add(self,user_id:str):
|
|
dbManage.addRecord(self._tableName,{})
|
|
|
|
def delete(self,user_id:str):
|
|
dbManage.delete(self._tableName,user_id = user_id)
|
|
|
|
|
|
|