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