summary refs log tree commit diff
path: root/synapse/storage/schema
diff options
context:
space:
mode:
authorShay <hillerys@element.io>2023-04-28 11:33:45 -0700
committerGitHub <noreply@github.com>2023-04-28 11:33:45 -0700
commit89f6fb0d5a87d7415d1e67c600f47cb2b4370971 (patch)
tree18bae0fa4b5cc476af57307d17c9a3e5b2b4f8df /synapse/storage/schema
parentUpdate development docs referencing outdated versions of sqlite we no longer ... (diff)
downloadsynapse-89f6fb0d5a87d7415d1e67c600f47cb2b4370971.tar.xz
Add an admin API endpoint to support per-user feature flags (#15344)
Diffstat (limited to 'synapse/storage/schema')
-rw-r--r--synapse/storage/schema/main/delta/76/03_per_user_experimental_features.sql27
1 files changed, 27 insertions, 0 deletions
diff --git a/synapse/storage/schema/main/delta/76/03_per_user_experimental_features.sql b/synapse/storage/schema/main/delta/76/03_per_user_experimental_features.sql
new file mode 100644
index 0000000000..c4ef81846c
--- /dev/null
+++ b/synapse/storage/schema/main/delta/76/03_per_user_experimental_features.sql
@@ -0,0 +1,27 @@
+/* Copyright 2023 The Matrix.org Foundation C.I.C
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+-- Table containing experimental features and whether they are enabled for a given user
+CREATE TABLE per_user_experimental_features (
+    -- The User ID to check/set the feature for
+    user_id TEXT NOT NULL,
+    -- Contains features to be enabled/disabled
+    feature TEXT NOT NULL,
+    -- whether the feature is enabled/disabled for a given user, defaults to disabled
+    enabled BOOLEAN DEFAULT FALSE,
+    FOREIGN KEY (user_id) REFERENCES users(name),
+    PRIMARY KEY (user_id, feature)
+);
+