Split the "core" definition files into separate files. To
make it easier to use the schema files with tools that don't support deep links.pull/977/head
parent
4d302d10c4
commit
6147562d14
@ -1,88 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"definitions": {
|
|
||||||
"event": {
|
|
||||||
"title": "Event",
|
|
||||||
"description": "The basic set of fields all events must have.",
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"event_id": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The globally unique event identifier."
|
|
||||||
},
|
|
||||||
"user_id": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "Contains the fully-qualified ID of the user who *sent* this event."
|
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"type": "object",
|
|
||||||
"description": "The fields in this object will vary depending on the type of event. When interacting with the REST API, this is the HTTP body."
|
|
||||||
},
|
|
||||||
"type": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The type of event. This SHOULD be namespaced similar to Java package naming conventions e.g. 'com.example.subdomain.event.type'"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": ["event_id", "user_id", "content", "type"]
|
|
||||||
},
|
|
||||||
"room_event": {
|
|
||||||
"type": "object",
|
|
||||||
"title": "Room Event",
|
|
||||||
"description": "In addition to the Event fields, Room Events MUST have the following additional field.",
|
|
||||||
"allOf":[{
|
|
||||||
"$ref": "#/definitions/event"
|
|
||||||
}],
|
|
||||||
"properties": {
|
|
||||||
"room_id": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The ID of the room associated with this event."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": ["room_id"]
|
|
||||||
},
|
|
||||||
"state_event": {
|
|
||||||
"type": "object",
|
|
||||||
"title": "State Event",
|
|
||||||
"description": "In addition to the Room Event fields, State Events have the following additional fields.",
|
|
||||||
"allOf":[{
|
|
||||||
"$ref": "#/definitions/room_event"
|
|
||||||
}],
|
|
||||||
"properties": {
|
|
||||||
"state_key": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "A unique key which defines the overwriting semantics for this piece of room state. This value is often a zero-length string. The presence of this key makes this event a State Event."
|
|
||||||
},
|
|
||||||
"prev_content": {
|
|
||||||
"type": "object",
|
|
||||||
"description": "Optional. The previous ``content`` for this event. If there is no previous content, this key will be missing."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": ["state_key"]
|
|
||||||
},
|
|
||||||
"msgtype_infos": {
|
|
||||||
"image_info": {
|
|
||||||
"type": "object",
|
|
||||||
"title": "ImageInfo",
|
|
||||||
"description": "Metadata about an image.",
|
|
||||||
"properties": {
|
|
||||||
"size": {
|
|
||||||
"type": "integer",
|
|
||||||
"description": "Size of the image in bytes."
|
|
||||||
},
|
|
||||||
"w": {
|
|
||||||
"type": "integer",
|
|
||||||
"description": "The width of the image in pixels."
|
|
||||||
},
|
|
||||||
"h": {
|
|
||||||
"type": "integer",
|
|
||||||
"description": "The height of the image in pixels."
|
|
||||||
},
|
|
||||||
"mimetype": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "The mimetype of the image, e.g. ``image/jpeg``."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"type": "object",
|
||||||
|
"title": "Event",
|
||||||
|
"description": "The basic set of fields all events must have.",
|
||||||
|
"properties": {
|
||||||
|
"event_id": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The globally unique event identifier."
|
||||||
|
},
|
||||||
|
"user_id": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Contains the fully-qualified ID of the user who *sent* this event."
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "The fields in this object will vary depending on the type of event. When interacting with the REST API, this is the HTTP body."
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The type of event. This SHOULD be namespaced similar to Java package naming conventions e.g. 'com.example.subdomain.event.type'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"title": "ImageInfo",
|
||||||
|
"description": "Metadata about an image.",
|
||||||
|
"properties": {
|
||||||
|
"size": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "Size of the image in bytes."
|
||||||
|
},
|
||||||
|
"w": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "The width of the image in pixels."
|
||||||
|
},
|
||||||
|
"h": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "The height of the image in pixels."
|
||||||
|
},
|
||||||
|
"mimetype": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The mimetype of the image, e.g. ``image/jpeg``."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"type": "object",
|
||||||
|
"title": "Room Event",
|
||||||
|
"description": "In addition to the Event fields, Room Events MUST have the following additional field.",
|
||||||
|
"allOf":[{
|
||||||
|
"$ref": "core/event.json"
|
||||||
|
}],
|
||||||
|
"properties": {
|
||||||
|
"room_id": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The ID of the room associated with this event."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["room_id"]
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||||
|
"type": "object",
|
||||||
|
"title": "State Event",
|
||||||
|
"description": "In addition to the Room Event fields, State Events have the following additional fields.",
|
||||||
|
"allOf":[{
|
||||||
|
"$ref": "core/room_event.json"
|
||||||
|
}],
|
||||||
|
"properties": {
|
||||||
|
"state_key": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "A unique key which defines the overwriting semantics for this piece of room state. This value is often a zero-length string. The presence of this key makes this event a State Event."
|
||||||
|
},
|
||||||
|
"prev_content": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "Optional. The previous ``content`` for this event. If there is no previous content, this key will be missing."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": ["state_key"]
|
||||||
|
}
|
Loading…
Reference in New Issue