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)