social.colibri.community.defs
Schema Diff
+14 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 8 non-breaking changes.
Non-Breaking Changes (8)
- AddedVertex AddedVertex { vertex_id: "social.colibri.community.defs#communityInfo.banner" }
- 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#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
- 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#communityInfo.banner" }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#communityInfo", tgt: "social.colibri.community.defs#communityInfo.banner", kind: "prop", name: Some("banner") }
- 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
},
121
129
"description": {
122
130
"type": "string"
123
131
},
124
132
"allowedRoles": {
125
133
"type": "array",
126
134
"items": {
127
135
"type": "string",
128
136
"format": "at-uri"
129
137
}
130
138
},
131
139
"allowedMembers": {
132
140
"type": "array",
133
141
"items": {
134
142
"type": "string",
135
143
"format": "did"
136
144
}
137
145
}
138
146
}
139
147
},
140
148
"categoryView": {
141
149
"type": "object",
142
150
"required": [
143
151
"uri",
144
152
"name",
145
153
"channelOrder"
146
154
],
147
155
"properties": {
148
156
"uri": {
149
157
"type": "string",
150
158
"format": "at-uri"
151
159
},
152
160
"name": {
153
161
"type": "string"
154
162
},
155
163
"channelOrder": {
156
164
"type": "array",
157
165
"items": {
158
166
"type": "string",
159
167
"format": "at-uri"
160
168
}
161
169
}
162
170
}
163
171
},
164
172
"communityInfo": {
165
173
"type": "object",
166
174
"required": [
167
175
"uri",
168
176
"name",
169
177
"description",
170
178
"categoryOrder",
171
179
"requiresApprovalToJoin",
172
180
"appview"
173
181
],
174
182
"properties": {
175
183
"uri": {
176
184
"type": "string",
177
185
"format": "at-uri"
178
186
},
179
187
"name": {
180
188
"type": "string"
181
189
},
190
+
"banner": {
191
+
"type": "blob"
192
+
},
182
193
"appview": {
183
194
"type": "string",
184
195
"format": "did"
185
196
},
186
197
"picture": {
187
198
"type": "blob"
188
199
},
189
200
"description": {
190
201
"type": "string"
191
202
},
192
203
"categoryOrder": {
193
204
"type": "array",
194
205
"items": {
195
206
"type": "string",
196
207
"format": "at-uri"
197
208
}
198
209
},
199
210
"requiresApprovalToJoin": {
200
211
"type": "boolean"
201
212
}
202
213
},
203
214
"description": "Core community record data, hydrated with its AT-URI."
204
215
},
205
216
"invitationView": {
206
217
"type": "object",
207
218
"required": [
208
219
"code",
209
220
"community",
210
221
"createdBy",
211
222
"active"
212
223
],
213
224
"properties": {
214
225
"code": {
215
226
"type": "string"
216
227
},
217
228
"active": {
218
229
"type": "boolean"
219
230
},
220
231
"community": {
221
232
"type": "string",
222
233
"format": "at-uri"
223
234
},
224
235
"createdBy": {
225
236
"type": "string",
226
237
"format": "did"
227
238
}
228
239
},
229
240
"description": "An invitation with its creator as a bare DID."
230
241
},
231
242
"applicationView": {
232
243
"type": "object",
233
244
"required": [
234
245
"did",
235
246
"handle",
236
247
"membership",
237
248
"createdAt",
238
249
"data"
239
250
],
240
251
"properties": {
241
252
"did": {
242
253
"type": "string",
243
254
"format": "did"
244
255
},
245
256
"data": {
246
257
"ref": "lex:social.colibri.actor.defs#actorData",
247
258
"type": "ref"
248
259
},
249
260
"handle": {
250
261
"type": "string",
251
262
"format": "handle"
252
263
},
253
264
"createdAt": {
254
265
"type": "string",
255
266
"format": "datetime"
256
267
},
257
268
"membership": {
258
269
"type": "string",
259
270
"format": "at-uri"
260
271
}
261
272
},
262
273
"description": "A pending or dismissed membership application."
263
274
},
264
275
"channelOverrideView": {
265
276
"type": "object",
266
277
"required": [
267
278
"channel"
268
279
],
269
280
"properties": {
270
281
"deny": {
271
282
"type": "array",
272
283
"items": {
273
284
"type": "string"
274
285
}
275
286
},
276
287
"allow": {
277
288
"type": "array",
278
289
"items": {
279
290
"type": "string"
280
291
}
281
292
},
282
293
"channel": {
283
294
"type": "string",
284
295
"format": "at-uri"
285
296
}
286
297
}
287
298
},
288
299
"invitationProfileView": {
289
300
"type": "object",
290
301
"required": [
291
302
"code",
292
303
"community",
293
304
"createdBy",
294
305
"active"
295
306
],
296
307
"properties": {
297
308
"code": {
298
309
"type": "string"
299
310
},
300
311
"active": {
301
312
"type": "boolean"
302
313
},
303
314
"community": {
304
315
"type": "string",
305
316
"format": "at-uri"
306
317
},
307
318
"createdBy": {
308
319
"ref": "lex:social.colibri.actor.defs#actorView",
309
320
"type": "ref"
310
321
}
311
322
},
312
323
"description": "An invitation with its creator hydrated as an actor."
313
324
},
314
325
"resolvedInvitationView": {
315
326
"type": "object",
316
327
"required": [
317
328
"code",
318
329
"community",
319
330
"createdBy",
320
331
"active",
321
332
"name",
322
333
"memberCount",
323
334
"onlineCount",
324
335
"requiresApprovalToJoin"
325
336
],
326
337
"properties": {
327
338
"code": {
328
339
"type": "string"
329
340
},
330
341
"name": {
331
342
"type": "string"
332
343
},
333
344
"active": {
334
345
"type": "boolean"
335
346
},
347
+
"banner": {
348
+
"type": "blob"
349
+
},
336
350
"picture": {
337
351
"type": "blob"
338
352
},
339
353
"community": {
340
354
"type": "string",
341
355
"format": "at-uri"
342
356
},
343
357
"createdBy": {
344
358
"type": "string",
345
359
"format": "did"
346
360
},
347
361
"memberCount": {
348
362
"type": "integer"
349
363
},
350
364
"onlineCount": {
351
365
"type": "integer"
352
366
},
353
367
"requiresApprovalToJoin": {
354
368
"type": "boolean"
355
369
}
356
370
},
357
371
"description": "An invitation hydrated with its community's public details, for the invite accept screen."
358
372
}
359
373
},
360
374
"$type": "com.atproto.lexicon.schema",
361
375
"lexicon": 1
362
376
}