summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Echo/db_patches/echo_push_subscription.sql')
-rw-r--r--Echo/db_patches/echo_push_subscription.sql20
1 files changed, 20 insertions, 0 deletions
diff --git a/Echo/db_patches/echo_push_subscription.sql b/Echo/db_patches/echo_push_subscription.sql
new file mode 100644
index 00000000..94cab89e
--- /dev/null
+++ b/Echo/db_patches/echo_push_subscription.sql
@@ -0,0 +1,20 @@
+-- Stores push subscriptions associated with wiki users.
+CREATE TABLE /*_*/echo_push_subscription (
+ eps_id INT UNSIGNED NOT NULL PRIMARY KEY auto_increment,
+ -- central user ID
+ eps_user INT UNSIGNED NOT NULL,
+ -- platform-provided push subscription token
+ eps_token TEXT NOT NULL,
+ -- SHA256 digest of the push subscription token (to be used as a uniqueness constraint, since
+ -- the tokens themselves may be large)
+ eps_token_sha256 CHAR(64) NOT NULL UNIQUE,
+ -- push provider ID, expected to reference values 'fcm' or 'apns'
+ eps_provider TINYINT UNSIGNED NOT NULL,
+ -- last updated timestamp
+ eps_updated TIMESTAMP NOT NULL,
+ -- push subscription metadata (e.g APNS notification topic)
+ eps_data BLOB,
+ FOREIGN KEY (eps_provider) REFERENCES /*_*/echo_push_provider(epp_id)
+) /*$wgDBTableOptions*/;
+
+CREATE INDEX /*i*/echo_push_subscription_user_id ON /*_*/echo_push_subscription (eps_user);