diff options
author | Erik Johnston <erik@matrix.org> | 2014-08-15 10:26:35 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2014-08-15 10:26:35 +0100 |
commit | 5002efa31bb57a92b87b9d7319641d9b5a2a6047 (patch) | |
tree | 48a7c9561b43f807c14332505486c7d6129b830a /synapse/api | |
parent | Fix up typos and correct sql queries (diff) | |
download | synapse-5002efa31bb57a92b87b9d7319641d9b5a2a6047.tar.xz |
Reimplement the get public rooms api to work with new DB schema
Diffstat (limited to 'synapse/api')
-rw-r--r-- | synapse/api/events/factory.py | 3 | ||||
-rw-r--r-- | synapse/api/events/room.py | 23 |
2 files changed, 25 insertions, 1 deletions
diff --git a/synapse/api/events/factory.py b/synapse/api/events/factory.py index 12aa04fc6e..23d2b0401c 100644 --- a/synapse/api/events/factory.py +++ b/synapse/api/events/factory.py @@ -15,7 +15,7 @@ from synapse.api.events.room import ( RoomTopicEvent, MessageEvent, RoomMemberEvent, FeedbackEvent, - InviteJoinEvent, RoomConfigEvent + InviteJoinEvent, RoomConfigEvent, RoomNameEvent, ) from synapse.util.stringutils import random_string @@ -25,6 +25,7 @@ class EventFactory(object): _event_classes = [ RoomTopicEvent, + RoomNameEvent, MessageEvent, RoomMemberEvent, FeedbackEvent, diff --git a/synapse/api/events/room.py b/synapse/api/events/room.py index f3df849af2..8136d495d5 100644 --- a/synapse/api/events/room.py +++ b/synapse/api/events/room.py @@ -19,14 +19,37 @@ from . import SynapseEvent class RoomTopicEvent(SynapseEvent): TYPE = "m.room.topic" + internal_keys = SynapseEvent.internal_keys + [ + "topic", + ] + def __init__(self, **kwargs): kwargs["state_key"] = "" + if "topic" in kwargs["content"]: + kwargs["topic"] = kwargs["content"]["topic"] super(RoomTopicEvent, self).__init__(**kwargs) def get_content_template(self): return {"topic": u"string"} +class RoomNameEvent(SynapseEvent): + TYPE = "m.room.name" + + internal_keys = SynapseEvent.internal_keys + [ + "name", + ] + + def __init__(self, **kwargs): + kwargs["state_key"] = "" + if "name" in kwargs["content"]: + kwargs["name"] = kwargs["content"]["name"] + super(RoomNameEvent, self).__init__(**kwargs) + + def get_content_template(self): + return {"name": u"string"} + + class RoomMemberEvent(SynapseEvent): TYPE = "m.room.member" |