diff options
Diffstat (limited to 'pysite/tables.py')
-rw-r--r-- | pysite/tables.py | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/pysite/tables.py b/pysite/tables.py new file mode 100644 index 00000000..4d9142fa --- /dev/null +++ b/pysite/tables.py @@ -0,0 +1,89 @@ +from typing import List, NamedTuple + + +class Table(NamedTuple): + primary_key: str + keys: List[str] + locked: bool = True + + +TABLES = { + "hiphopify": Table( # Users in hiphop prison + primary_key="user_id", + keys=sorted([ + "user_id", + "end_timestamp", + "forced_nick" + ]) + ), + + "hiphopify_namelist": Table( # Names and images of hiphop artists + primary_key="name", + keys=sorted([ + "name", + "image_url" + ]), + locked=False + ), + + "oauth_data": Table( # OAuth login information + primary_key="id", + keys=sorted([ + "id", + "access_token", + "expires_at", + "refresh_token", + "snowflake" + ]) + ), + + "tags": Table( # Tag names and values + primary_key="tag_name", + keys=sorted([ + "tag_name", + "tag_content" + ]), + locked=False + ), + + "users": Table( # Users from the Discord server + primary_key="user_id", + keys=sorted([ + "user_id", + "roles", + "username", + "discriminator", + "email" + ]) + ), + + "wiki": Table( # Wiki articles + primary_key="slug", + keys=sorted([ + "slug", + "headers", + "html", + "rst", + "text", + "title" + ]) + ), + + "wiki_revisions": Table( # Revisions of wiki articles + primary_key="id", keys=sorted([ + "id", + "date", + "post", + "slug", + "user" + ]) + ), + + "_versions": Table( # Table migration versions + primary_key="table", + keys=sorted([ + "table", + "version" + ]) + ) +} |