at.meme-museum.collectionItem
Schema Diff
+12 -28
Compatibility Analysis
Breaking Changes Detected
14 breaking changes, 5 non-breaking changes.
Breaking Changes (14)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.collection", kind: "prop", name: Some("collection") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.meme", kind: "prop", name: Some("meme") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.name", kind: "prop", name: Some("name") }
- RemovedVertex RemovedVertex { vertex_id: "app.bsky.richtext.facet" }
- RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.avatar" }
- RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.description" }
- RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets" }
- RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets:items" }
- RemovedVertex RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.name" }
- RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.avatar", kind: "prop", name: Some("avatar") }
- RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.description", kind: "prop", name: Some("description") }
- RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
- RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets", tgt: "at.meme-museum.collectionItem:body.descriptionFacets:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
Non-Breaking Changes (5)
- AddedVertex AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.collection" }
- AddedVertex AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.meme" }
- AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
- AddedEdge AddedEdge { src: "at.meme-museum.collectionItem:body.collection", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "at.meme-museum.collectionItem:body.meme", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "app.bsky.richtext.facet" }RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.avatar" }RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.description" }RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets" }RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.descriptionFacets:items" }RemovedVertex { vertex_id: "at.meme-museum.collectionItem:body.name" }
Added Elements
AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.collection" }AddedVertex { vertex_id: "at.meme-museum.collectionItem:body.meme" }AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.collection", kind: "prop", name: Some("collection") }
- Breaking: RequiredEdgeAdded { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.meme", kind: "prop", name: Some("meme") }
- Breaking: RequiredEdgeRemoved { vertex_id: "at.meme-museum.collectionItem:body", src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.name", kind: "prop", name: Some("name") }
- Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.avatar", kind: "prop", name: Some("avatar") }
- Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.description", kind: "prop", name: Some("description") }
- Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body", tgt: "at.meme-museum.collectionItem:body.descriptionFacets", kind: "prop", name: Some("descriptionFacets") }
- Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets", tgt: "at.meme-museum.collectionItem:body.descriptionFacets:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "at.meme-museum.collectionItem:body.descriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "at.meme-museum.collectionItem:body.collection", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "at.meme-museum.collectionItem:body.meme", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "TODO: describe purpose of this schema",
6
-
"key": "any",
5
+
"description": "Membership of one meme in one collection. One record per (collection, meme) pair, mirroring the app.bsky.graph.list/listitem split rather than an inline member array -- see docs/data-model.md.",
6
+
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
-
"avatar": {
10
-
"accept": [
11
-
"image/png",
12
-
"image/jpeg"
13
-
],
14
-
"maxSize": 2000000,
15
-
"type": "blob"
9
+
"collection": {
10
+
"description": "Reference to the at.meme-museum.collection record.",
11
+
"ref": "com.atproto.repo.strongRef",
12
+
"type": "ref"
16
13
},
17
14
"createdAt": {
18
15
"format": "datetime",
19
16
"type": "string"
20
17
},
21
-
"description": {
22
-
"maxGraphemes": 300,
23
-
"maxLength": 3000,
24
-
"type": "string"
25
-
},
26
-
"descriptionFacets": {
27
-
"items": {
28
-
"ref": "app.bsky.richtext.facet",
29
-
"type": "ref"
30
-
},
31
-
"type": "array"
32
-
},
33
-
"name": {
34
-
"description": "TODO: title name of record; can not be empty",
35
-
"maxGraphemes": 64,
36
-
"maxLength": 640,
37
-
"minLength": 1,
38
-
"type": "string"
18
+
"meme": {
19
+
"description": "Reference to the at.meme-museum.meme record.",
20
+
"ref": "com.atproto.repo.strongRef",
21
+
"type": "ref"
39
22
}
40
23
},
41
24
"required": [
42
-
"name",
25
+
"collection",
26
+
"meme",
43
27
"createdAt"
44
28
],
45
29
"type": "object"
46
30
},
47
31
"type": "record"
48
32
}
49
33
},
50
34
"id": "at.meme-museum.collectionItem",
51
35
"lexicon": 1
52
36
}