From c78088cfd175df23a05b2a0d2c165b78b22f69b8 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Mon, 18 May 2015 17:10:11 +0100 Subject: [PATCH] Add m.room.aliases/create/join_rules/member/power_levels --- event-schemas/examples/m.room.aliases | 12 +++++++ event-schemas/examples/m.room.create | 12 +++++++ event-schemas/examples/m.room.join_rules | 12 +++++++ event-schemas/examples/m.room.member | 12 +++++++ event-schemas/examples/m.room.power_levels | 24 +++++++++++++ event-schemas/schema/m.room.aliases | 25 +++++++++++++ event-schemas/schema/m.room.create | 26 ++++++++++++++ event-schemas/schema/m.room.join_rules | 27 ++++++++++++++ event-schemas/schema/m.room.member | 26 ++++++++++++++ event-schemas/schema/m.room.power_levels | 42 ++++++++++++++++++++++ 10 files changed, 218 insertions(+) create mode 100644 event-schemas/examples/m.room.aliases create mode 100644 event-schemas/examples/m.room.create create mode 100644 event-schemas/examples/m.room.join_rules create mode 100644 event-schemas/examples/m.room.member create mode 100644 event-schemas/examples/m.room.power_levels create mode 100644 event-schemas/schema/m.room.aliases create mode 100644 event-schemas/schema/m.room.create create mode 100644 event-schemas/schema/m.room.join_rules create mode 100644 event-schemas/schema/m.room.member create mode 100644 event-schemas/schema/m.room.power_levels diff --git a/event-schemas/examples/m.room.aliases b/event-schemas/examples/m.room.aliases new file mode 100644 index 00000000..07b4b330 --- /dev/null +++ b/event-schemas/examples/m.room.aliases @@ -0,0 +1,12 @@ +{ + "age": 242352, + "content": { + "aliases": ["#somewhere:localhost", "#another:localhost"] + }, + "state_key": "localhost", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.aliases", + "room_id": "!Cuyf34gef24t:localhost", + "user_id": "@example:localhost" +} diff --git a/event-schemas/examples/m.room.create b/event-schemas/examples/m.room.create new file mode 100644 index 00000000..a3598853 --- /dev/null +++ b/event-schemas/examples/m.room.create @@ -0,0 +1,12 @@ +{ + "age": 242352, + "content": { + "creator": "@example:localhost" + }, + "state_key": "", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.create", + "room_id": "!Cuyf34gef24t:localhost", + "user_id": "@example:localhost" +} diff --git a/event-schemas/examples/m.room.join_rules b/event-schemas/examples/m.room.join_rules new file mode 100644 index 00000000..f22ad97e --- /dev/null +++ b/event-schemas/examples/m.room.join_rules @@ -0,0 +1,12 @@ +{ + "age": 242352, + "content": { + "join_rule": "public" + }, + "state_key": "", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.join_rules", + "room_id": "!Cuyf34gef24t:localhost", + "user_id": "@example:localhost" +} diff --git a/event-schemas/examples/m.room.member b/event-schemas/examples/m.room.member new file mode 100644 index 00000000..abfd89ce --- /dev/null +++ b/event-schemas/examples/m.room.member @@ -0,0 +1,12 @@ +{ + "age": 242352, + "content": { + "membership": "join" + }, + "state_key": "@alice:localhost", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.member", + "room_id": "!Cuyf34gef24t:localhost", + "user_id": "@example:localhost" +} diff --git a/event-schemas/examples/m.room.power_levels b/event-schemas/examples/m.room.power_levels new file mode 100644 index 00000000..8278597a --- /dev/null +++ b/event-schemas/examples/m.room.power_levels @@ -0,0 +1,24 @@ +{ + "age": 242352, + "content": { + "ban": 50, + "events": { + "m.room.name": 100, + "m.room.power_levels": 100 + }, + "events_default": 0, + "kick": 50, + "redact": 50, + "state_default": 50, + "users": { + "@example:localhost": 100 + }, + "users_default": 0 + }, + "state_key": "", + "origin_server_ts": 1431961217939, + "event_id": "$WLGTSEFSEF:localhost", + "type": "m.room.power_levels", + "room_id": "!Cuyf34gef24t:localhost", + "user_id": "@example:localhost" +} diff --git a/event-schemas/schema/m.room.aliases b/event-schemas/schema/m.room.aliases new file mode 100644 index 00000000..6c91eed7 --- /dev/null +++ b/event-schemas/schema/m.room.aliases @@ -0,0 +1,25 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "allOf": [{ + "$ref": "core#/definitions/state_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "aliases": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["aliases"] + }, + "type": { + "type": "string", + "enum": ["m.room.aliases"] + } + } +} diff --git a/event-schemas/schema/m.room.create b/event-schemas/schema/m.room.create new file mode 100644 index 00000000..9e6e83bd --- /dev/null +++ b/event-schemas/schema/m.room.create @@ -0,0 +1,26 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "allOf": [{ + "$ref": "core#/definitions/state_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "creator": { + "type": "string" + } + }, + "required": ["creator"] + }, + "state_key": { + "type": "string", + "pattern": "^$" + }, + "type": { + "type": "string", + "enum": ["m.room.create"] + } + } +} diff --git a/event-schemas/schema/m.room.join_rules b/event-schemas/schema/m.room.join_rules new file mode 100644 index 00000000..3954a962 --- /dev/null +++ b/event-schemas/schema/m.room.join_rules @@ -0,0 +1,27 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "allOf": [{ + "$ref": "core#/definitions/state_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "join_rule": { + "type": "string", + "enum": ["public","knock","invite","private"] + } + }, + "required": ["join_rule"] + }, + "state_key": { + "type": "string", + "pattern": "^$" + }, + "type": { + "type": "string", + "enum": ["m.room.join_rules"] + } + } +} diff --git a/event-schemas/schema/m.room.member b/event-schemas/schema/m.room.member new file mode 100644 index 00000000..8f5291b3 --- /dev/null +++ b/event-schemas/schema/m.room.member @@ -0,0 +1,26 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "allOf": [{ + "$ref": "core#/definitions/state_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "membership": { + "type": "string", + "enum": ["invite","join","leave","ban"] + } + }, + "required": ["membership"] + }, + "state_key": { + "type": "string" + }, + "type": { + "type": "string", + "enum": ["m.room.member"] + } + } +} diff --git a/event-schemas/schema/m.room.power_levels b/event-schemas/schema/m.room.power_levels new file mode 100644 index 00000000..91621149 --- /dev/null +++ b/event-schemas/schema/m.room.power_levels @@ -0,0 +1,42 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "allOf": [{ + "$ref": "core#/definitions/state_event" + }], + "properties": { + "content": { + "type": "object", + "properties": { + "ban": { "type": "number" }, + "events_default": { "type": "number" }, + "kick": { "type": "number" }, + "redact": { "type": "number" }, + "state_default": { "type": "number" }, + "users_default": { "type": "number" }, + "events": { + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "users": { + "type": "object", + "additionalProperties": { + "type": "number" + } + } + }, + "required": ["ban","events","events_default","kick","redact", + "state_default","users","users_default"] + }, + "state_key": { + "type": "string", + "pattern": "^$" + }, + "type": { + "type": "string", + "enum": ["m.room.power_levels"] + } + } +}