Skip to content

Commit 94816be

Browse files
authored
Merge pull request #7 from emonical/main
Support Spaces in room creation API
2 parents 7e24309 + eb2a2ad commit 94816be

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

synapse_admin/client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ def client_create_room(
6666
name: str = None,
6767
invite: Union[str, list] = None,
6868
federation: bool = True,
69-
encrypted: bool = True
69+
encrypted: bool = True,
70+
room_type: str = None
7071
) -> str:
7172
"""Create a room as a client
7273
@@ -77,6 +78,7 @@ def client_create_room(
7778
invite (Union[str, list], optional): list of members. Defaults to None. # noqa: E501
7879
federation (bool, optional): allow federation. Defaults to True.
7980
encrypted (bool, optional): create encrypted room or not. Defaults to True
81+
room_type: (str, optional): type of room to create
8082
8183
Returns:
8284
str: created room id
@@ -101,6 +103,8 @@ def client_create_room(
101103
raise TypeError("Argument invite must be str or list.")
102104
data["invite"] = validated_invite
103105
data["creation_content"] = {"m.federate": federation}
106+
if room_type is not None:
107+
data["creation_content"]["type"] = room_type
104108
if encrypted:
105109
data["initial_state"] = [{
106110
"type": "m.room.encryption",

synapse_admin/room.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,8 @@ def create(
211211
members: list = None,
212212
federation: bool = True,
213213
leave: bool = False,
214-
encrypted: bool = True
214+
encrypted: bool = True,
215+
room_type: str = None
215216
) -> RoomInformation:
216217
"""Create a room and force users to be a member
217218
@@ -222,6 +223,7 @@ def create(
222223
members (list, optional): a list of user that should be the members of the room. Defaults to None. # noqa: E501
223224
federation (bool, optional): can the room be federated. Defaults to True.
224225
leave (bool, optional): whether to leave the room yourself after the creation. Defaults to False.
226+
room_type (str, optional): the type of room. Defaults to None.
225227
226228
Returns:
227229
RoomInformation: roomid: room id, joined: a list of joined users
@@ -238,7 +240,8 @@ def create(
238240
alias,
239241
name,
240242
federation=federation,
241-
encrypted=encrypted
243+
encrypted=encrypted,
244+
room_type=room_type
242245
)
243246
joined = []
244247
if members is not None:

testing_env.sh

100644100755
File mode changed.

0 commit comments

Comments
 (0)