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.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") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageVariant:body", src: "app.winesky.imageVariant:body", tgt: "app.winesky.imageVariant:body.parent", kind: "prop", name: Some("parent") }
- 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
"id": "app.winesky.imageVariant",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"main",
11
-
"thumbnail",
12
-
"parent"
11
+
"thumbnail"
13
12
],
14
13
"properties": {
15
14
"main": {
16
15
"type": "blob",
17
16
"accept": [
18
17
"image/jpeg",
19
18
"image/png"
20
19
],
21
20
"maxSize": 3000000
22
21
},
23
22
"parent": {
24
-
"type": "object",
25
-
"required": [
26
-
"cid",
27
-
"atUri"
28
-
],
29
-
"properties": {
30
-
"cid": {
31
-
"type": "string",
32
-
"format": "cid"
33
-
},
34
-
"atUri": {
35
-
"type": "string",
36
-
"format": "at-uri"
37
-
}
38
-
}
23
+
"ref": "#strongRef",
24
+
"type": "ref"
39
25
},
40
26
"thumbnail": {
41
27
"type": "blob",
42
28
"accept": [
43
29
"image/jpeg",
44
30
"image/png"
45
31
],
46
32
"maxSize": 100000
47
33
}
48
34
}
49
35
},
50
-
"description": "A group of image variants for display purposes"
36
+
"description": "A group of image variants for display purposes (currently only main and thumbnail)."
37
+
},
38
+
"strongRef": {
39
+
"type": "object",
40
+
"required": [
41
+
"cid",
42
+
"atUri"
43
+
],
44
+
"properties": {
45
+
"cid": {
46
+
"type": "string",
47
+
"format": "cid"
48
+
},
49
+
"atUri": {
50
+
"type": "string",
51
+
"format": "at-uri"
52
+
}
53
+
}
51
54
}
52
55
},
53
56
"$type": "com.atproto.lexicon.schema",
54
57
"lexicon": 1
55
58
}