com.barryfrost.checkin
Schema Diff
+33 -19
Compatibility Analysis
Breaking Changes Detected
8 breaking changes, 10 non-breaking changes.
Breaking Changes (8)
- RemovedVertex RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.alt" }
- RemovedVertex RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.image" }
- RemovedEdge RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.alt", kind: "prop", name: Some("alt") }
- RemovedEdge RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.image", kind: "prop", name: Some("image") }
- KindChanged KindChanged { vertex_id: "com.barryfrost.checkin:body.photos:items", old_kind: "object", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin#photo.alt", sort: "maxLength", value: "1000" }
- ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.category", sort: "maxLength", value: "100" }
- ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.address", sort: "maxLength", value: "500" }
Non-Breaking Changes (10)
- AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo" }
- AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo.alt" }
- AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo.image" }
- AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin:body.address" }
- AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin:body.category" }
- AddedEdge AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.alt", kind: "prop", name: Some("alt") }
- AddedEdge AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.image", kind: "prop", name: Some("image") }
- AddedEdge AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.address", kind: "prop", name: Some("address") }
- AddedEdge AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.category", kind: "prop", name: Some("category") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items.alt", sort: "maxLength" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.alt" }RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.image" }
Added Elements
AddedVertex { vertex_id: "com.barryfrost.checkin#photo" }AddedVertex { vertex_id: "com.barryfrost.checkin#photo.alt" }AddedVertex { vertex_id: "com.barryfrost.checkin#photo.image" }AddedVertex { vertex_id: "com.barryfrost.checkin:body.address" }AddedVertex { vertex_id: "com.barryfrost.checkin:body.category" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.category", sort: "maxLength", value: "100" }
- ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.address", sort: "maxLength", value: "500" }
- ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin#photo.alt", sort: "maxLength", value: "1000" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items.alt", sort: "maxLength" }
Additional Notes
- Breaking: RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.alt", kind: "prop", name: Some("alt") }
- Breaking: RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.image", kind: "prop", name: Some("image") }
- Breaking: KindChanged { vertex_id: "com.barryfrost.checkin:body.photos:items", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.alt", kind: "prop", name: Some("alt") }
- Non-breaking: AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.image", kind: "prop", name: Some("image") }
- Non-breaking: AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.address", kind: "prop", name: Some("address") }
- Non-breaking: AddedEdge { src: "com.barryfrost.checkin:body", tgt: "com.barryfrost.checkin:body.category", kind: "prop", name: Some("category") }
1
1
{
2
2
"id": "com.barryfrost.checkin",
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
"createdAt",
11
11
"location"
12
12
],
13
13
"properties": {
14
14
"photos": {
15
15
"type": "array",
16
16
"items": {
17
-
"type": "object",
18
-
"required": [
19
-
"image"
20
-
],
21
-
"properties": {
22
-
"alt": {
23
-
"type": "string",
24
-
"maxLength": 1000
25
-
},
26
-
"image": {
27
-
"type": "blob",
28
-
"accept": [
29
-
"image/jpeg",
30
-
"image/png",
31
-
"image/webp"
32
-
],
33
-
"maxSize": 1000000
34
-
}
35
-
}
17
+
"ref": "#photo",
18
+
"type": "ref"
36
19
},
37
20
"maxLength": 8,
38
21
"description": "Photos taken at the checkin, uploaded as PDS blobs"
39
22
},
23
+
"address": {
24
+
"type": "string",
25
+
"maxLength": 500,
26
+
"description": "Formatted venue address, e.g. \"123 High Street, London, UK\""
27
+
},
28
+
"category": {
29
+
"type": "string",
30
+
"maxLength": 100,
31
+
"description": "Primary Foursquare venue category, e.g. \"Coffee Shop\""
32
+
},
40
33
"location": {
41
34
"ref": "community.lexicon.location.fsq",
42
35
"type": "ref",
43
36
"description": "The Foursquare place where the checkin occurred"
44
37
},
45
38
"createdAt": {
46
39
"type": "string",
47
40
"format": "datetime",
48
41
"description": "ISO 8601 timestamp of the checkin"
49
42
}
50
43
}
51
44
},
52
45
"description": "A physical location checkin on Foursquare/Swarm"
46
+
},
47
+
"photo": {
48
+
"type": "object",
49
+
"required": [
50
+
"image"
51
+
],
52
+
"properties": {
53
+
"alt": {
54
+
"type": "string",
55
+
"maxLength": 1000
56
+
},
57
+
"image": {
58
+
"type": "blob",
59
+
"accept": [
60
+
"image/jpeg",
61
+
"image/png",
62
+
"image/webp"
63
+
],
64
+
"maxSize": 1000000
65
+
}
66
+
}
53
67
}
54
68
},
55
69
"$type": "com.atproto.lexicon.schema",
56
70
"lexicon": 1
57
71
}