summaryrefslogtreecommitdiff
path: root/tests/queries.sql
diff options
context:
space:
mode:
Diffstat (limited to 'tests/queries.sql')
-rw-r--r--tests/queries.sql144
1 files changed, 144 insertions, 0 deletions
diff --git a/tests/queries.sql b/tests/queries.sql
index e69de29..fe67f60 100644
--- a/tests/queries.sql
+++ b/tests/queries.sql
@@ -0,0 +1,144 @@
+
+-- createTables.sql:
+-- write:
+ CREATE TABLE IF NOT EXISTS "papod_workspaces" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
+ uuid BLOB NOT NULL UNIQUE,
+ name TEXT NOT NULL,
+ description TEXT NOT NULL,
+ -- "public", "private", "unlisted"
+ type TEXT NOT NULL
+ );
+ CREATE TABLE IF NOT EXISTS "papod_workspace_changes (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
+ workspace_id INTEGER NOT NULL
+ REFERENCES "papod_workspaces"(id),
+ attribute TEXT NOT NULL,
+ value TEXT NOT NULL,
+ op BOOLEAN NOT NULL
+ );
+ CREATE TABLE IF NOT EXISTS "papod_users" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
+ -- provided by cracha
+ uuid BLOB NOT NULL UNIQUE,
+ username TEXT NOT NULL,
+ display_name TEXT NOT NULL,
+ picture_uuid BLOB NOT NULL UNIQUE,
+ deleted BOOLEAN NOT NULL
+ );
+ CREATE TABLE IF NOT EXISTS "papod_user_changes" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (papod),
+ user_id INTEGER NOT NULL REFERENCES "strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')_users"(id),
+ attribute TEXT NOT NULL,
+ value TEXT NOT NULL,
+ op BOOLEAN NOT NULL
+ );
+ CREATE TABLE IF NOT EXISTS "papod_members" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (%!s(MISSING)),
+ workspace_id INTEGER NOT NULL
+ REFERENCES "%!s(MISSING)_workspaces"(id),
+ user_id INTEGER NOT NULL,
+ username TEXT NOT NULL,
+ display_name TEXT NOT NULL,
+ picture_uuid BLOB NOT NULL UNIQUE,
+ -- "active", "inactive", "removed"
+ status TEXT NOT NULL,
+ -- "active", always
+ active_uniq TEXT,
+ UNIQUE (workspace_id, username, active_uniq),
+ UNIQUE (workspace_id, user_id)
+ );
+ CREATE TABLE IF NOT EXISTS "%!s(MISSING)_member_roles" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ member_id INTEGER NOT NULL
+ REFERENCES "%!s(MISSING)_members"(id),
+ role TEXT NOT NULL,
+ UNIQUE (member_id, role)
+ );
+ CREATE TABLE IF NOT EXISTS "%!s(MISSING)_member_changes" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (%!s(MISSING)),
+ member_id INTEGER NOT NULL
+ REFERENCES "%!s(MISSING)_members"(id),
+ attribute TEXT NOT NULL,
+ value TEXT NOT NULL,
+ op BOOLEAN NOT NULL
+ );
+ CREATE TABLE IF NOT EXISTS "%!s(MISSING)_channels" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (%!s(MISSING)),
+ uuid BLOB NOT NULL UNIQUE,
+ workspace_id INTEGER NOT NULL
+ REFERENCES "%!s(MISSING)_workspaces"(id),
+ public_name TEXT UNIQUE,
+ label TEXT NOT NULL,
+ description TEXT,
+ virtual BOOLEAN NOT NULL
+ );
+ CREATE TABLE IF NOT EXISTS "%!s(MISSING)_channel_changes" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (%!s(MISSING)),
+ channel_id INTEGER NOT NULL
+ REFERENCES "%!s(MISSING)_channels"(id),
+ attribute TEXT NOT NULL,
+ value TEXT NOT NULL,
+ op BOOLEAN NOT NULL
+ );
+ CREATE TABLE IF NOT EXISTS "%!s(MISSING)_participants" (
+ member_id
+ );
+ CREATE TABLE IF NOT EXISTS "%!s(MISSING)_channel_events" (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ timestamp TEXT NOT NULL DEFAULT (%!s(MISSING)),
+ uuid BLOB NOT NULL UNIQUE,
+ channel_id INTEGER NOT NULL REFERENCES "%!s(MISSING)"(id),
+ connection_id INTEGER NOT NULL,
+ -- payload FIXME: vary by type?
+ );
+ -- FIXME: group conversations?
+ -- user: person
+ -- member: workspace user
+ -- participant: channel member
+
+
+-- read:
+
+-- addNetwork.sql:
+-- write:
+ -- FIXME
+ %!(EXTRA string=papod)
+
+-- read:
+
+-- addChannel.sql:
+-- write:
+ -- FIXME
+ %!(EXTRA string=papod)
+
+-- read:
+
+-- channels.sql:
+-- write:
+
+-- read:
+ -- FIXME
+ %!(EXTRA string=papod)
+
+-- allAfter.sql:
+-- write:
+
+-- read:
+ -- FIXME
+ %!(EXTRA string=papod)
+
+-- addEvent.sql:
+-- write:
+ -- FIXME
+ %!(EXTRA string=papod)
+
+-- read: