mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 18:54:30 +00:00
53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
from typing import Any, Literal, List
|
|
|
|
|
|
class CustomDB:
|
|
"""
|
|
Implements a base class that we expect any custom db implementation (e.g. DynamoDB) to follow
|
|
"""
|
|
|
|
def __init__(self) -> None:
|
|
pass
|
|
|
|
def get_data(self, key: str, table_name: Literal["user", "key", "config"]):
|
|
"""
|
|
Check if key valid
|
|
"""
|
|
pass
|
|
|
|
def insert_data(self, value: Any, table_name: Literal["user", "key", "config"]):
|
|
"""
|
|
For new key / user logic
|
|
"""
|
|
pass
|
|
|
|
def update_data(
|
|
self, key: str, value: Any, table_name: Literal["user", "key", "config"]
|
|
):
|
|
"""
|
|
For cost tracking logic
|
|
"""
|
|
pass
|
|
|
|
def delete_data(
|
|
self, keys: List[str], table_name: Literal["user", "key", "config"]
|
|
):
|
|
"""
|
|
For /key/delete endpoint s
|
|
"""
|
|
|
|
def connect(
|
|
self,
|
|
):
|
|
"""
|
|
For connecting to db and creating / updating any tables
|
|
"""
|
|
pass
|
|
|
|
def disconnect(
|
|
self,
|
|
):
|
|
"""
|
|
For closing connection on server shutdown
|
|
"""
|
|
pass
|