app.winesky.collectionItem
Schema Diff
+4 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 3 non-breaking changes.
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "app.winesky.collectionItem:body.imageSet" }
- AddedEdge AddedEdge { src: "app.winesky.collectionItem:body", tgt: "app.winesky.collectionItem:body.imageSet", kind: "prop", name: Some("imageSet") }
- AddedEdge AddedEdge { src: "app.winesky.collectionItem:body.imageSet", tgt: "app.winesky.collectionItem#strongRef", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.winesky.collectionItem:body.imageSet" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.winesky.collectionItem:body", tgt: "app.winesky.collectionItem:body.imageSet", kind: "prop", name: Some("imageSet") }
- Non-breaking: AddedEdge { src: "app.winesky.collectionItem:body.imageSet", tgt: "app.winesky.collectionItem#strongRef", kind: "ref", name: None }
1
1
{
2
2
"id": "app.winesky.collectionItem",
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
"collection",
11
11
"drink",
12
12
"createdAt"
13
13
],
14
14
"properties": {
15
15
"drink": {
16
16
"ref": "#drink",
17
17
"type": "ref"
18
18
},
19
19
"review": {
20
20
"ref": "#strongRef",
21
21
"type": "ref"
22
22
},
23
+
"imageSet": {
24
+
"ref": "#strongRef",
25
+
"type": "ref"
26
+
},
23
27
"createdAt": {
24
28
"type": "string",
25
29
"format": "datetime"
26
30
},
27
31
"collection": {
28
32
"type": "string",
29
33
"format": "at-uri"
30
34
}
31
35
}
32
36
},
33
37
"description": "A drink in a user's Collection. References the parent Collection via at-uri and embeds the drink description."
34
38
},
35
39
"drink": {
36
40
"type": "object",
37
41
"required": [
38
42
"category",
39
43
"country",
40
44
"producer",
41
45
"name"
42
46
],
43
47
"properties": {
44
48
"name": {
45
49
"type": "string",
46
50
"maxLength": 512
47
51
},
48
52
"region": {
49
53
"type": "string",
50
54
"maxLength": 256
51
55
},
52
56
"country": {
53
57
"type": "string",
54
58
"maxLength": 128
55
59
},
56
60
"drinkId": {
57
61
"type": "string",
58
62
"maxLength": 64
59
63
},
60
64
"vintage": {
61
65
"type": "integer"
62
66
},
63
67
"category": {
64
68
"enum": [
65
69
"BEER",
66
70
"WINE",
67
71
"SPIRIT",
68
72
"CIDER",
69
73
"RTD",
70
74
"SAKE",
71
75
"OTHER"
72
76
],
73
77
"type": "string",
74
78
"maxLength": 64
75
79
},
76
80
"producer": {
77
81
"type": "string",
78
82
"maxLength": 512
79
83
},
80
84
"varietals": {
81
85
"type": "array",
82
86
"items": {
83
87
"type": "string",
84
88
"maxLength": 128
85
89
}
86
90
},
87
91
"appellation": {
88
92
"type": "string",
89
93
"maxLength": 256
90
94
},
91
95
"alcoholContent": {
92
96
"type": "integer",
93
97
"maximum": 1000,
94
98
"minimum": 0
95
99
}
96
100
}
97
101
},
98
102
"strongRef": {
99
103
"type": "object",
100
104
"required": [
101
105
"cid",
102
106
"atUri"
103
107
],
104
108
"properties": {
105
109
"cid": {
106
110
"type": "string",
107
111
"format": "cid"
108
112
},
109
113
"atUri": {
110
114
"type": "string",
111
115
"format": "at-uri"
112
116
}
113
117
}
114
118
}
115
119
},
116
120
"$type": "com.atproto.lexicon.schema",
117
121
"lexicon": 1
118
122
}