fyi.opensocial.access
Schema Diff
+8 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.access:body.writableBy" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.access:body.writableBy:items" }
- AddedEdge AddedEdge { src: "fyi.opensocial.access:body", tgt: "fyi.opensocial.access:body.writableBy", kind: "prop", name: Some("writableBy") }
- AddedEdge AddedEdge { src: "fyi.opensocial.access:body.writableBy", tgt: "fyi.opensocial.access:body.writableBy:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "fyi.opensocial.access:body.writableBy" }AddedVertex { vertex_id: "fyi.opensocial.access:body.writableBy:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "fyi.opensocial.access:body", tgt: "fyi.opensocial.access:body.writableBy", kind: "prop", name: Some("writableBy") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.access:body.writableBy", tgt: "fyi.opensocial.access:body.writableBy:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Who may read this space. Present in every space under the group. The group authority issues space credentials according to this record and nothing else.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"createdAt": {
10
10
"format": "datetime",
11
11
"type": "string"
12
12
},
13
13
"credentialScopes": {
14
14
"description": "Which OAuth scopes for the group DID each role may request in this space.",
15
15
"items": {
16
16
"ref": "#roleScopes",
17
17
"type": "ref"
18
18
},
19
19
"type": "array"
20
20
},
21
21
"readableBy": {
22
22
"description": "Role ids that may read the space, or the literal string 'public' meaning any authenticated requester.",
23
23
"items": {
24
24
"type": "string"
25
25
},
26
26
"type": "array"
27
+
},
28
+
"writableBy": {
29
+
"description": "Who may write into the space in their own name: role ids, or 'public' for anyone signed in. Absent is any member.",
30
+
"items": {
31
+
"type": "string"
32
+
},
33
+
"type": "array"
27
34
}
28
35
},
29
36
"required": [
30
37
"readableBy",
31
38
"createdAt"
32
39
],
33
40
"type": "object"
34
41
},
35
42
"type": "record"
36
43
},
37
44
"roleScopes": {
38
45
"properties": {
39
46
"role": {
40
47
"description": "A role id: the record key of a fyi.opensocial.role record.",
41
48
"maxLength": 64,
42
49
"type": "string"
43
50
},
44
51
"scopes": {
52
+
"description": "Collections this role may write in the space as the group: an NSID, or * for any. Every write, unless the grant names some: xyz.task?action=create lets the role add tasks but not change or delete them.",
45
53
"items": {
46
54
"type": "string"
47
55
},
48
56
"type": "array"
49
57
}
50
58
},
51
59
"required": [
52
60
"role",
53
61
"scopes"
54
62
],
55
63
"type": "object"
56
64
}
57
65
},
58
66
"id": "fyi.opensocial.access",
59
67
"lexicon": 1
60
68
}