aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/tables.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysite/tables.py')
-rw-r--r--pysite/tables.py89
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"
+ ])
+ )
+}