diff --git a/event-schemas/examples/v1/m.room.history_visibility b/event-schemas/examples/v1/m.room.history_visibility new file mode 100644 index 00000000..ad1ea9ae --- /dev/null +++ b/event-schemas/examples/v1/m.room.history_visibility @@ -0,0 +1,12 @@ +{ + "age": 242352, + "content": { + "history_visibility": "shared" + }, + "state_key": "localhost", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.history_visibility", + "room_id": "!Cuyf34gef24t:localhost", + "user_id": "@example:localhost" +} diff --git a/event-schemas/schema/v1/m.room.history_visibility b/event-schemas/schema/v1/m.room.history_visibility new file mode 100644 index 00000000..58cd7e7a --- /dev/null +++ b/event-schemas/schema/v1/m.room.history_visibility @@ -0,0 +1,31 @@ + + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "title": "Controls visibility of history.", + "description": "This event controls whether a member of a room can see the events that happened in a room from before they joined.", + "allOf": [{ + "$ref": "core#/definitions/state_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "history_visibility": { + "type": "string", + "description": "Who can see the room history.", + "enum": ["invited","joined","shared"] + } + }, + "required": ["history_visibility"] + }, + "state_key": { + "type": "string", + "description": "A zero-length string.", + "pattern": "^$" + }, + "type": { + "type": "string", + "enum": ["m.room.history_visibility"] + } + } +}