app.bivri.support.contentDefs

lexicons.bivri.app

Schema Diff

+20 -0

From

CID
bafyreiex7fi2utg...
Indexed At
2026-09-22 12:29 UTC
View this version

To

CID
bafyreicuanr65yx...
Indexed At
2026-10-13 04:49 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 8 non-breaking changes.

Non-Breaking Changes (8)
  • 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" }
  • 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") }

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" }

Additional Notes

  • 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") }
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
    },
103 123
    "bannerImage": {
104 124
      "properties": {
105 125
        "alt": {
106 126
          "type": "string"
107 127
        },
108 128
        "src": {
109 129
          "format": "uri",
110 130
          "type": "string"
111 131
        },
112 132
        "uri": {
113 133
          "format": "at-uri",
114 134
          "type": "string"
115 135
        }
116 136
      },
117 137
      "required": [
118 138
        "uri",
119 139
        "src",
120 140
        "alt"
121 141
      ],
122 142
      "type": "object"
123 143
    },
124 144
    "bannerView": {
125 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.",
126 146
      "properties": {
127 147
        "id": {
128 148
          "type": "string"
129 149
        },
130 150
        "image": {
131 151
          "ref": "#bannerImage",
132 152
          "type": "ref"
133 153
        },
134 154
        "position": {
135 155
          "maximum": 9007199254740991,
136 156
          "minimum": 0,
137 157
          "type": "integer"
138 158
        },
139 159
        "summary": {
140 160
          "maxGraphemes": 300,
141 161
          "maxLength": 3000,
142 162
          "type": "string"
143 163
        },
144 164
        "title": {
145 165
          "maxGraphemes": 200,
146 166
          "maxLength": 2000,
147 167
          "type": "string"
148 168
        }
149 169
      },
150 170
      "required": [
151 171
        "id",
152 172
        "title",
153 173
        "summary",
154 174
        "position"
155 175
      ],
156 176
      "type": "object"
157 177
    },
158 178
    "categoryView": {
159 179
      "properties": {
160 180
        "id": {
161 181
          "type": "string"
162 182
        },
163 183
        "name": {
164 184
          "maxGraphemes": 100,
165 185
          "maxLength": 1000,
166 186
          "type": "string"
167 187
        },
168 188
        "position": {
169 189
          "minimum": 0,
170 190
          "type": "integer"
171 191
        }
172 192
      },
173 193
      "required": [
174 194
        "id",
175 195
        "name",
176 196
        "position"
177 197
      ],
178 198
      "type": "object"
179 199
    },
180 200
    "faqView": {
181 201
      "properties": {
182 202
        "answer": {
183 203
          "maxGraphemes": 100000,
184 204
          "maxLength": 1000000,
185 205
          "type": "string"
186 206
        },
187 207
        "categoryId": {
188 208
          "type": "string"
189 209
        },
190 210
        "categoryName": {
191 211
          "maxGraphemes": 100,
192 212
          "maxLength": 1000,
193 213
          "type": "string"
194 214
        },
195 215
        "contentFormat": {
196 216
          "knownValues": [
197 217
            "markdown"
198 218
          ],
199 219
          "type": "string"
200 220
        },
201 221
        "id": {
202 222
          "type": "string"
203 223
        },
204 224
        "position": {
205 225
          "minimum": 0,
206 226
          "type": "integer"
207 227
        },
208 228
        "publishedAt": {
209 229
          "format": "datetime",
210 230
          "type": "string"
211 231
        },
212 232
        "question": {
213 233
          "maxGraphemes": 500,
214 234
          "maxLength": 5000,
215 235
          "type": "string"
216 236
        }
217 237
      },
218 238
      "required": [
219 239
        "id",
220 240
        "categoryId",
221 241
        "categoryName",
222 242
        "question",
223 243
        "contentFormat",
224 244
        "answer",
225 245
        "position",
226 246
        "publishedAt"
227 247
      ],
228 248
      "type": "object"
229 249
    }
230 250
  },
231 251
  "description": "Public read types for announcements and FAQs.",
232 252
  "id": "app.bivri.support.contentDefs",
233 253
  "lexicon": 1
234 254
}

Compare Other Versions

Lexicon Garden

@