fyi.opensocial.permissions
Schema Diff
+7 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.permissions#binding.repoCollections" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.permissions#binding.repoCollections:items" }
- AddedEdge AddedEdge { src: "fyi.opensocial.permissions#binding", tgt: "fyi.opensocial.permissions#binding.repoCollections", kind: "prop", name: Some("repoCollections") }
- AddedEdge AddedEdge { src: "fyi.opensocial.permissions#binding.repoCollections", tgt: "fyi.opensocial.permissions#binding.repoCollections:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "fyi.opensocial.permissions#binding.repoCollections" }AddedVertex { vertex_id: "fyi.opensocial.permissions#binding.repoCollections:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "fyi.opensocial.permissions#binding", tgt: "fyi.opensocial.permissions#binding.repoCollections", kind: "prop", name: Some("repoCollections") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.permissions#binding.repoCollections", tgt: "fyi.opensocial.permissions#binding.repoCollections:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"action": {
5
5
"knownValues": [
6
6
"mod.read",
7
7
"mod.resolve",
8
8
"label",
9
9
"takedown",
10
10
"invite",
11
11
"admit",
12
12
"eject",
13
13
"role.assign",
14
14
"space.create",
15
15
"space.configure",
16
16
"space.delete",
17
17
"group.configure"
18
18
],
19
19
"type": "string"
20
20
},
21
21
"binding": {
22
22
"properties": {
23
23
"actions": {
24
24
"items": {
25
25
"ref": "#action",
26
26
"type": "ref"
27
27
},
28
28
"type": "array"
29
29
},
30
30
"assignable": {
31
31
"description": "For role.assign and eject: the roles this role may grant, revoke, or eject. Absent means none.",
32
32
"items": {
33
33
"description": "A role id: the record key of a fyi.opensocial.role record.",
34
34
"maxLength": 64,
35
35
"type": "string"
36
36
},
37
37
"type": "array"
38
38
},
39
+
"repoCollections": {
40
+
"description": "Collections a holder of this role may write in the group's public repo when acting as the group (signed in as it through an app). '*' for any. Absent means any for a role that holds group.configure, and none otherwise. Writes into the group's spaces are governed by each space's access record instead.",
41
+
"items": {
42
+
"type": "string"
43
+
},
44
+
"type": "array"
45
+
},
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
},
45
52
"required": [
46
53
"role",
47
54
"actions"
48
55
],
49
56
"type": "object"
50
57
},
51
58
"main": {
52
59
"description": "The group's authorization config. Binds each role to a set of standardized actions and bounds role.assign and eject. Roles compose by union; there are no deny rules.",
53
60
"key": "literal:self",
54
61
"record": {
55
62
"properties": {
56
63
"bindings": {
57
64
"items": {
58
65
"ref": "#binding",
59
66
"type": "ref"
60
67
},
61
68
"type": "array"
62
69
},
63
70
"createdAt": {
64
71
"format": "datetime",
65
72
"type": "string"
66
73
}
67
74
},
68
75
"required": [
69
76
"bindings",
70
77
"createdAt"
71
78
],
72
79
"type": "object"
73
80
},
74
81
"type": "record"
75
82
}
76
83
},
77
84
"id": "fyi.opensocial.permissions",
78
85
"lexicon": 1
79
86
}