social.colibri.community.defs
Schema Diff
+20 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 12 non-breaking changes.
Non-Breaking Changes (12)
- AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#channelView.linkEmbeds" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.banner" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.linkEmbeds" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerDeafened" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerMuted" }
- AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#resolvedInvitationView.banner" }
- AddedEdge AddedEdge { src: "social.colibri.community.defs#channelView", tgt: "social.colibri.community.defs#channelView.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
- AddedEdge AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
- AddedEdge AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
- AddedEdge AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerDeafened", kind: "prop", name: Some("vcServerDeafened") }
- AddedEdge AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerMuted", kind: "prop", name: Some("vcServerMuted") }
- AddedEdge AddedEdge { src: "social.colibri.community.defs#resolvedInvitationView", tgt: "social.colibri.community.defs#resolvedInvitationView.banner", kind: "prop", name: Some("banner") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.colibri.community.defs#channelView.linkEmbeds" }AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.banner" }AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.linkEmbeds" }AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerDeafened" }AddedVertex { vertex_id: "social.colibri.community.defs#memberView.vcServerMuted" }AddedVertex { vertex_id: "social.colibri.community.defs#resolvedInvitationView.banner" }
Additional Notes
- Non-breaking: AddedEdge { src: "social.colibri.community.defs#channelView", tgt: "social.colibri.community.defs#channelView.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
- Non-breaking: AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
- Non-breaking: AddedEdge { src: "social.colibri.community.defs#communityInfo", tgt: "social.colibri.community.defs#communityInfo.linkEmbeds", kind: "prop", name: Some("linkEmbeds") }
- Non-breaking: AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerDeafened", kind: "prop", name: Some("vcServerDeafened") }
- Non-breaking: AddedEdge { src: "social.colibri.community.defs#memberView", tgt: "social.colibri.community.defs#memberView.vcServerMuted", kind: "prop", name: Some("vcServerMuted") }
- Non-breaking: AddedEdge { src: "social.colibri.community.defs#resolvedInvitationView", tgt: "social.colibri.community.defs#resolvedInvitationView.banner", kind: "prop", name: Some("banner") }
1
1
{
2
2
"id": "social.colibri.community.defs",
3
3
"defs": {
4
4
"roleView": {
5
5
"type": "object",
6
6
"required": [
7
7
"uri",
8
8
"name",
9
9
"permissions",
10
10
"position"
11
11
],
12
12
"properties": {
13
13
"uri": {
14
14
"type": "string",
15
15
"format": "at-uri"
16
16
},
17
17
"name": {
18
18
"type": "string"
19
19
},
20
20
"color": {
21
21
"type": "string"
22
22
},
23
23
"hoisted": {
24
24
"type": "boolean"
25
25
},
26
26
"position": {
27
27
"type": "integer"
28
28
},
29
29
"protected": {
30
30
"type": "boolean"
31
31
},
32
32
"mentionable": {
33
33
"type": "boolean"
34
34
},
35
35
"permissions": {
36
36
"type": "array",
37
37
"items": {
38
38
"type": "string"
39
39
}
40
40
},
41
41
"channelOverrides": {
42
42
"type": "array",
43
43
"items": {
44
44
"ref": "lex:social.colibri.community.defs#channelOverrideView",
45
45
"type": "ref"
46
46
}
47
47
}
48
48
}
49
49
},
50
50
"memberView": {
51
51
"type": "object",
52
52
"required": [
53
53
"did",
54
54
"handle",
55
55
"roles",
56
56
"data"
57
57
],
58
58
"properties": {
59
59
"vc": {
60
60
"type": "string",
61
61
"format": "at-uri",
62
62
"description": "AT-URI of the voice channel the member is currently connected to, if any."
63
63
},
64
64
"did": {
65
65
"type": "string",
66
66
"format": "did"
67
67
},
68
68
"data": {
69
69
"ref": "lex:social.colibri.actor.defs#actorData",
70
70
"type": "ref"
71
71
},
72
72
"roles": {
73
73
"type": "array",
74
74
"items": {
75
75
"type": "string",
76
76
"format": "at-uri"
77
77
}
78
78
},
79
79
"handle": {
80
80
"type": "string",
81
81
"format": "handle"
82
82
},
83
83
"vcMuted": {
84
84
"type": "boolean",
85
85
"description": "Whether the member's microphone is muted in the voice channel."
86
86
},
87
87
"vcDeafened": {
88
88
"type": "boolean",
89
89
"description": "Whether the member is deafened in the voice channel."
90
+
},
91
+
"vcServerMuted": {
92
+
"type": "boolean",
93
+
"description": "Whether the member has been server-muted by a moderator in the voice channel."
94
+
},
95
+
"vcServerDeafened": {
96
+
"type": "boolean",
97
+
"description": "Whether the member has been server-deafened by a moderator in the voice channel."
90
98
}
91
99
},
92
100
"description": "A community member, hydrated with their actor data."
93
101
},
94
102
"channelView": {
95
103
"type": "object",
96
104
"required": [
97
105
"uri",
98
106
"name",
99
107
"type",
100
108
"category"
101
109
],
102
110
"properties": {
103
111
"uri": {
104
112
"type": "string",
105
113
"format": "at-uri"
106
114
},
107
115
"name": {
108
116
"type": "string"
109
117
},
110
118
"type": {
111
119
"type": "string",
112
120
"format": "nsid"
113
121
},
114
122
"category": {
115
123
"type": "string",
116
124
"format": "at-uri"
117
125
},
118
126
"ownerOnly": {
119
127
"type": "boolean"
120
128
},
129
+
"linkEmbeds": {
130
+
"type": "boolean"
131
+
},
121
132
"description": {
122
133
"type": "string"
123
134
},
124
135
"allowedRoles": {
125
136
"type": "array",
126
137
"items": {
127
138
"type": "string",
128
139
"format": "at-uri"
129
140
}
130
141
},
131
142
"allowedMembers": {
132
143
"type": "array",
133
144
"items": {
134
145
"type": "string",
135
146
"format": "did"
136
147
}
137
148
}
138
149
}
139
150
},
140
151
"categoryView": {
141
152
"type": "object",
142
153
"required": [
143
154
"uri",
144
155
"name",
145
156
"channelOrder"
146
157
],
147
158
"properties": {
148
159
"uri": {
149
160
"type": "string",
150
161
"format": "at-uri"
151
162
},
152
163
"name": {
153
164
"type": "string"
154
165
},
155
166
"channelOrder": {
156
167
"type": "array",
157
168
"items": {
158
169
"type": "string",
159
170
"format": "at-uri"
160
171
}
161
172
}
162
173
}
163
174
},
164
175
"communityInfo": {
165
176
"type": "object",
166
177
"required": [
167
178
"uri",
168
179
"name",
169
180
"description",
170
181
"categoryOrder",
171
182
"requiresApprovalToJoin",
172
183
"appview"
173
184
],
174
185
"properties": {
175
186
"uri": {
176
187
"type": "string",
177
188
"format": "at-uri"
178
189
},
179
190
"name": {
180
191
"type": "string"
181
192
},
193
+
"banner": {
194
+
"type": "blob"
195
+
},
182
196
"appview": {
183
197
"type": "string",
184
198
"format": "did"
185
199
},
186
200
"picture": {
187
201
"type": "blob"
188
202
},
203
+
"linkEmbeds": {
204
+
"type": "boolean"
205
+
},
189
206
"description": {
190
207
"type": "string"
191
208
},
192
209
"categoryOrder": {
193
210
"type": "array",
194
211
"items": {
195
212
"type": "string",
196
213
"format": "at-uri"
197
214
}
198
215
},
199
216
"requiresApprovalToJoin": {
200
217
"type": "boolean"
201
218
}
202
219
},
203
220
"description": "Core community record data, hydrated with its AT-URI."
204
221
},
205
222
"invitationView": {
206
223
"type": "object",
207
224
"required": [
208
225
"code",
209
226
"community",
210
227
"createdBy",
211
228
"active"
212
229
],
213
230
"properties": {
214
231
"code": {
215
232
"type": "string"
216
233
},
217
234
"active": {
218
235
"type": "boolean"
219
236
},
220
237
"community": {
221
238
"type": "string",
222
239
"format": "at-uri"
223
240
},
224
241
"createdBy": {
225
242
"type": "string",
226
243
"format": "did"
227
244
}
228
245
},
229
246
"description": "An invitation with its creator as a bare DID."
230
247
},
231
248
"applicationView": {
232
249
"type": "object",
233
250
"required": [
234
251
"did",
235
252
"handle",
236
253
"membership",
237
254
"createdAt",
238
255
"data"
239
256
],
240
257
"properties": {
241
258
"did": {
242
259
"type": "string",
243
260
"format": "did"
244
261
},
245
262
"data": {
246
263
"ref": "lex:social.colibri.actor.defs#actorData",
247
264
"type": "ref"
248
265
},
249
266
"handle": {
250
267
"type": "string",
251
268
"format": "handle"
252
269
},
253
270
"createdAt": {
254
271
"type": "string",
255
272
"format": "datetime"
256
273
},
257
274
"membership": {
258
275
"type": "string",
259
276
"format": "at-uri"
260
277
}
261
278
},
262
279
"description": "A pending or dismissed membership application."
263
280
},
264
281
"channelOverrideView": {
265
282
"type": "object",
266
283
"required": [
267
284
"channel"
268
285
],
269
286
"properties": {
270
287
"deny": {
271
288
"type": "array",
272
289
"items": {
273
290
"type": "string"
274
291
}
275
292
},
276
293
"allow": {
277
294
"type": "array",
278
295
"items": {
279
296
"type": "string"
280
297
}
281
298
},
282
299
"channel": {
283
300
"type": "string",
284
301
"format": "at-uri"
285
302
}
286
303
}
287
304
},
288
305
"invitationProfileView": {
289
306
"type": "object",
290
307
"required": [
291
308
"code",
292
309
"community",
293
310
"createdBy",
294
311
"active"
295
312
],
296
313
"properties": {
297
314
"code": {
298
315
"type": "string"
299
316
},
300
317
"active": {
301
318
"type": "boolean"
302
319
},
303
320
"community": {
304
321
"type": "string",
305
322
"format": "at-uri"
306
323
},
307
324
"createdBy": {
308
325
"ref": "lex:social.colibri.actor.defs#actorView",
309
326
"type": "ref"
310
327
}
311
328
},
312
329
"description": "An invitation with its creator hydrated as an actor."
313
330
},
314
331
"resolvedInvitationView": {
315
332
"type": "object",
316
333
"required": [
317
334
"code",
318
335
"community",
319
336
"createdBy",
320
337
"active",
321
338
"name",
322
339
"memberCount",
323
340
"onlineCount",
324
341
"requiresApprovalToJoin"
325
342
],
326
343
"properties": {
327
344
"code": {
328
345
"type": "string"
329
346
},
330
347
"name": {
331
348
"type": "string"
332
349
},
333
350
"active": {
334
351
"type": "boolean"
335
352
},
353
+
"banner": {
354
+
"type": "blob"
355
+
},
336
356
"picture": {
337
357
"type": "blob"
338
358
},
339
359
"community": {
340
360
"type": "string",
341
361
"format": "at-uri"
342
362
},
343
363
"createdBy": {
344
364
"type": "string",
345
365
"format": "did"
346
366
},
347
367
"memberCount": {
348
368
"type": "integer"
349
369
},
350
370
"onlineCount": {
351
371
"type": "integer"
352
372
},
353
373
"requiresApprovalToJoin": {
354
374
"type": "boolean"
355
375
}
356
376
},
357
377
"description": "An invitation hydrated with its community's public details, for the invite accept screen."
358
378
}
359
379
},
360
380
"$type": "com.atproto.lexicon.schema",
361
381
"lexicon": 1
362
382
}