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