win.tomo-x.rogaining.checkpoint
Schema Diff
+32 -1
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 6 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 (6)
- 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" }
- AddedVertex AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.isGoal" }
- AddedEdge AddedEdge { src: "win.tomo-x.rogaining.checkpoint:body", tgt: "win.tomo-x.rogaining.checkpoint:body.isGoal", kind: "prop", name: Some("isGoal") }
- 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" }AddedVertex { vertex_id: "win.tomo-x.rogaining.checkpoint:body.isGoal" }
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", tgt: "win.tomo-x.rogaining.checkpoint:body.isGoal", kind: "prop", name: Some("isGoal") }
- 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
+
},
47
+
"isGoal": {
48
+
"default": false,
49
+
"description": "Whether this checkpoint is the event finish. Goal submissions are not judged.",
50
+
"type": "boolean"
51
+
},
23
52
"location": {
24
53
"ref": "win.tomo-x.rogaining.defs#location",
25
54
"type": "ref"
26
55
},
27
56
"name": {
28
57
"maxGraphemes": 100,
29
58
"maxLength": 1000,
30
59
"type": "string"
31
60
},
32
61
"point": {
33
62
"description": "Score awarded for reaching this checkpoint.",
34
63
"minimum": 0,
35
64
"type": "integer"
36
65
},
37
66
"radiusMeters": {
38
67
"default": 30,
39
68
"description": "Allowed distance from the location for a valid submission.",
40
69
"minimum": 1,
41
70
"type": "integer"
42
71
}
43
72
},
44
73
"required": [
45
74
"event",
46
75
"name",
47
76
"point",
48
77
"location",
49
-
"createdAt"
78
+
"createdAt",
79
+
"image",
80
+
"internalImages"
50
81
],
51
82
"type": "object"
52
83
},
53
84
"type": "record"
54
85
}
55
86
},
56
87
"id": "win.tomo-x.rogaining.checkpoint",
57
88
"lexicon": 1
58
89
}