dev.tsunagite.getLeaderboard

tsunagite.dev

Schema Diff

+4 -0

From

CID
bafyreifdm5uuxfo...
Indexed At
2026-05-13 10:23 UTC
View this version

To

CID
bafyreigdyhradwa...
Indexed At
2026-08-07 06:29 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "dev.tsunagite.game#scoreComponentMap" }
  • AddedVertex AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.components" }
  • AddedEdge AddedEdge { src: "dev.tsunagite.getLeaderboard#leaderboard", tgt: "dev.tsunagite.getLeaderboard#leaderboard.components", kind: "prop", name: Some("components") }
  • AddedEdge AddedEdge { src: "dev.tsunagite.getLeaderboard#leaderboard.components", tgt: "dev.tsunagite.game#scoreComponentMap", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "dev.tsunagite.game#scoreComponentMap" }
  • AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.components" }

Additional Notes

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

Compare Other Versions

Lexicon Garden

@