
    gi                     ,    d dl mZmZmZ  G d d      Zy)    )AnyLiteralListc                       e Zd ZdZddZdeded   fdZdeded   fd	Z	dededed   fd
Z
dee   ded   fdZd Zd Zy)CustomDBzg
    Implements a base class that we expect any custom db implementation (e.g. DynamoDB) to follow
    Nc                      y )N selfs    Q/var/www/openai/venv/lib/python3.12/site-packages/litellm/proxy/db/base_client.py__init__zCustomDB.__init__	   s        key
table_name)userr   configc                      y)z$
        Check if key valid
        Nr	   )r   r   r   s      r   get_datazCustomDB.get_data        	r   valuec                      y)z*
        For new key / user logic
        Nr	   )r   r   r   s      r   insert_datazCustomDB.insert_data   r   r   c                      y)z)
        For cost tracking logic
        Nr	   )r   r   r   r   s       r   update_datazCustomDB.update_data        	r   keysc                      y)z,
        For /key/delete endpoint s
        Nr	   )r   r   r   s      r   delete_datazCustomDB.delete_data    s    r   c                      y)zI
        For connecting to db and creating / updating any tables
        Nr	   r
   s    r   connectzCustomDB.connect'   r   r   c                      y)z;
        For closing connection on server shutdown
        Nr	   r
   s    r   
disconnectzCustomDB.disconnect/   r   r   )returnN)__name__
__module____qualname____doc__r   strr   r   r   r   r   r   r   r    r"   r	   r   r   r   r      s    C W5L-M  ':Q2R "078O0PI+23J+Kr   r   N)typingr   r   r   r   r	   r   r   <module>r*      s    % %1 1r   