diff --git a/event-schemas/core b/event-schemas/core new file mode 100644 index 00000000..5747de97 --- /dev/null +++ b/event-schemas/core @@ -0,0 +1,35 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "definitions": { + "event": { + "type": "object", + "properties": { + "event_id": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "content": { + "type": "object" + }, + "type": { + "type": "string" + } + }, + "required": ["event_id", "user_id", "content", "type"] + }, + "room_event": { + "type": "object", + "allOf":[{ + "$ref": "#/definitions/event" + }], + "properties": { + "room_id": { + "type": "string" + } + }, + "required": ["room_id"] + } + } +} diff --git a/event-schemas/m.room.message b/event-schemas/m.room.message new file mode 100644 index 00000000..0b22ca9d --- /dev/null +++ b/event-schemas/m.room.message @@ -0,0 +1,21 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "allOf": [{ + "$ref": "core#/definitions/room_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "msgtype": { + "type": "string" + }, + "body": { + "type": "string" + } + }, + "required": ["msgtype", "body"] + } + } +}