app.atmobb.forum.getMembers
Schema Diff
+58 -1
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 22 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.atmobb.forum.getMembers#memberView", src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.did", kind: "prop", name: Some("did") }
Non-Breaking Changes (22)
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.did" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.lastActive" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.posts" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.profile" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.since" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.sponsor" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.stamps" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.stamps:items" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.totalPosts" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.via" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry" }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.lastActive", kind: "prop", name: Some("lastActive") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.posts", kind: "prop", name: Some("posts") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.profile", kind: "prop", name: Some("profile") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.since", kind: "prop", name: Some("since") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.sponsor", kind: "prop", name: Some("sponsor") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.stamps", kind: "prop", name: Some("stamps") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.totalPosts", kind: "prop", name: Some("totalPosts") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.via", kind: "prop", name: Some("via") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView.stamps", tgt: "app.atmobb.forum.getMembers#memberView.stamps:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getMembers#memberView.stamps:items", tgt: "app.atmobb.forum.getStamps#trayEntry", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.did" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.lastActive" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.posts" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.profile" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.since" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.sponsor" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.stamps" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.stamps:items" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.totalPosts" }AddedVertex { vertex_id: "app.atmobb.forum.getMembers#memberView.via" }AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "app.atmobb.forum.getMembers#memberView", src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.did", kind: "prop", name: Some("did") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.lastActive", kind: "prop", name: Some("lastActive") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.posts", kind: "prop", name: Some("posts") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.profile", kind: "prop", name: Some("profile") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.since", kind: "prop", name: Some("since") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.sponsor", kind: "prop", name: Some("sponsor") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.stamps", kind: "prop", name: Some("stamps") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.totalPosts", kind: "prop", name: Some("totalPosts") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView", tgt: "app.atmobb.forum.getMembers#memberView.via", kind: "prop", name: Some("via") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView.stamps", tgt: "app.atmobb.forum.getMembers#memberView.stamps:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getMembers#memberView.stamps:items", tgt: "app.atmobb.forum.getStamps#trayEntry", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Members of a forum ordered by postcount, with atmobb profiles.",
5
+
"description": "Members of a forum ordered by arrival, with atmobb profiles and the stamps they wear.",
6
6
"output": {
7
7
"encoding": "application/json",
8
8
"schema": {
9
9
"properties": {
10
10
"cursor": {
11
11
"type": "string"
12
12
},
13
13
"members": {
14
+
"description": "Each item is shaped like #memberView.",
14
15
"items": {
15
16
"type": "unknown"
16
17
},
17
18
"type": "array"
18
19
}
19
20
},
20
21
"required": [
21
22
"members"
22
23
],
23
24
"type": "object"
24
25
}
25
26
},
26
27
"parameters": {
27
28
"properties": {
28
29
"cursor": {
29
30
"type": "string"
30
31
},
31
32
"forum": {
32
33
"format": "did",
33
34
"type": "string"
34
35
},
35
36
"limit": {
36
37
"default": 50,
37
38
"maximum": 100,
38
39
"minimum": 1,
39
40
"type": "integer"
40
41
}
41
42
},
42
43
"required": [
43
44
"forum"
44
45
],
45
46
"type": "params"
46
47
},
47
48
"type": "query"
49
+
},
50
+
"memberView": {
51
+
"description": "One member as getMembers returns them.",
52
+
"properties": {
53
+
"did": {
54
+
"format": "did",
55
+
"type": "string"
56
+
},
57
+
"lastActive": {
58
+
"format": "datetime",
59
+
"type": "string"
60
+
},
61
+
"posts": {
62
+
"description": "Deprecated and no longer rendered: post count on this forum. Kept for older clients.",
63
+
"type": "integer"
64
+
},
65
+
"profile": {
66
+
"description": "The member's app.atmobb.actor.profile record, when they have one.",
67
+
"type": "unknown"
68
+
},
69
+
"since": {
70
+
"description": "When the member arrived: their acceptance on a gated forum, or their membership declaration on an open one.",
71
+
"format": "datetime",
72
+
"type": "string"
73
+
},
74
+
"sponsor": {
75
+
"format": "did",
76
+
"type": "string"
77
+
},
78
+
"stamps": {
79
+
"description": "The stamps the member wears on this forum, in order.",
80
+
"items": {
81
+
"ref": "app.atmobb.forum.getStamps#trayEntry",
82
+
"type": "ref"
83
+
},
84
+
"maxLength": 6,
85
+
"type": "array"
86
+
},
87
+
"totalPosts": {
88
+
"description": "Deprecated and no longer rendered: post count across every indexed forum. Kept for older clients.",
89
+
"type": "integer"
90
+
},
91
+
"via": {
92
+
"knownValues": [
93
+
"invite",
94
+
"application",
95
+
"founding"
96
+
],
97
+
"maxLength": 32,
98
+
"type": "string"
99
+
}
100
+
},
101
+
"required": [
102
+
"did"
103
+
],
104
+
"type": "object"
48
105
}
49
106
},
50
107
"id": "app.atmobb.forum.getMembers",
51
108
"lexicon": 1
52
109
}