app.bivri.support.contentDefs
Schema Diff
+75 -0
Compatibility Analysis
Breaking Changes Detected
7 breaking changes, 20 non-breaking changes.
Breaking Changes (7)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.summary", kind: "prop", name: Some("summary") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.position", kind: "prop", name: Some("position") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.title", kind: "prop", name: Some("title") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerImage", src: "app.bivri.support.contentDefs#bannerImage", tgt: "app.bivri.support.contentDefs#bannerImage.alt", kind: "prop", name: Some("alt") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerImage", src: "app.bivri.support.contentDefs#bannerImage", tgt: "app.bivri.support.contentDefs#bannerImage.uri", kind: "prop", name: Some("uri") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerImage", src: "app.bivri.support.contentDefs#bannerImage", tgt: "app.bivri.support.contentDefs#bannerImage.src", kind: "prop", name: Some("src") }
Non-Breaking Changes (20)
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementSummary.displayDate" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementView.displayDate" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementView.shareDescription" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementView.shareImage" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage.alt" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage.src" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage.uri" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.id" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.image" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.position" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.summary" }
- AddedVertex AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.title" }
- AddedEdge AddedEdge { src: "app.bivri.support.contentDefs#announcementSummary", tgt: "app.bivri.support.contentDefs#announcementSummary.displayDate", kind: "prop", name: Some("displayDate") }
- AddedEdge AddedEdge { src: "app.bivri.support.contentDefs#announcementView", tgt: "app.bivri.support.contentDefs#announcementView.displayDate", kind: "prop", name: Some("displayDate") }
- AddedEdge AddedEdge { src: "app.bivri.support.contentDefs#announcementView", tgt: "app.bivri.support.contentDefs#announcementView.shareDescription", kind: "prop", name: Some("shareDescription") }
- AddedEdge AddedEdge { src: "app.bivri.support.contentDefs#announcementView", tgt: "app.bivri.support.contentDefs#announcementView.shareImage", kind: "prop", name: Some("shareImage") }
- AddedEdge AddedEdge { src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.image", kind: "prop", name: Some("image") }
- AddedEdge AddedEdge { src: "app.bivri.support.contentDefs#bannerView.image", tgt: "app.bivri.support.contentDefs#bannerImage", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementSummary.displayDate" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementView.displayDate" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementView.shareDescription" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#announcementView.shareImage" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage.alt" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage.src" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerImage.uri" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.id" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.image" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.position" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.summary" }AddedVertex { vertex_id: "app.bivri.support.contentDefs#bannerView.title" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerImage", src: "app.bivri.support.contentDefs#bannerImage", tgt: "app.bivri.support.contentDefs#bannerImage.alt", kind: "prop", name: Some("alt") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerImage", src: "app.bivri.support.contentDefs#bannerImage", tgt: "app.bivri.support.contentDefs#bannerImage.uri", kind: "prop", name: Some("uri") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerImage", src: "app.bivri.support.contentDefs#bannerImage", tgt: "app.bivri.support.contentDefs#bannerImage.src", kind: "prop", name: Some("src") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.summary", kind: "prop", name: Some("summary") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.position", kind: "prop", name: Some("position") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.bivri.support.contentDefs#bannerView", src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.title", kind: "prop", name: Some("title") }
- Non-breaking: AddedEdge { src: "app.bivri.support.contentDefs#announcementSummary", tgt: "app.bivri.support.contentDefs#announcementSummary.displayDate", kind: "prop", name: Some("displayDate") }
- Non-breaking: AddedEdge { src: "app.bivri.support.contentDefs#announcementView", tgt: "app.bivri.support.contentDefs#announcementView.displayDate", kind: "prop", name: Some("displayDate") }
- Non-breaking: AddedEdge { src: "app.bivri.support.contentDefs#announcementView", tgt: "app.bivri.support.contentDefs#announcementView.shareDescription", kind: "prop", name: Some("shareDescription") }
- Non-breaking: AddedEdge { src: "app.bivri.support.contentDefs#announcementView", tgt: "app.bivri.support.contentDefs#announcementView.shareImage", kind: "prop", name: Some("shareImage") }
- Non-breaking: AddedEdge { src: "app.bivri.support.contentDefs#bannerView", tgt: "app.bivri.support.contentDefs#bannerView.image", kind: "prop", name: Some("image") }
- Non-breaking: AddedEdge { src: "app.bivri.support.contentDefs#bannerView.image", tgt: "app.bivri.support.contentDefs#bannerImage", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"announcementSummary": {
5
5
"properties": {
6
6
"categoryId": {
7
7
"type": "string"
8
8
},
9
9
"categoryName": {
10
10
"maxGraphemes": 100,
11
11
"maxLength": 1000,
12
12
"type": "string"
13
13
},
14
+
"displayDate": {
15
+
"description": "Administrator-selected calendar date override in YYYY-MM-DD form. Absent when no override is set; use publishedAt as the publication-date default.",
16
+
"maxLength": 10,
17
+
"type": "string"
18
+
},
14
19
"id": {
15
20
"type": "string"
16
21
},
17
22
"pinned": {
18
23
"type": "boolean"
19
24
},
20
25
"publishedAt": {
21
26
"format": "datetime",
22
27
"type": "string"
23
28
},
24
29
"title": {
25
30
"maxGraphemes": 200,
26
31
"maxLength": 2000,
27
32
"type": "string"
28
33
}
29
34
},
30
35
"required": [
31
36
"id",
32
37
"categoryId",
33
38
"categoryName",
34
39
"title",
35
40
"pinned",
36
41
"publishedAt"
37
42
],
38
43
"type": "object"
39
44
},
40
45
"announcementView": {
41
46
"nullable": [
42
47
"newer",
43
48
"older"
44
49
],
45
50
"properties": {
46
51
"categoryId": {
47
52
"type": "string"
48
53
},
49
54
"categoryName": {
50
55
"maxGraphemes": 100,
51
56
"maxLength": 1000,
52
57
"type": "string"
53
58
},
54
59
"content": {
55
60
"maxGraphemes": 100000,
56
61
"maxLength": 1000000,
57
62
"type": "string"
58
63
},
59
64
"contentFormat": {
60
65
"knownValues": [
61
66
"markdown"
62
67
],
63
68
"type": "string"
64
69
},
70
+
"displayDate": {
71
+
"description": "Administrator-selected calendar date override in YYYY-MM-DD form. Absent when no override is set; use publishedAt as the publication-date default.",
72
+
"maxLength": 10,
73
+
"type": "string"
74
+
},
65
75
"id": {
66
76
"type": "string"
67
77
},
68
78
"newer": {
69
79
"ref": "app.bivri.support.contentDefs#announcementSummary",
70
80
"type": "ref"
71
81
},
72
82
"older": {
73
83
"ref": "app.bivri.support.contentDefs#announcementSummary",
74
84
"type": "ref"
75
85
},
76
86
"pinned": {
77
87
"type": "boolean"
78
88
},
79
89
"publishedAt": {
80
90
"format": "datetime",
81
91
"type": "string"
82
92
},
93
+
"shareDescription": {
94
+
"maxGraphemes": 300,
95
+
"maxLength": 3000,
96
+
"type": "string"
97
+
},
98
+
"shareImage": {
99
+
"description": "Raw image reference: bivri-media:<uuid> or a site-relative /illustrations/ path ending in .png, .webp or .jpg. Resolve bivri-media:<uuid> to /img/support-media/<uuid>; resolve both paths against the Bivri member web origin, not the XRPC origin.",
100
+
"maxLength": 512,
101
+
"type": "string"
102
+
},
83
103
"title": {
84
104
"maxGraphemes": 200,
85
105
"maxLength": 2000,
86
106
"type": "string"
87
107
}
88
108
},
89
109
"required": [
90
110
"id",
91
111
"categoryId",
92
112
"categoryName",
93
113
"title",
94
114
"pinned",
95
115
"publishedAt",
96
116
"contentFormat",
97
117
"content",
98
118
"newer",
99
119
"older"
100
120
],
101
121
"type": "object"
102
122
},
123
+
"bannerImage": {
124
+
"properties": {
125
+
"alt": {
126
+
"type": "string"
127
+
},
128
+
"src": {
129
+
"format": "uri",
130
+
"type": "string"
131
+
},
132
+
"uri": {
133
+
"format": "at-uri",
134
+
"type": "string"
135
+
}
136
+
},
137
+
"required": [
138
+
"uri",
139
+
"src",
140
+
"alt"
141
+
],
142
+
"type": "object"
143
+
},
144
+
"bannerView": {
145
+
"description": "A published announcement enabled for the home banner. Its destination is /notices/{id}. Image is omitted when its Artwork is no longer servable.",
146
+
"properties": {
147
+
"id": {
148
+
"type": "string"
149
+
},
150
+
"image": {
151
+
"ref": "#bannerImage",
152
+
"type": "ref"
153
+
},
154
+
"position": {
155
+
"maximum": 9007199254740991,
156
+
"minimum": 0,
157
+
"type": "integer"
158
+
},
159
+
"summary": {
160
+
"maxGraphemes": 300,
161
+
"maxLength": 3000,
162
+
"type": "string"
163
+
},
164
+
"title": {
165
+
"maxGraphemes": 200,
166
+
"maxLength": 2000,
167
+
"type": "string"
168
+
}
169
+
},
170
+
"required": [
171
+
"id",
172
+
"title",
173
+
"summary",
174
+
"position"
175
+
],
176
+
"type": "object"
177
+
},
103
178
"categoryView": {
104
179
"properties": {
105
180
"id": {
106
181
"type": "string"
107
182
},
108
183
"name": {
109
184
"maxGraphemes": 100,
110
185
"maxLength": 1000,
111
186
"type": "string"
112
187
},
113
188
"position": {
114
189
"minimum": 0,
115
190
"type": "integer"
116
191
}
117
192
},
118
193
"required": [
119
194
"id",
120
195
"name",
121
196
"position"
122
197
],
123
198
"type": "object"
124
199
},
125
200
"faqView": {
126
201
"properties": {
127
202
"answer": {
128
203
"maxGraphemes": 100000,
129
204
"maxLength": 1000000,
130
205
"type": "string"
131
206
},
132
207
"categoryId": {
133
208
"type": "string"
134
209
},
135
210
"categoryName": {
136
211
"maxGraphemes": 100,
137
212
"maxLength": 1000,
138
213
"type": "string"
139
214
},
140
215
"contentFormat": {
141
216
"knownValues": [
142
217
"markdown"
143
218
],
144
219
"type": "string"
145
220
},
146
221
"id": {
147
222
"type": "string"
148
223
},
149
224
"position": {
150
225
"minimum": 0,
151
226
"type": "integer"
152
227
},
153
228
"publishedAt": {
154
229
"format": "datetime",
155
230
"type": "string"
156
231
},
157
232
"question": {
158
233
"maxGraphemes": 500,
159
234
"maxLength": 5000,
160
235
"type": "string"
161
236
}
162
237
},
163
238
"required": [
164
239
"id",
165
240
"categoryId",
166
241
"categoryName",
167
242
"question",
168
243
"contentFormat",
169
244
"answer",
170
245
"position",
171
246
"publishedAt"
172
247
],
173
248
"type": "object"
174
249
}
175
250
},
176
251
"description": "Public read types for announcements and FAQs.",
177
252
"id": "app.bivri.support.contentDefs",
178
253
"lexicon": 1
179
254
}