win.tomo-x.rogaining.checkpoint
Schema Diff
+27 -1
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 4 non-breaking changes.
Breaking Changes (2)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.checkpoint:body", src: "win.tomo-x.rogaining.checkpoint:body", tgt: "win.tomo-x.rogaining.checkpoint:body.internalImages", kind: "prop", name: Some("internalImages") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.checkpoint:body", src: "win.tomo-x.rogaining.checkpoint:body", tgt: "win.tomo-x.rogaining.checkpoint:body.image", kind: "prop", name: Some("image") }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.image" }
- AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.internalImages" }
- AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.internalImages:items" }
- AddedEdge AddedEdge { src: "win.tomo-x.rogaining.checkpoint:body.internalImages", tgt: "win.tomo-x.rogaining.checkpoint:body.internalImages:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.image" }AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.internalImages" }AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.internalImages:items" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.checkpoint:body", src: "win.tomo-x.rogaining.checkpoint:body", tgt: "win.tomo-x.rogaining.checkpoint:body.internalImages", kind: "prop", name: Some("internalImages") }
- Breaking: RequiredEdgeAdded { vertex_id: "win.tomo-x.rogaining.checkpoint:body", src: "win.tomo-x.rogaining.checkpoint:body", tgt: "win.tomo-x.rogaining.checkpoint:body.image", kind: "prop", name: Some("image") }
- Non-breaking: AddedEdge { src: "win.tomo-x.rogaining.checkpoint:body.internalImages", tgt: "win.tomo-x.rogaining.checkpoint:body.internalImages:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A checkpoint belonging to a rogaining event.",
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
"maxGraphemes": 1000,
15
15
"maxLength": 10000,
16
16
"type": "string"
17
17
},
18
18
"event": {
19
19
"description": "The event this checkpoint belongs to.",
20
20
"ref": "com.atproto.repo.strongRef",
21
21
"type": "ref"
22
22
},
23
+
"image": {
24
+
"accept": [
25
+
"image/png",
26
+
"image/jpeg",
27
+
"image/webp"
28
+
],
29
+
"description": "Image of the checkpoint.",
30
+
"maxSize": 2000000,
31
+
"type": "blob"
32
+
},
33
+
"internalImages": {
34
+
"description": "Internal images of the checkpoint, not shown to participants.",
35
+
"items": {
36
+
"accept": [
37
+
"image/png",
38
+
"image/jpeg",
39
+
"image/webp"
40
+
],
41
+
"maxSize": 2000000,
42
+
"type": "blob"
43
+
},
44
+
"maxLength": 10,
45
+
"type": "array"
46
+
},
23
47
"location": {
24
48
"ref": "win.tomo-x.rogaining.defs#location",
25
49
"type": "ref"
26
50
},
27
51
"name": {
28
52
"maxGraphemes": 100,
29
53
"maxLength": 1000,
30
54
"type": "string"
31
55
},
32
56
"point": {
33
57
"description": "Score awarded for reaching this checkpoint.",
34
58
"minimum": 0,
35
59
"type": "integer"
36
60
},
37
61
"radiusMeters": {
38
62
"default": 30,
39
63
"description": "Allowed distance from the location for a valid submission.",
40
64
"minimum": 1,
41
65
"type": "integer"
42
66
}
43
67
},
44
68
"required": [
45
69
"event",
46
70
"name",
47
71
"point",
48
72
"location",
49
-
"createdAt"
73
+
"createdAt",
74
+
"image",
75
+
"internalImages"
50
76
],
51
77
"type": "object"
52
78
},
53
79
"type": "record"
54
80
}
55
81
},
56
82
"id": "win.tomo-x.rogaining.checkpoint",
57
83
"lexicon": 1
58
84
}