app.winesky.imageSet
Schema Diff
+21 -17
Compatibility Analysis
Breaking Changes Detected
9 breaking changes, 4 non-breaking changes.
Breaking Changes (9)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.atUri", kind: "prop", name: Some("atUri") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.cid", kind: "prop", name: Some("cid") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.atUri", kind: "prop", name: Some("atUri") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.cid", kind: "prop", name: Some("cid") }
- RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.atUri" }
- RemovedVertex RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.cid" }
- KindChanged KindChanged { vertex_id: "app.winesky.imageSet:body.parent", old_kind: "object", new_kind: "ref" }
- ConstraintTightened ConstraintTightened { vertex_id: "app.winesky.imageSet:body.origin", sort: "enum", old_value: "IDENTIFY_WINE,SOMMELIER,CSV_IMPORT,OTHER", new_value: "IDENTIFY_WINE,SEARCH,SOMMELIER,CSV_IMPORT" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageSet:body.parent", sort: "ref", value: "#strongRef" }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "app.winesky.imageSet#strongRef" }
- AddedVertex AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.atUri" }
- AddedVertex AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.cid" }
- AddedEdge AddedEdge { src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet#strongRef", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.atUri" }RemovedVertex { vertex_id: "app.winesky.imageSet:body.parent.cid" }
Added Elements
AddedVertex { vertex_id: "app.winesky.imageSet#strongRef" }AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.atUri" }AddedVertex { vertex_id: "app.winesky.imageSet#strongRef.cid" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "app.winesky.imageSet:body.origin", sort: "enum", old_value: "IDENTIFY_WINE,SOMMELIER,CSV_IMPORT,OTHER", new_value: "IDENTIFY_WINE,SEARCH,SOMMELIER,CSV_IMPORT" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.winesky.imageSet:body.parent", sort: "ref", value: "#strongRef" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.atUri", kind: "prop", name: Some("atUri") }
- Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.imageSet#strongRef", src: "app.winesky.imageSet#strongRef", tgt: "app.winesky.imageSet#strongRef.cid", kind: "prop", name: Some("cid") }
- Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.atUri", kind: "prop", name: Some("atUri") }
- Breaking: RequiredEdgeRemoved { vertex_id: "app.winesky.imageSet:body.parent", src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet:body.parent.cid", kind: "prop", name: Some("cid") }
- Breaking: KindChanged { vertex_id: "app.winesky.imageSet:body.parent", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "app.winesky.imageSet:body.parent", tgt: "app.winesky.imageSet#strongRef", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A set of Winesky-uploaded images",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"createdAt": {
10
10
"format": "datetime",
11
11
"type": "string"
12
12
},
13
13
"description": {
14
14
"maxLength": 5000,
15
15
"type": "string"
16
16
},
17
17
"images": {
18
18
"items": {
19
19
"accept": [
20
20
"image/jpeg",
21
21
"image/png"
22
22
],
23
23
"maxSize": 3000000,
24
24
"type": "blob"
25
25
},
26
26
"maxLength": 4,
27
27
"minLength": 1,
28
28
"type": "array"
29
29
},
30
30
"origin": {
31
31
"enum": [
32
32
"IDENTIFY_WINE",
33
+
"SEARCH",
33
34
"SOMMELIER",
34
-
"CSV_IMPORT",
35
-
"OTHER"
35
+
"CSV_IMPORT"
36
36
],
37
37
"maxLength": 50,
38
38
"type": "string"
39
39
},
40
40
"parent": {
41
-
"properties": {
42
-
"atUri": {
43
-
"format": "at-uri",
44
-
"type": "string"
45
-
},
46
-
"cid": {
47
-
"format": "cid",
48
-
"type": "string"
49
-
}
50
-
},
51
-
"required": [
52
-
"cid",
53
-
"atUri"
54
-
],
55
-
"type": "object"
41
+
"ref": "#strongRef",
42
+
"type": "ref"
56
43
}
57
44
},
58
45
"required": [
59
46
"origin",
60
47
"createdAt"
61
48
],
62
49
"type": "object"
63
50
},
64
51
"type": "record"
52
+
},
53
+
"strongRef": {
54
+
"properties": {
55
+
"atUri": {
56
+
"format": "at-uri",
57
+
"type": "string"
58
+
},
59
+
"cid": {
60
+
"format": "cid",
61
+
"type": "string"
62
+
}
63
+
},
64
+
"required": [
65
+
"cid",
66
+
"atUri"
67
+
],
68
+
"type": "object"
65
69
}
66
70
},
67
71
"id": "app.winesky.imageSet",
68
72
"lexicon": 1
69
73
}