11import json
22import os
3- import threading
43from datetime import datetime , timedelta
54from typing import Any , Dict
65
7- from . db_manager import DbManager
6+ from llms . main import DbManager
87
98
109def with_user (data , user ):
@@ -375,76 +374,6 @@ def query_threads(self, query: Dict[str, Any], user=None):
375374 self .ctx .err (f"query_threads ({ take } , { skip } )" , e )
376375 return []
377376
378- def insert (self , table , info , callback = None ):
379- if not info :
380- raise Exception ("info is required" )
381-
382- columns = self .columns [table ]
383- args = {}
384- known_columns = columns .keys ()
385- for k , val in info .items ():
386- if k in known_columns and k != "id" :
387- args [k ] = self .db .value (val )
388-
389- insert_keys = list (args .keys ())
390- insert_body = ", " .join (insert_keys )
391- insert_values = ", " .join (["?" for _ in insert_keys ])
392-
393- sql = f"INSERT INTO { table } ({ insert_body } ) VALUES ({ insert_values } )"
394-
395- self .db .write (sql , tuple (args [k ] for k in insert_keys ), callback )
396-
397- async def insert_async (self , table , info ):
398- event = threading .Event ()
399-
400- ret = [None ]
401-
402- def cb (lastrowid , rowcount , error = None ):
403- nonlocal ret
404- if error :
405- raise error
406- ret [0 ] = lastrowid
407- event .set ()
408-
409- self .insert (table , info , cb )
410- event .wait ()
411- return ret [0 ]
412-
413- def update (self , table , info , callback = None ):
414- if not info :
415- raise Exception ("info is required" )
416-
417- columns = self .columns [table ]
418- args = {}
419- known_columns = columns .keys ()
420- for k , val in info .items ():
421- if k in known_columns and k != "id" :
422- args [k ] = self .db .value (val )
423-
424- update_keys = list (args .keys ())
425- update_body = ", " .join ([f"{ k } = :{ k } " for k in update_keys ])
426-
427- args ["id" ] = info ["id" ]
428- sql = f"UPDATE { table } SET { update_body } WHERE id = :id"
429-
430- self .db .write (sql , args , callback )
431-
432- async def update_async (self , table , info ):
433- event = threading .Event ()
434-
435- ret = [None ]
436-
437- def cb (lastrowid , rowcount , error = None ):
438- nonlocal ret
439- if error :
440- raise error
441- ret [0 ] = rowcount
442- event .set ()
443-
444- self .update (table , info , cb )
445- event .wait ()
446- return ret [0 ]
447-
448377 def prepare_thread (self , thread , id = None , user = None ):
449378 now = datetime .now ()
450379 if id :
@@ -458,16 +387,16 @@ def prepare_thread(self, thread, id=None, user=None):
458387 return with_user (thread , user = user )
459388
460389 def create_thread (self , thread : Dict [str , Any ], user = None ):
461- return self .insert ("thread" , self .prepare_thread (thread , user = user ))
390+ return self .db . insert ("thread" , self . columns [ "thread" ] , self .prepare_thread (thread , user = user ))
462391
463392 async def create_thread_async (self , thread : Dict [str , Any ], user = None ):
464- return await self .insert_async ("thread" , self .prepare_thread (thread , user = user ))
393+ return await self .db . insert_async ("thread" , self . columns [ "thread" ] , self .prepare_thread (thread , user = user ))
465394
466395 def update_thread (self , id , thread : Dict [str , Any ], user = None ):
467- return self .update ("thread" , self .prepare_thread (thread , id , user = user ))
396+ return self .db . update ("thread" , self . columns [ "thread" ] , self .prepare_thread (thread , id , user = user ))
468397
469398 async def update_thread_async (self , id , thread : Dict [str , Any ], user = None ):
470- return await self .update_async ("thread" , self .prepare_thread (thread , id , user = user ))
399+ return await self .db . update_async ("thread" , self . columns [ "thread" ] , self .prepare_thread (thread , id , user = user ))
471400
472401 def delete_thread (self , id , user = None , callback = None ):
473402 sql_where , params = self .get_user_filter (user , {"id" : id })
@@ -609,21 +538,21 @@ def get_daily_request_summary(self, day, user=None):
609538
610539 def create_request (self , request : Dict [str , Any ], user = None ):
611540 request ["createdAt" ] = request ["updatedAt" ] = datetime .now ()
612- return self .insert ("request" , with_user (request , user = user ))
541+ return self .db . insert ("request" , self . columns [ "request" ] , with_user (request , user = user ))
613542
614543 async def create_request_async (self , request : Dict [str , Any ], user = None ):
615544 request ["createdAt" ] = request ["updatedAt" ] = datetime .now ()
616- return await self .insert_async ("request" , with_user (request , user = user ))
545+ return await self .db . insert_async ("request" , self . columns [ "request" ] , with_user (request , user = user ))
617546
618547 def update_request (self , id , request : Dict [str , Any ], user = None ):
619548 request ["id" ] = id
620549 request ["updatedAt" ] = datetime .now ()
621- return self .update ("request" , with_user (request , user = user ))
550+ return self .db . update ("request" , self . columns [ "request" ] , with_user (request , user = user ))
622551
623552 async def update_request_async (self , id , request : Dict [str , Any ], user = None ):
624553 request ["id" ] = id
625554 request ["updatedAt" ] = datetime .now ()
626- return await self .update_async ("request" , with_user (request , user = user ))
555+ return await self .db . update_async ("request" , self . columns [ "request" ] , with_user (request , user = user ))
627556
628557 def delete_request (self , id , user = None , callback = None ):
629558 sql_where , params = self .get_user_filter (user , {"id" : id })
0 commit comments