diff options
Diffstat (limited to 'tests/queries.sql')
-rw-r--r-- | tests/queries.sql | 144 |
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: |