app.winesky.imageVariant
Schema Diff
+21 -18
Compatibility Analysis
Breaking Changes Detected
9 breaking changes, 4 non-breaking changes.
Breaking Changes (9)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.atUri", kind: "prop", name: Some("atUri") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.cid", kind: "prop", name: Some("cid") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body", src: "app.winesky.imageVariant:body", tgt: "app.winesky.imageVariant:body.parent", kind: "prop", name: Some("parent") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.cid", kind: "prop", name: Some("cid") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.atUri", kind: "prop", name: Some("atUri") }
- RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.atUri" }
- RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.cid" }
- KindChanged KindChanged { vertex_id: "app.winesky.imageVariant:body.parent", old_kind: "object", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageVariant:body.parent", sort: "ref", value: "#strongRef" }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef" }
- AddedVertex AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.atUri" }
- AddedVertex AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.cid" }
- AddedEdge AddedEdge { src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant#strongRef", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.atUri" }RemovedVertex { vertex_id: "app.winesky.imageVariant:body.parent.cid" }
Added Elements
AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef" }AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.atUri" }AddedVertex { vertex_id: "app.winesky.imageVariant#strongRef.cid" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageVariant:body.parent", sort: "ref", value: "#strongRef" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.atUri", kind: "prop", name: Some("atUri") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageVariant#strongRef", src: "app.winesky.imageVariant#strongRef", tgt: "app.winesky.imageVariant#strongRef.cid", kind: "prop", name: Some("cid") }
- Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body", src: "app.winesky.imageVariant:body", tgt: "app.winesky.imageVariant:body.parent", kind: "prop", name: Some("parent") }
- Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.cid", kind: "prop", name: Some("cid") }
- Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body.parent", src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant:body.parent.atUri", kind: "prop", name: Some("atUri") }
- Breaking: KindChanged { vertex_id: "app.winesky.imageVariant:body.parent", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "app.winesky.imageVariant:body.parent", tgt: "app.winesky.imageVariant#strongRef", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "A group of image variants for display purposes",
5
+
"description": "A group of image variants for display purposes (currently only main and thumbnail).",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"main": {
10
10
"accept": [
11
11
"image/jpeg",
12
12
"image/png"
13
13
],
14
14
"maxSize": 3000000,
15
15
"type": "blob"
16
16
},
17
17
"parent": {
18
-
"properties": {
19
-
"atUri": {
20
-
"format": "at-uri",
21
-
"type": "string"
22
-
},
23
-
"cid": {
24
-
"format": "cid",
25
-
"type": "string"
26
-
}
27
-
},
28
-
"required": [
29
-
"cid",
30
-
"atUri"
31
-
],
32
-
"type": "object"
18
+
"ref": "#strongRef",
19
+
"type": "ref"
33
20
},
34
21
"thumbnail": {
35
22
"accept": [
36
23
"image/jpeg",
37
24
"image/png"
38
25
],
39
26
"maxSize": 100000,
40
27
"type": "blob"
41
28
}
42
29
},
43
30
"required": [
44
31
"main",
45
-
"thumbnail",
46
-
"parent"
32
+
"thumbnail"
47
33
],
48
34
"type": "object"
49
35
},
50
36
"type": "record"
37
+
},
38
+
"strongRef": {
39
+
"properties": {
40
+
"atUri": {
41
+
"format": "at-uri",
42
+
"type": "string"
43
+
},
44
+
"cid": {
45
+
"format": "cid",
46
+
"type": "string"
47
+
}
48
+
},
49
+
"required": [
50
+
"cid",
51
+
"atUri"
52
+
],
53
+
"type": "object"
51
54
}
52
55
},
53
56
"id": "app.winesky.imageVariant",
54
57
"lexicon": 1
55
58
}