dev.tsunagite.getLeaderboard

tsunagite.dev

Schema Diff

+12 -0

From

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

To

CID
bafyreigy7uzgepp...
Indexed At
2026-08-07 07:16 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 8 non-breaking changes.

Non-Breaking Changes (8)
  • AddedVertex AddedVertex { vertex_id: "dev.tsunagite.game#scoreComponentMap" }
  • AddedVertex AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder" }
  • AddedVertex AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder:items" }
  • AddedVertex AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.components" }
  • 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", tgt: "dev.tsunagite.getLeaderboard#leaderboard.components", kind: "prop", name: Some("components") }
  • AddedEdge AddedEdge { src: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder", tgt: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder:items", kind: "items", name: None }
  • 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.componentOrder" }
  • AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.componentOrder:items" }
  • AddedVertex { vertex_id: "dev.tsunagite.getLeaderboard#leaderboard.components" }

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

Compare Other Versions

Lexicon Garden

@