summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2015-01-16 11:24:10 +0000
committerDavid Baker <dave@matrix.org>2015-01-16 11:24:10 +0000
commit2d2953cf5fce26625e56fc1abc230735d007ea1e (patch)
treef792d8e4067d5edf43e5bed876fe5d4ee11d8a51 /synapse
parentSend room name and first alias in notification poke. (diff)
downloadsynapse-2d2953cf5fce26625e56fc1abc230735d007ea1e.tar.xz
Require device language when adding a pusher.
Because this seems like it might be useful to do sooner rather
than later.
Diffstat (limited to 'synapse')
-rw-r--r--synapse/push/pusherpool.py8
-rw-r--r--synapse/rest/pusher.py3
-rw-r--r--synapse/storage/pusher.py3
-rw-r--r--synapse/storage/schema/delta/v10.sql1
-rw-r--r--synapse/storage/schema/pusher.sql1
5 files changed, 11 insertions, 5 deletions
diff --git a/synapse/push/pusherpool.py b/synapse/push/pusherpool.py
index edddc3003e..8c77f4b668 100644
--- a/synapse/push/pusherpool.py
+++ b/synapse/push/pusherpool.py
@@ -41,7 +41,7 @@ class PusherPool:
 
     @defer.inlineCallbacks
     def add_pusher(self, user_name, kind, app_id,
-                   app_display_name, device_display_name, pushkey, data):
+                   app_display_name, device_display_name, pushkey, lang, data):
         # we try to create the pusher just to validate the config: it
         # will then get pulled out of the database,
         # recreated, added and started: this means we have only one
@@ -54,6 +54,7 @@ class PusherPool:
             "device_display_name": device_display_name,
             "pushkey": pushkey,
             "pushkey_ts": self.hs.get_clock().time_msec(),
+            "lang": lang,
             "data": data,
             "last_token": None,
             "last_success": None,
@@ -62,13 +63,13 @@ class PusherPool:
         yield self._add_pusher_to_store(
             user_name, kind, app_id,
             app_display_name, device_display_name,
-            pushkey, data
+            pushkey, lang, data
         )
 
     @defer.inlineCallbacks
     def _add_pusher_to_store(self, user_name, kind, app_id,
                              app_display_name, device_display_name,
-                             pushkey, data):
+                             pushkey, lang, data):
         yield self.store.add_pusher(
             user_name=user_name,
             kind=kind,
@@ -77,6 +78,7 @@ class PusherPool:
             device_display_name=device_display_name,
             pushkey=pushkey,
             pushkey_ts=self.hs.get_clock().time_msec(),
+            lang=lang,
             data=json.dumps(data)
         )
         self._refresh_pusher((app_id, pushkey))
diff --git a/synapse/rest/pusher.py b/synapse/rest/pusher.py
index 5b371318d0..6b9a59adb6 100644
--- a/synapse/rest/pusher.py
+++ b/synapse/rest/pusher.py
@@ -32,7 +32,7 @@ class PusherRestServlet(RestServlet):
         content = _parse_json(request)
 
         reqd = ['kind', 'app_id', 'app_display_name',
-                'device_display_name', 'pushkey', 'data']
+                'device_display_name', 'pushkey', 'lang', 'data']
         missing = []
         for i in reqd:
             if i not in content:
@@ -50,6 +50,7 @@ class PusherRestServlet(RestServlet):
                 app_display_name=content['app_display_name'],
                 device_display_name=content['device_display_name'],
                 pushkey=content['pushkey'],
+                lang=content['lang'],
                 data=content['data']
             )
         except PusherConfigException as pce:
diff --git a/synapse/storage/pusher.py b/synapse/storage/pusher.py
index bfc4980256..4eb30c7bdf 100644
--- a/synapse/storage/pusher.py
+++ b/synapse/storage/pusher.py
@@ -94,7 +94,7 @@ class PusherStore(SQLBaseStore):
     @defer.inlineCallbacks
     def add_pusher(self, user_name, kind, app_id,
                    app_display_name, device_display_name,
-                   pushkey, pushkey_ts, data):
+                   pushkey, pushkey_ts, lang, data):
         try:
             yield self._simple_upsert(
                 PushersTable.table_name,
@@ -108,6 +108,7 @@ class PusherStore(SQLBaseStore):
                     app_display_name=app_display_name,
                     device_display_name=device_display_name,
                     ts=pushkey_ts,
+                    lang=lang,
                     data=data
                 ))
         except Exception as e:
diff --git a/synapse/storage/schema/delta/v10.sql b/synapse/storage/schema/delta/v10.sql
index a991e4eb11..689d2dff8b 100644
--- a/synapse/storage/schema/delta/v10.sql
+++ b/synapse/storage/schema/delta/v10.sql
@@ -22,6 +22,7 @@ CREATE TABLE IF NOT EXISTS pushers (
   device_display_name varchar(128) NOT NULL,
   pushkey blob NOT NULL,
   ts BIGINT NOT NULL,
+  lang varchar(8),
   data blob,
   last_token TEXT,
   last_success BIGINT,
diff --git a/synapse/storage/schema/pusher.sql b/synapse/storage/schema/pusher.sql
index a991e4eb11..689d2dff8b 100644
--- a/synapse/storage/schema/pusher.sql
+++ b/synapse/storage/schema/pusher.sql
@@ -22,6 +22,7 @@ CREATE TABLE IF NOT EXISTS pushers (
   device_display_name varchar(128) NOT NULL,
   pushkey blob NOT NULL,
   ts BIGINT NOT NULL,
+  lang varchar(8),
   data blob,
   last_token TEXT,
   last_success BIGINT,