mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-02-02 04:23:42 +01:00
Rename "schema/v1/core" to "schema/v1/core-event-schema". Add self-referential symlinks to schema/v1/core-event-schema The python json schema libraries expect that relative references are relative to the file they are in. The node json schema libraries expect that relateive references are relative to the first file loaded. To support both kinds we reference the core event schema using "core-event-schema/event.json". We then symlink the core-event-schema directory to both the location of the file refering to "event.json" so that it will work in python and to the location of the top level file so that it will work in node.
39 lines
1.6 KiB
Plaintext
39 lines
1.6 KiB
Plaintext
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"type": "object",
|
|
"title": "The current membership state of a user in the room.",
|
|
"description": "Adjusts the membership state for a user in a room. It is preferable to use the membership APIs (``/rooms/<room id>/invite`` etc) when performing membership actions rather than adjusting the state directly as there are a restricted set of valid transformations. For example, user A cannot force user B to join a room, and trying to force this state change directly will fail.",
|
|
"allOf": [{
|
|
"$ref": "core-event-schema/state_event.json"
|
|
}],
|
|
"properties": {
|
|
"content": {
|
|
"type": "object",
|
|
"properties": {
|
|
"membership": {
|
|
"type": "string",
|
|
"description": "The membership state of the user.",
|
|
"enum": ["invite","join","knock","leave","ban"]
|
|
},
|
|
"avatar_url": {
|
|
"type": "string",
|
|
"description": "The avatar URL for this user, if any. This is added by the homeserver."
|
|
},
|
|
"displayname": {
|
|
"type": "string",
|
|
"description": "The display name for this user, if any. This is added by the homeserver."
|
|
}
|
|
},
|
|
"required": ["membership"]
|
|
},
|
|
"state_key": {
|
|
"type": "string",
|
|
"description": "The ``user_id`` this membership event relates to."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["m.room.member"]
|
|
}
|
|
}
|
|
}
|