diff --git a/event-schemas/core b/event-schemas/core index 5747de97..277ff768 100644 --- a/event-schemas/core +++ b/event-schemas/core @@ -30,6 +30,18 @@ } }, "required": ["room_id"] + }, + "state_event": { + "type": "object", + "allOf":[{ + "$ref": "#/definitions/room_event" + }], + "properties": { + "state_key": { + "type": "string" + } + }, + "required": ["state_key"] } } } diff --git a/event-schemas/examples/m.room.name b/event-schemas/examples/m.room.name new file mode 100644 index 00000000..636119b8 --- /dev/null +++ b/event-schemas/examples/m.room.name @@ -0,0 +1,12 @@ +{ + "age": 242352, + "content": { + "name": "The room name" + }, + "state_key": "", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.name", + "room_id": "!Cuyf34gef24t:localhost", + "user_id": "@example:localhost" +} diff --git a/event-schemas/m.room.name b/event-schemas/m.room.name new file mode 100644 index 00000000..bfcd509b --- /dev/null +++ b/event-schemas/m.room.name @@ -0,0 +1,22 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "allOf": [{ + "$ref": "core#/definitions/state_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": ["name"] + }, + "state_key": { + "type": "string", + "pattern": "^$" + } + } +}