Software /
code /
prosody-modules
Diff
mod_rest/res/schema-xmpp.json @ 4518:073f5397c1d2
mod_rest: Replace most mappings by using util.datamapper
All the stuff now goes into a JSON file that describes the mappings.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 21 Mar 2021 23:54:06 +0100 |
child | 4519:ea1fd703bb27 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_rest/res/schema-xmpp.json Sun Mar 21 23:54:06 2021 +0100 @@ -0,0 +1,204 @@ +{ + "_common" : { + "delay" : { + "format" : "date-time", + "title" : "XEP-0203: Delayed Delivery", + "type" : "string", + "xml" : { + "name" : "delay", + "namespace" : "urn:xmpp:delay", + "x_single_attribute" : "stamp" + } + }, + "from" : { + "description" : "the sender of the stanza", + "example" : "bob@example.net", + "format" : "xmpp-jid", + "type" : "string", + "xml" : { + "attribute" : true + } + }, + "id" : { + "description" : "Reasonably unique id. mod_rest generates one if left out.", + "type" : "string", + "xml" : { + "attribute" : true + } + }, + "lang" : { + "description" : "Language code", + "example" : "en", + "type" : "string", + "xml" : { + "attribute" : true, + "prefix" : "xml" + } + }, + "nick" : { + "type" : "string", + "xml" : { + "name" : "nick", + "namespace" : "http://jabber.org/protocol/nick" + } + }, + "to" : { + "description" : "the intended recipient for the stanza", + "example" : "alice@another.example", + "format" : "xmpp-jid", + "type" : "string", + "xml" : { + "attribute" : true + } + }, + "type" : { + "description" : "Stanza type", + "type" : "string", + "xml" : { + "attribute" : true + } + } + }, + "properties" : { + "iq" : { + "properties" : { + "ping" : { + "description" : "Test reachability of some XMPP address", + "enum" : [ + true + ], + "title" : "XEP-0199: XMPP Ping", + "type" : "boolean", + "xml" : { + "name" : "ping", + "namespace" : "urn:xmpp:ping", + "x_name_is_value" : true + } + }, + "version" : { + "description" : "Ask about software version information", + "properties" : { + "name" : { + "example" : "My Software", + "type" : "string" + }, + "os" : { + "example" : "Linux", + "type" : "string" + }, + "version" : { + "example" : "1.0.0", + "type" : "string" + } + }, + "required" : [ + "name", + "version" + ], + "title" : "XEP-0092: Software Version", + "type" : "object", + "xml" : { + "name" : "query", + "namespace" : "jabber:iq:version" + } + } + }, + "type" : "object", + "xml" : { + "name" : "iq" + } + }, + "message" : { + "properties" : { + "body" : { + "description" : "Human-readable chat message", + "example" : "Hello, World!", + "type" : "string" + }, + "replace" : { + "description" : "For indicating that a message is a correction of the last sent message.", + "title" : "XEP-0308: Last Message Correction", + "type" : "string", + "xml" : { + "name" : "replace", + "namespace" : "urn:xmpp:message-correct:0", + "x_single_attribute" : "id" + } + }, + "state" : { + "description" : "Chat state notifications, e.g. \"is typing...\"", + "enum" : [ + "active", + "inactive", + "gone", + "composing", + "paused" + ], + "type" : "string", + "xml" : { + "namespace" : "http://jabber.org/protocol/chatstates", + "x_name_is_value" : true + } + }, + "subject" : { + "description" : "Subject of message or group chat", + "example" : "Talking about stuff", + "type" : "string" + }, + "thread" : { + "description" : "Message thread identifier", + "properties" : { + "id" : { + "type" : "string", + "xml" : { + "text" : true + } + }, + "parent" : { + "type" : "string", + "xml" : { + "attribute" : true + } + } + }, + "type" : "object" + } + }, + "type" : "object", + "xml" : { + "name" : "message" + } + }, + "presence" : { + "properties" : { + "priority" : { + "description" : "Presence priority", + "type" : "string" + }, + "show" : { + "description" : "indicator of availability, ie away or not", + "enum" : [ + "away", + "chat", + "dnd", + "xa" + ], + "type" : "string" + }, + "status" : { + "description" : "Textual status message.", + "type" : "string" + } + }, + "type" : "object", + "xml" : { + "name" : "presence" + } + } + }, + "type" : "object", + "xml" : { + "name" : "xmpp", + "namespace" : "jabber:client" + } +}