annotate mod_muc_http_defaults/README.markdown @ 4499:8e644bf36627

mod_rest: Change OOB namespace to the one used in messages Because of it's current popularity as companion to HTTP Upload this is probably more useful than the iq one.
author Kim Alvefur <zash@zash.se>
date Sun, 07 Mar 2021 01:26:20 +0100
parents 017ad6ed96ae
children e11abf578df5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4447
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 ---
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 summary: Seed MUC configuration from JSON REST API
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 ---
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 # Introduction
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 This module fetches configuration for MUC rooms from an API when rooms
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 are created.
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 # Requirements
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11
4448
5879ca1f7853 mod_muc_http_defaults: Remove fancy to be 0.11-compatible
Kim Alvefur <zash@zash.se>
parents: 4447
diff changeset
12 Should work with Prosody 0.11.
4447
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 # Configuration
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 `muc_create_api_url`
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 : URL template for the API endpoint to get settings. `{room.jid}` is
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 replaced by the address of the room in question.
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 `muc_create_api_auth`
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 : The value of the Authorization header to authenticate against the
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 API. E.g. `"Bearer /rXU4tkQTYQMgdHfMLH6"`{.lua}
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23
4455
89e54247ade6 mod_muc_http_defaults: Add template filters to let you extract room JID parts
Kim Alvefur <zash@zash.se>
parents: 4453
diff changeset
24 In the URL template variable, the room JID is available as `{room.jid}`,
89e54247ade6 mod_muc_http_defaults: Add template filters to let you extract room JID parts
Kim Alvefur <zash@zash.se>
parents: 4453
diff changeset
25 which would be turned into `room@muc.host`. To only get the room
89e54247ade6 mod_muc_http_defaults: Add template filters to let you extract room JID parts
Kim Alvefur <zash@zash.se>
parents: 4453
diff changeset
26 localpart, `{room.jid|jid_node}` can be used, and `{room.jid|jid_host}`
89e54247ade6 mod_muc_http_defaults: Add template filters to let you extract room JID parts
Kim Alvefur <zash@zash.se>
parents: 4453
diff changeset
27 splits out the `muc.host` part.
89e54247ade6 mod_muc_http_defaults: Add template filters to let you extract room JID parts
Kim Alvefur <zash@zash.se>
parents: 4453
diff changeset
28
4447
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 ## Example
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 ``` {.lua}
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 Component "channels.example.net" "muc"
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 modules_enabled = { "muc_http_defaults" }
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 muc_create_api_url = "https://api.example.net/muc/config?jid={room.jid}"
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 ```
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 # API
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 A RESTful JSON API is used. Any error causes the room to be destroyed.
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
40
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
41 The returned JSON consists of two main parts, the room configuration and
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
42 the affiliations (member list).
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43
4453
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
44 ## Room Configuration
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
45
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
46 The top level `config` field contains a map of properties corresponding
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
47 to the fields in the room configuration dialog, named similarly to the
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
48 [room configuration default][doc:modules:mod_muc#room-configuration-defaults] in
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
49 Prosodys config file.
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
50
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
51 | Property | Type | Description |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
52 |------------------------|---------|---------------------------------------------------------------------------|
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
53 | `name` | string | Name of the chat |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
54 | `description` | string | Longer description of the chat |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
55 | `language` | string | Language code |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
56 | `persistent` | boolean | Whether the room should keep existing if it becomes empty |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
57 | `public` | boolean | `true` to include in public listing |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
58 | `members_only` | boolean | Membership or open |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
59 | `allow_member_invites` | boolean | If members can invite others into members-only rooms |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
60 | `public_jids` | boolean | If everyone or only moderators should see real identities |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
61 | `subject` | string | In-room subject or topic message |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
62 | `changesubject` | boolean | If `true` then everyone can change the subject, otherwise only moderators |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
63 | `historylength` | integer | Number of messages to keep in memory (legacy method) |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
64 | `moderated` | boolean | New participants start without voice privileges if set to `true` |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
65 | `archiving` | boolean | Whether [archiving][doc:modules:mod_muc_mam] is enabled |
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
66
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
67 ## Affiliations
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
68
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
69 The list of members go in `affiliations` which is either an object
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
70 mapping addresses to affiliations (e.g. `{"user@host":"admin"}`{.json}),
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
71 or it can be an array of address, affiliation and optionally a reserved
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
72 nickname (e.g.
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
73 `[{"jid":"user@host","affiliation":"member","nick":"joe"}]`{.json}).
0508822361eb mod_muc_http_defaults: Expand documentation on expected API response
Kim Alvefur <zash@zash.se>
parents: 4452
diff changeset
74
4447
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
75 ## Schema
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
76
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
77 Here's a JSON Schema in YAML format describing the expected JSON
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
78 response data:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
79
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
80 ``` {.yaml}
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
81 ---
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
82 type: object
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
83 properties:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
84 config:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
85 type: object
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
86 properties:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
87 name: string
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
88 description: string
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
89 language: string
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
90 persistent: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
91 public: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
92 members_only: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
93 allow_member_invites: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
94 public_jids: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
95 subject: string
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
96 changesubject: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
97 historylength: integer
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
98 moderated: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
99 archiving: boolean
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
100 affiliations:
4452
6086fcf20da8 mod_muc_http_defaults: Minor schema tweak
Kim Alvefur <zash@zash.se>
parents: 4448
diff changeset
101 oneOf:
4447
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
102 - type: array
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
103 items:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
104 type: object
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
105 required:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
106 - jid
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
107 - affiliation
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
108 properties:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
109 jid:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
110 type: string
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
111 pattern: ^[^@/]+@[^/]+$
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
112 affiliation:
4475
017ad6ed96ae mod_muc_http_defaults: Schema corrections
Kim Alvefur <zash@zash.se>
parents: 4455
diff changeset
113 $ref: '#/definitions/affiliation'
4447
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
114 nick: string
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
115 - type: object
4475
017ad6ed96ae mod_muc_http_defaults: Schema corrections
Kim Alvefur <zash@zash.se>
parents: 4455
diff changeset
116 additionalProperties:
017ad6ed96ae mod_muc_http_defaults: Schema corrections
Kim Alvefur <zash@zash.se>
parents: 4455
diff changeset
117 $ref: '#/definitions/affiliation'
4447
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
118 definitions:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
119 affiliation:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
120 type: string
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
121 enum:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
122 - owner
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
123 - admin
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
124 - member
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
125 - none
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
126 - outcast
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
127 ...
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
128 ```
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
129
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
130 ## Example
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
131
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
132 A basic example with some config settings and a few affiliations:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
133
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
134 ``` {.json}
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
135 GET /muc/config?jid=place@channels.example.net
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
136 Accept: application/json
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
137
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
138 HTTP/1.1 200 OK
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
139 Content-Type: application/json
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
140
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
141 {
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
142 "affiliations" : [
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
143 {
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
144 "affiliation" : "owner",
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
145 "jid" : "bosmang@example.net",
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
146 "nick" : "bosmang"
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
147 },
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
148 {
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
149 "affiliation" : "admin",
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
150 "jid" : "xo@example.net",
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
151 "nick" : "xo"
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
152 },
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
153 {
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
154 "affiliation" : "member",
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
155 "jid" : "john@example.net"
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
156 }
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
157 ],
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
158 "config" : {
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
159 "archiving" : true,
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
160 "description" : "This is the place",
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
161 "members_only" : true,
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
162 "moderated" : false,
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
163 "name" : "The Place",
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
164 "persistent" : true,
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
165 "public" : false,
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
166 "subject" : "Discussions regarding The Place"
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
167 }
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
168 }
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
169 ```
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
170
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
171 To allow the creation without making any changes, letting whoever
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
172 created it be the owner, just return an empty JSON object:
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
173
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
174 HTTP/1.1 200 OK
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
175 Content-Type: application/json
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
176
07aa101a1ae7 mod_muc_http_defaults: Get MUC room config from an API
Kim Alvefur <zash@zash.se>
parents:
diff changeset
177 {}