mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-02-13 09:33:43 +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.
32 lines
1.2 KiB
Plaintext
32 lines
1.2 KiB
Plaintext
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"type": "object",
|
|
"title": "Describes how users are allowed to join the room.",
|
|
"description": "A room may be ``public`` meaning anyone can join the room without any prior action. Alternatively, it can be ``invite`` meaning that a user who wishes to join the room must first receive an invite to the room from someone already inside of the room. Currently, ``knock`` and ``private`` are reserved keywords which are not implemented.",
|
|
"allOf": [{
|
|
"$ref": "core-event-schema/state_event.json"
|
|
}],
|
|
"properties": {
|
|
"content": {
|
|
"type": "object",
|
|
"properties": {
|
|
"join_rule": {
|
|
"type": "string",
|
|
"description": "The type of rules used for users wishing to join this room.",
|
|
"enum": ["public","knock","invite","private"]
|
|
}
|
|
},
|
|
"required": ["join_rule"]
|
|
},
|
|
"state_key": {
|
|
"type": "string",
|
|
"description": "A zero-length string.",
|
|
"pattern": "^$"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["m.room.join_rules"]
|
|
}
|
|
}
|
|
}
|