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