com.getorbyt.community.manageMember
Schema Diff
+7 -6
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 0 non-breaking changes.
Breaking Changes (3)
- RemovedVertex RemovedVertex { vertex_id: "com.getorbyt.community.manageMember:input.reason" }
- RemovedEdge RemovedEdge { src: "com.getorbyt.community.manageMember:input", tgt: "com.getorbyt.community.manageMember:input.reason", kind: "prop", name: Some("reason") }
- ConstraintTightened ConstraintTightened { vertex_id: "com.getorbyt.community.manageMember:input.role", sort: "knownValues", old_value: "[\"moderator\",\"member\"]", new_value: "[\"owner\",\"moderator\",\"member\"]" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "com.getorbyt.community.manageMember:input.reason" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "com.getorbyt.community.manageMember:input.role", sort: "knownValues", old_value: "[\"moderator\",\"member\"]", new_value: "[\"owner\",\"moderator\",\"member\"]" }
Additional Notes
- Breaking: RemovedEdge { src: "com.getorbyt.community.manageMember:input", tgt: "com.getorbyt.community.manageMember:input.reason", kind: "prop", name: Some("reason") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Mute, ban, or re-role a member. Only an owner may set a role; a moderator may mute and ban, but never a peer or the owner.",
5
+
"description": "Mute, ban, or re-role a member. Only an administrator may set a role; a moderator may mute and ban, but never a peer or an administrator. Administration is service state and may be granted to an account that does not hold the declaration record; authority over the record itself is never transferable and always belongs to the repository that holds it.",
6
6
"errors": [
7
7
{
8
8
"name": "CommunityNotFound"
9
9
},
10
10
{
11
11
"name": "InsufficientRole"
12
12
},
13
13
{
14
14
"name": "InvalidAction"
15
+
},
16
+
{
17
+
"description": "The request carried no service-auth token, or one this service could not verify for the method. Distinct from InsufficientRole: the caller's identity was never established, so no role decision was made. A client should reauthorize and retry once rather than tell the viewer they lack access.",
18
+
"name": "AuthenticationRequired"
15
19
}
16
20
],
17
21
"input": {
18
22
"encoding": "application/json",
19
23
"schema": {
20
24
"properties": {
21
25
"action": {
22
26
"knownValues": [
23
27
"setRole",
24
28
"mute",
25
29
"unmute",
26
30
"ban",
27
31
"unban"
28
32
],
29
33
"type": "string"
30
34
},
31
35
"community": {
32
36
"format": "at-uri",
33
37
"type": "string"
34
38
},
35
39
"did": {
36
40
"format": "did",
37
41
"type": "string"
38
42
},
39
-
"reason": {
40
-
"description": "Recorded on the membership row for the acting moderator's own reference. Orbyt keeps no moderation audit log.",
41
-
"maxLength": 1000,
42
-
"type": "string"
43
-
},
44
43
"role": {
44
+
"description": "The role to set. Granting owner grants administration — moderation and role assignment — to another account; it does not move the declaration record, which stays in the repository that holds it, and the holder's own administration can never be revoked.",
45
45
"knownValues": [
46
+
"owner",
46
47
"moderator",
47
48
"member"
48
49
],
49
50
"type": "string"
50
51
}
51
52
},
52
53
"required": [
53
54
"community",
54
55
"did",
55
56
"action"
56
57
],
57
58
"type": "object"
58
59
}
59
60
},
60
61
"output": {
61
62
"encoding": "application/json",
62
63
"schema": {
63
64
"properties": {
64
65
"status": {
65
66
"knownValues": [
66
67
"none",
67
68
"active",
68
69
"muted",
69
70
"banned"
70
71
],
71
72
"type": "string"
72
73
}
73
74
},
74
75
"required": [
75
76
"status"
76
77
],
77
78
"type": "object"
78
79
}
79
80
},
80
81
"type": "procedure"
81
82
}
82
83
},
83
84
"id": "com.getorbyt.community.manageMember",
84
85
"lexicon": 1
85
86
}