o
    Æ°ii  ã                   @   s&   d dl mZmZmZ G dd„ dƒZdS )é    )ÚAnyÚLiteralÚListc                   @   sŠ   e Zd ZdZddd„Zdeded fd	d
„Zdeded fdd„Z	dededed fdd„Z
dee ded fdd„Zdd„ Zdd„ ZdS )ÚCustomDBzg
    Implements a base class that we expect any custom db implementation (e.g. DynamoDB) to follow
    ÚreturnNc                 C   s   d S )N© ©Úselfr   r   úS/home/app/Keep/.python/lib/python3.10/site-packages/litellm/proxy/db/base_client.pyÚ__init__	   s   zCustomDB.__init__ÚkeyÚ
table_name)Úuserr   Úconfigc                 C   ó   dS )z$
        Check if key valid
        Nr   )r	   r   r   r   r   r
   Úget_data   ó   zCustomDB.get_dataÚvaluec                 C   r   )z*
        For new key / user logic
        Nr   )r	   r   r   r   r   r
   Úinsert_data   r   zCustomDB.insert_datac                 C   r   )z)
        For cost tracking logic
        Nr   )r	   r   r   r   r   r   r
   Úupdate_data   ó   zCustomDB.update_dataÚkeysc                 C   r   )z,
        For /key/delete endpoint s
        Nr   )r	   r   r   r   r   r
   Údelete_data    s    zCustomDB.delete_datac                 C   r   )zI
        For connecting to db and creating / updating any tables
        Nr   r   r   r   r
   Úconnect'   r   zCustomDB.connectc                 C   r   )z;
        For closing connection on server shutdown
        Nr   r   r   r   r
   Ú
disconnect/   r   zCustomDB.disconnect)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   r   r   r   r   r   r   r   r   r   r   r   r
   r      s&    
ÿÿ
ÿÿ
ÿr   N)Útypingr   r   r   r   r   r   r   r
   Ú<module>   s    