dev.tsunagite.getLeaderboard
Schema Diff
+8 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder" }
- AddedVertex AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder:items" }
- AddedEdge AddedEdge { src: "dev.tsunagite.getLeaderboard#leaderboard", tgt: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder", kind: "prop", name: Some("componentOrder") }
- AddedEdge AddedEdge { src: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder", tgt: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder" }AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "dev.tsunagite.getLeaderboard#leaderboard", tgt: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder", kind: "prop", name: Some("componentOrder") }
- Non-breaking: AddedEdge { src: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder", tgt: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"leaderboard": {
5
5
"description": "A sorted leaderboard of associated scores, with an index for assembling longer leaderboards.",
6
6
"properties": {
7
+
"componentOrder": {
8
+
"description": "The order in which components should be displayed in a leaderboard table.",
9
+
"items": {
10
+
"format": "record-key",
11
+
"type": "string"
12
+
},
13
+
"type": "array"
14
+
},
7
15
"components": {
8
16
"ref": "dev.tsunagite.game#scoreComponentMap",
9
17
"type": "ref"
10
18
},
11
19
"cursor": {
12
20
"description": "The integer index of the next score after this slice. If not present, no further scores remain.",
13
21
"minimum": 0,
14
22
"type": "integer"
15
23
},
16
24
"scores": {
17
25
"description": "The scores in this slice of leaderboard, sorted in descending order by the specified property.",
18
26
"items": {
19
27
"ref": "dev.tsunagite.defs#associatedScore",
20
28
"type": "ref"
21
29
},
22
30
"type": "array"
23
31
}
24
32
},
25
33
"type": "object"
26
34
},
27
35
"main": {
28
36
"description": "List the leaderboard for a given chart. Does not require auth.",
29
37
"errors": [
30
38
{
31
39
"description": "No chart matching the given URI was found.",
32
40
"name": "chartNotFound"
33
41
},
34
42
{
35
43
"description": "No score component for the game matching the given ID was found.",
36
44
"name": "invalidComponent"
37
45
},
38
46
{
39
47
"description": "There are fewer scores than the requested cursor point.",
40
48
"name": "cursorOutOfBounds"
41
49
}
42
50
],
43
51
"output": {
44
52
"encoding": "application/json",
45
53
"schema": {
46
54
"ref": "dev.tsunagite.getLeaderboard#leaderboard",
47
55
"type": "ref"
48
56
}
49
57
},
50
58
"parameters": {
51
59
"properties": {
52
60
"chart": {
53
61
"description": "Must point to type `dev.tsunagite.chart`",
54
62
"format": "at-uri",
55
63
"type": "string"
56
64
},
57
65
"cursor": {
58
66
"description": "The index of the highest score to query in this slice.",
59
67
"minimum": 0,
60
68
"type": "integer"
61
69
},
62
70
"inputMethod": {
63
71
"type": "string"
64
72
},
65
73
"limit": {
66
74
"default": 50,
67
75
"description": "How many scores to get in this slice.",
68
76
"maximum": 100,
69
77
"minimum": 1,
70
78
"type": "integer"
71
79
},
72
80
"mode": {
73
81
"type": "string"
74
82
},
75
83
"sortBy": {
76
84
"description": "The ID of the score component to sort the leaderboard by. Will default to the game's default component if not present. Set to `timestamp` to sort by newest/oldest.",
77
85
"format": "record-key",
78
86
"type": "string"
79
87
},
80
88
"versions": {
81
89
"description": "The md5 hashes of the chart versions to list scores for. Will default to the chart's current ranked versions if not present.",
82
90
"items": {
83
91
"maxLength": 16,
84
92
"minLength": 16,
85
93
"type": "bytes"
86
94
},
87
95
"type": "array"
88
96
}
89
97
},
90
98
"required": [
91
99
"chart"
92
100
],
93
101
"type": "params"
94
102
},
95
103
"type": "query"
96
104
}
97
105
},
98
106
"description": "Defnitions related to querying leaderboards hosted via Tsunagite.",
99
107
"id": "dev.tsunagite.getLeaderboard",
100
108
"lexicon": 1
101
109
}