diff options
author | Luke Barnard <luke@matrix.org> | 2018-04-03 15:40:43 +0100 |
---|---|---|
committer | Luke Barnard <luke@matrix.org> | 2018-04-03 16:16:40 +0100 |
commit | eb8d8d6f57c7f6017548aa95409bb8cc346a5ae0 (patch) | |
tree | aa99b62a30badf0669b8e0ccae3960a9bdfd490e /synapse/storage | |
parent | This should probably be a PUT (diff) | |
download | synapse-eb8d8d6f57c7f6017548aa95409bb8cc346a5ae0.tar.xz |
Use join_policy API instead of joinable
The API is now under /groups/$group_id/setting/m.join_policy and expects a JSON blob of the shape ```json { "m.join_policy": { "type": "invite" } } ``` where "invite" could alternatively be "open".
Diffstat (limited to 'synapse/storage')
-rw-r--r-- | synapse/storage/group_server.py | 6 | ||||
-rw-r--r-- | synapse/storage/schema/delta/48/groups_joinable.sql | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/synapse/storage/group_server.py b/synapse/storage/group_server.py index 96553d4fb1..db66ea1eb0 100644 --- a/synapse/storage/group_server.py +++ b/synapse/storage/group_server.py @@ -30,16 +30,16 @@ _DEFAULT_ROLE_ID = "" class GroupServerStore(SQLBaseStore): - def set_group_joinable(self, group_id, is_joinable): + def set_group_join_policy(self, group_id, join_policy): return self._simple_update_one( table="groups", keyvalues={ "group_id": group_id, }, updatevalues={ - "is_joinable": is_joinable, + "join_policy": join_policy, }, - desc="set_group_joinable", + desc="set_group_join_policy", ) def get_group(self, group_id): diff --git a/synapse/storage/schema/delta/48/groups_joinable.sql b/synapse/storage/schema/delta/48/groups_joinable.sql index ace7d0a723..ab3b00286d 100644 --- a/synapse/storage/schema/delta/48/groups_joinable.sql +++ b/synapse/storage/schema/delta/48/groups_joinable.sql @@ -13,4 +13,10 @@ * limitations under the License. */ -ALTER TABLE groups ADD COLUMN is_joinable SMALLINT DEFAULT 0 NOT NULL; +/* + * This isn't a real ENUM because sqlite doesn't support it + * and we use a default of NULL for inserted rows and interpret + * NULL at the python store level as necessary so that existing + * rows are given the correct default policy. + */ +ALTER TABLE groups ADD COLUMN join_policy TEXT DEFAULT NULL; |