app.bivri.support.contentDefs

lexicons.bivri.app

Schema Diff

+55 -0

From

CID
bafyreig4xi3rti5...
Indexed At
2026-08-04 07:17 UTC
View this version

To

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

Compatibility Analysis

Breaking Changes Detected

7 breaking changes, 12 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 (12)
  • 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#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#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#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 14
        "id": {
15 15
          "type": "string"
16 16
        },
17 17
        "pinned": {
18 18
          "type": "boolean"
19 19
        },
20 20
        "publishedAt": {
21 21
          "format": "datetime",
22 22
          "type": "string"
23 23
        },
24 24
        "title": {
25 25
          "maxGraphemes": 200,
26 26
          "maxLength": 2000,
27 27
          "type": "string"
28 28
        }
29 29
      },
30 30
      "required": [
31 31
        "id",
32 32
        "categoryId",
33 33
        "categoryName",
34 34
        "title",
35 35
        "pinned",
36 36
        "publishedAt"
37 37
      ],
38 38
      "type": "object"
39 39
    },
40 40
    "announcementView": {
41 41
      "nullable": [
42 42
        "newer",
43 43
        "older"
44 44
      ],
45 45
      "properties": {
46 46
        "categoryId": {
47 47
          "type": "string"
48 48
        },
49 49
        "categoryName": {
50 50
          "maxGraphemes": 100,
51 51
          "maxLength": 1000,
52 52
          "type": "string"
53 53
        },
54 54
        "content": {
55 55
          "maxGraphemes": 100000,
56 56
          "maxLength": 1000000,
57 57
          "type": "string"
58 58
        },
59 59
        "contentFormat": {
60 60
          "knownValues": [
61 61
            "markdown"
62 62
          ],
63 63
          "type": "string"
64 64
        },
65 65
        "id": {
66 66
          "type": "string"
67 67
        },
68 68
        "newer": {
69 69
          "ref": "app.bivri.support.contentDefs#announcementSummary",
70 70
          "type": "ref"
71 71
        },
72 72
        "older": {
73 73
          "ref": "app.bivri.support.contentDefs#announcementSummary",
74 74
          "type": "ref"
75 75
        },
76 76
        "pinned": {
77 77
          "type": "boolean"
78 78
        },
79 79
        "publishedAt": {
80 80
          "format": "datetime",
81 81
          "type": "string"
82 82
        },
83 83
        "title": {
84 84
          "maxGraphemes": 200,
85 85
          "maxLength": 2000,
86 86
          "type": "string"
87 87
        }
88 88
      },
89 89
      "required": [
90 90
        "id",
91 91
        "categoryId",
92 92
        "categoryName",
93 93
        "title",
94 94
        "pinned",
95 95
        "publishedAt",
96 96
        "contentFormat",
97 97
        "content",
98 98
        "newer",
99 99
        "older"
100 100
      ],
101 101
      "type": "object"
102 102
    },
103 +
    "bannerImage": {
104 +
      "properties": {
105 +
        "alt": {
106 +
          "type": "string"
107 +
        },
108 +
        "src": {
109 +
          "format": "uri",
110 +
          "type": "string"
111 +
        },
112 +
        "uri": {
113 +
          "format": "at-uri",
114 +
          "type": "string"
115 +
        }
116 +
      },
117 +
      "required": [
118 +
        "uri",
119 +
        "src",
120 +
        "alt"
121 +
      ],
122 +
      "type": "object"
123 +
    },
124 +
    "bannerView": {
125 +
      "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 +
      "properties": {
127 +
        "id": {
128 +
          "type": "string"
129 +
        },
130 +
        "image": {
131 +
          "ref": "#bannerImage",
132 +
          "type": "ref"
133 +
        },
134 +
        "position": {
135 +
          "maximum": 9007199254740991,
136 +
          "minimum": 0,
137 +
          "type": "integer"
138 +
        },
139 +
        "summary": {
140 +
          "maxGraphemes": 300,
141 +
          "maxLength": 3000,
142 +
          "type": "string"
143 +
        },
144 +
        "title": {
145 +
          "maxGraphemes": 200,
146 +
          "maxLength": 2000,
147 +
          "type": "string"
148 +
        }
149 +
      },
150 +
      "required": [
151 +
        "id",
152 +
        "title",
153 +
        "summary",
154 +
        "position"
155 +
      ],
156 +
      "type": "object"
157 +
    },
103 158
    "categoryView": {
104 159
      "properties": {
105 160
        "id": {
106 161
          "type": "string"
107 162
        },
108 163
        "name": {
109 164
          "maxGraphemes": 100,
110 165
          "maxLength": 1000,
111 166
          "type": "string"
112 167
        },
113 168
        "position": {
114 169
          "minimum": 0,
115 170
          "type": "integer"
116 171
        }
117 172
      },
118 173
      "required": [
119 174
        "id",
120 175
        "name",
121 176
        "position"
122 177
      ],
123 178
      "type": "object"
124 179
    },
125 180
    "faqView": {
126 181
      "properties": {
127 182
        "answer": {
128 183
          "maxGraphemes": 100000,
129 184
          "maxLength": 1000000,
130 185
          "type": "string"
131 186
        },
132 187
        "categoryId": {
133 188
          "type": "string"
134 189
        },
135 190
        "categoryName": {
136 191
          "maxGraphemes": 100,
137 192
          "maxLength": 1000,
138 193
          "type": "string"
139 194
        },
140 195
        "contentFormat": {
141 196
          "knownValues": [
142 197
            "markdown"
143 198
          ],
144 199
          "type": "string"
145 200
        },
146 201
        "id": {
147 202
          "type": "string"
148 203
        },
149 204
        "position": {
150 205
          "minimum": 0,
151 206
          "type": "integer"
152 207
        },
153 208
        "publishedAt": {
154 209
          "format": "datetime",
155 210
          "type": "string"
156 211
        },
157 212
        "question": {
158 213
          "maxGraphemes": 500,
159 214
          "maxLength": 5000,
160 215
          "type": "string"
161 216
        }
162 217
      },
163 218
      "required": [
164 219
        "id",
165 220
        "categoryId",
166 221
        "categoryName",
167 222
        "question",
168 223
        "contentFormat",
169 224
        "answer",
170 225
        "position",
171 226
        "publishedAt"
172 227
      ],
173 228
      "type": "object"
174 229
    }
175 230
  },
176 231
  "description": "Public read types for announcements and FAQs.",
177 232
  "id": "app.bivri.support.contentDefs",
178 233
  "lexicon": 1
179 234
}

Compare Other Versions

Lexicon Garden

@