Poster module ============= Room view API ------------- To get a list of all posters in a room, a client can push a message like this:: => ["poster.list", 1234, {"room": "room_1"}] <- ["success", 1234, [{…}]] To get a list of all posters in a room, a client can push a message like this:: => ["poster.get.presented_by_user", 1234, {"user_id": "user_234"}] <- ["success", 1234, [{…}]] To get a single entry, a client can push a message like this:: => ["poster.get", 1234, {"poster": "poster_id"}] <- ["success", 1234, {...}] The response in all cases will contain a list with the fields: * ``id``: (string) * ``title``: (string) * ``abstract``: (string) * ``authors``: TODO * ``category``: (string) * ``tags``: (list of strings) * ``poster_url``: (string, asset url) * ``poster_preview``: (string, image url) * ``schedule_session``: (string) * ``presenters``: (list of user objects) * ``votes``: (integer) * ``links``: (list of objects) * ``display_text`` (string) * ``url`` (string) * ``sorting_priority`` (integer) * ``parent_room_id``: (string, room uuid) * ``channel``: (string, channel uuid) * ``presentation_room_id``: (string, image url) * ``has_voted``: (boolean) To vote or unvote for an entry, a client can push a message like this:: => ["poster.vote", 1234, {"poster": "poster_id"}] <- ["success", 1234, {}] => ["poster.unvote", 1234, {"poster": "poster_id"}] <- ["success", 1234, {}] Management API -------------- To get a list of all posters a user can manage, a client can push a message like this:: => ["poster.list.all", 1234, {}] <- ["success", 1234, [{…}]] To delete a poster, you can send:: => ["poster.delete", 1234, {"poster": "poster_id"}] <- ["success", 1234, [{…}]] To update a poster, you can send:: => ["poster.patch", 1234, {"id": "poster_id", "category": "Science"}] <- ["success", 1234, [{…}]] To create a new poster, send ``poster.patch`` with the ``id`` field set to ``""``.