File size: 1,129 Bytes
7db0ae4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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