app.atmobb.forum.getStamps
Schema Diff
+23 -2
Compatibility Analysis
Backward Compatible
Backward compatible. 12 non-breaking changes.
Non-Breaking Changes (12)
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps#generatedStamp.trigger" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.trigger" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned" }
- AddedVertex AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned:items" }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp", tgt: "app.atmobb.forum.getStamps#generatedStamp.trigger", kind: "prop", name: Some("trigger") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.trigger", kind: "prop", name: Some("trigger") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName", kind: "prop", name: Some("triggerBoardName") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps:output", tgt: "app.atmobb.forum.getStamps:output.pinned", kind: "prop", name: Some("pinned") }
- AddedEdge AddedEdge { src: "app.atmobb.forum.getStamps:output.pinned", tgt: "app.atmobb.forum.getStamps:output.pinned:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.atmobb.forum.getStamps#generatedStamp.trigger" }AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.trigger" }AddedVertex { vertex_id: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName" }AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned" }AddedVertex { vertex_id: "app.atmobb.forum.getStamps:output.pinned:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp", tgt: "app.atmobb.forum.getStamps#generatedStamp.trigger", kind: "prop", name: Some("trigger") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#generatedStamp.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.trigger", kind: "prop", name: Some("trigger") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry", tgt: "app.atmobb.forum.getStamps#trayEntry.triggerBoardName", kind: "prop", name: Some("triggerBoardName") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps#trayEntry.trigger", tgt: "app.atmobb.forum.stamp#trigger", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps:output", tgt: "app.atmobb.forum.getStamps:output.pinned", kind: "prop", name: Some("pinned") }
- Non-breaking: AddedEdge { src: "app.atmobb.forum.getStamps:output.pinned", tgt: "app.atmobb.forum.getStamps:output.pinned:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"generatedStamp": {
5
5
"description": "A stamp the network generates rather than an admin defining. Its id is fixed: atmobb:board:<board at-uri>, atmobb:arrival, atmobb:first-light, or atmobb:early-days.",
6
6
"properties": {
7
7
"board": {
8
8
"description": "For a board stamp: the board it marks.",
9
9
"format": "at-uri",
10
10
"type": "string"
11
11
},
12
12
"id": {
13
13
"maxLength": 300,
14
14
"type": "string"
15
15
},
16
16
"look": {
17
17
"ref": "app.atmobb.forum.stamp#look",
18
18
"type": "ref"
19
19
},
20
20
"name": {
21
21
"maxGraphemes": 24,
22
22
"maxLength": 240,
23
23
"type": "string"
24
24
},
25
25
"sponsor": {
26
26
"description": "For an arrival stamp: who brought the member in.",
27
27
"format": "did",
28
28
"type": "string"
29
29
},
30
+
"trigger": {
31
+
"ref": "app.atmobb.forum.stamp#trigger",
32
+
"type": "ref"
33
+
},
30
34
"via": {
31
35
"description": "For an arrival stamp: how the member was accepted.",
32
36
"knownValues": [
33
37
"invite",
34
38
"application",
35
39
"founding"
36
40
],
37
41
"maxLength": 32,
38
42
"type": "string"
39
43
}
40
44
},
41
45
"required": [
42
46
"id",
43
47
"name",
44
48
"look"
45
49
],
46
50
"type": "object"
47
51
},
48
52
"main": {
49
-
"description": "A forum's stamps: the admin-defined stamp records plus the generated network set. With actor, also that member's tray (every stamp they hold on this forum) and the ids they currently wear, in order.",
53
+
"description": "A forum's stamps: the admin-defined stamp records plus the generated network set. With actor, also that member's tray (every stamp they hold on this forum), the ids they currently wear, in order, and the topics they pinned to their profile page.",
50
54
"output": {
51
55
"encoding": "application/json",
52
56
"schema": {
53
57
"properties": {
54
58
"network": {
55
59
"description": "The fixed network stamps every forum on this appview offers (first light, early days). Board and arrival defaults are per member and appear in the tray.",
56
60
"items": {
57
61
"ref": "#generatedStamp",
58
62
"type": "ref"
59
63
},
60
64
"type": "array"
61
65
},
66
+
"pinned": {
67
+
"description": "At-uris the actor pinned to their profile page on this forum, from their newest membership record, in order. Unverified: the app checks each is the actor's own readable topic. Present only when actor is given.",
68
+
"items": {
69
+
"format": "at-uri",
70
+
"type": "string"
71
+
},
72
+
"maxLength": 4,
73
+
"type": "array"
74
+
},
62
75
"stamps": {
63
76
"description": "Stamps the forum defined, as app.atmobb.forum.stamp records.",
64
77
"items": {
65
78
"ref": "#stampView",
66
79
"type": "ref"
67
80
},
68
81
"type": "array"
69
82
},
70
83
"tray": {
71
84
"description": "Every stamp the actor holds on this forum. Present only when actor is given.",
72
85
"items": {
73
86
"ref": "#trayEntry",
74
87
"type": "ref"
75
88
},
76
89
"type": "array"
77
90
},
78
91
"worn": {
79
92
"description": "Ids from the tray the actor wears, in order. Present only when actor is given.",
80
93
"items": {
81
94
"maxLength": 300,
82
95
"type": "string"
83
96
},
84
-
"maxLength": 3,
97
+
"maxLength": 6,
85
98
"type": "array"
86
99
}
87
100
},
88
101
"required": [
89
102
"stamps",
90
103
"network"
91
104
],
92
105
"type": "object"
93
106
}
94
107
},
95
108
"parameters": {
96
109
"properties": {
97
110
"actor": {
98
111
"description": "A member whose tray and worn list to include.",
99
112
"format": "did",
100
113
"type": "string"
101
114
},
102
115
"forum": {
103
116
"format": "did",
104
117
"type": "string"
105
118
}
106
119
},
107
120
"required": [
108
121
"forum"
109
122
],
110
123
"type": "params"
111
124
},
112
125
"type": "query"
113
126
},
114
127
"stampView": {
115
128
"description": "An admin-defined stamp. uri and cid let a by-hand award build its strongRef.",
116
129
"properties": {
117
130
"cid": {
118
131
"format": "cid",
119
132
"type": "string"
120
133
},
121
134
"createdAt": {
122
135
"format": "datetime",
123
136
"type": "string"
124
137
},
125
138
"look": {
126
139
"ref": "app.atmobb.forum.stamp#look",
127
140
"type": "ref"
128
141
},
129
142
"name": {
130
143
"maxGraphemes": 24,
131
144
"maxLength": 240,
132
145
"type": "string"
133
146
},
134
147
"trigger": {
135
148
"ref": "app.atmobb.forum.stamp#trigger",
136
149
"type": "ref"
137
150
},
138
151
"uri": {
139
152
"format": "at-uri",
140
153
"type": "string"
141
154
}
142
155
},
143
156
"required": [
144
157
"uri",
145
158
"cid",
146
159
"name",
147
160
"look",
148
161
"trigger",
149
162
"createdAt"
150
163
],
151
164
"type": "object"
152
165
},
153
166
"trayEntry": {
154
167
"description": "One stamp a member holds. id is the stamp record's at-uri for an admin stamp or the fixed id of a generated one. uri, cid, and look are present for admin stamps and look for network stamps; a board default carries the board and its color so the app can draw it, and an arrival default carries via and sponsor.",
155
168
"properties": {
156
169
"board": {
157
170
"description": "For a board stamp: the board it marks.",
158
171
"format": "at-uri",
159
172
"type": "string"
160
173
},
161
174
"boardColor": {
162
175
"description": "For a board stamp: the board's six-digit hex color, when it has one.",
163
176
"maxLength": 7,
164
177
"type": "string"
165
178
},
166
179
"cid": {
167
180
"format": "cid",
168
181
"type": "string"
169
182
},
170
183
"id": {
171
184
"maxLength": 300,
172
185
"type": "string"
173
186
},
174
187
"look": {
175
188
"ref": "app.atmobb.forum.stamp#look",
176
189
"type": "ref"
177
190
},
178
191
"name": {
179
192
"maxGraphemes": 24,
180
193
"maxLength": 240,
181
194
"type": "string"
182
195
},
183
196
"source": {
184
197
"description": "How the member came to hold it: an admin-defined trigger, a default every member gets, the network set, or a by-hand award.",
185
198
"knownValues": [
186
199
"admin",
187
200
"default",
188
201
"network",
189
202
"byHand"
190
203
],
191
204
"maxLength": 32,
192
205
"type": "string"
193
206
},
194
207
"sponsor": {
195
208
"description": "For an arrival stamp: who brought the member in.",
196
209
"format": "did",
197
210
"type": "string"
198
211
},
212
+
"trigger": {
213
+
"ref": "app.atmobb.forum.stamp#trigger",
214
+
"type": "ref"
215
+
},
216
+
"triggerBoardName": {
217
+
"description": "The board name for an earned firstPostInBoard trigger.",
218
+
"type": "string"
219
+
},
199
220
"uri": {
200
221
"format": "at-uri",
201
222
"type": "string"
202
223
},
203
224
"via": {
204
225
"description": "For an arrival stamp: how the member was accepted.",
205
226
"knownValues": [
206
227
"invite",
207
228
"application",
208
229
"founding"
209
230
],
210
231
"maxLength": 32,
211
232
"type": "string"
212
233
}
213
234
},
214
235
"required": [
215
236
"id",
216
237
"name",
217
238
"source"
218
239
],
219
240
"type": "object"
220
241
}
221
242
},
222
243
"id": "app.atmobb.forum.getStamps",
223
244
"lexicon": 1
224
245
}