|
| 1 | +import { RouteDocs } from 'koa-clay' |
| 2 | + |
| 3 | +const LeaderboardAPIDocs: Record<string, RouteDocs> = { |
| 4 | + get: { |
| 5 | + description: 'Get a leaderboard\'s entries\n50 results are returned per page, in the sort order defined by the leaderboard', |
| 6 | + params: { |
| 7 | + route: { |
| 8 | + internalName: 'The internal name of the leaderboard' |
| 9 | + }, |
| 10 | + query: { |
| 11 | + page: 'The current pagination index (starting at 0)' |
| 12 | + } |
| 13 | + }, |
| 14 | + samples: [ |
| 15 | + { |
| 16 | + title: 'Sample response', |
| 17 | + sample: { |
| 18 | + entries: [ |
| 19 | + { |
| 20 | + id: 4, |
| 21 | + position: 0, |
| 22 | + score: 593.21, |
| 23 | + leaderboardName: 'Highscore', |
| 24 | + leaderboardInternalName: 'highscore', |
| 25 | + playerAlias: { |
| 26 | + id: 1, |
| 27 | + service: 'steam', |
| 28 | + identifier: '11133645', |
| 29 | + player: { |
| 30 | + id: '7a4e70ec-6ee6-418e-923d-b3a45051b7f9', |
| 31 | + props: [ |
| 32 | + { key: 'xPos', value: '13.29' }, |
| 33 | + { key: 'yPos', value: '26.44' } |
| 34 | + ], |
| 35 | + aliases: [ |
| 36 | + '/* [Circular] */' |
| 37 | + ], |
| 38 | + devBuild: false, |
| 39 | + createdAt: '2022-01-15 13:20:32', |
| 40 | + lastSeenAt: '2022-04-12 15:09:43' |
| 41 | + } |
| 42 | + }, |
| 43 | + hidden: false, |
| 44 | + createdAt: '2022-01-15 14:01:18', |
| 45 | + updatedAt: '2022-01-15 14:01:18' |
| 46 | + }, |
| 47 | + { |
| 48 | + id: 29, |
| 49 | + position: 1, |
| 50 | + score: 400.06, |
| 51 | + leaderboardName: 'Highscore', |
| 52 | + leaderboardInternalName: 'highscore', |
| 53 | + playerAlias: { |
| 54 | + id: 1, |
| 55 | + service: 'epic', |
| 56 | + identifier: '44661821', |
| 57 | + player: { |
| 58 | + id: '1c4d8680-8865-4bfa-8212-f9a405e77897', |
| 59 | + props: [ |
| 60 | + { key: 'xPos', value: '117.33' }, |
| 61 | + { key: 'yPos', value: '-50.80' } |
| 62 | + ], |
| 63 | + aliases: [ |
| 64 | + '/* [Circular] */' |
| 65 | + ], |
| 66 | + devBuild: false, |
| 67 | + createdAt: '2022-06-15 14:13:16', |
| 68 | + lastSeenAt: '2022-06-15 15:01:55' |
| 69 | + } |
| 70 | + }, |
| 71 | + hidden: false, |
| 72 | + createdAt: '2022-06-15 14:48:11', |
| 73 | + updatedAt: '2022-06-15 14:48:11' |
| 74 | + }, |
| 75 | + '/* ...48 more entries */' |
| 76 | + ], |
| 77 | + count: 126, |
| 78 | + isLastPage: false |
| 79 | + } |
| 80 | + } |
| 81 | + ] |
| 82 | + }, |
| 83 | + post: { |
| 84 | + description: 'Create or update a leaderboard\'s entry\nIf an entry exists for the player and the leaderboard mode is set to unique, that entry will be updated with the new score (and the updated key will return true)', |
| 85 | + params: { |
| 86 | + body: { |
| 87 | + aliasId: 'The ID of the player\'s alias', |
| 88 | + score: 'A numeric score for the entry' |
| 89 | + }, |
| 90 | + route: { |
| 91 | + internalName: 'The internal name of the leaderboard' |
| 92 | + } |
| 93 | + }, |
| 94 | + samples: [ |
| 95 | + { |
| 96 | + title: 'Sample response', |
| 97 | + sample: { |
| 98 | + entry: { |
| 99 | + id: 4, |
| 100 | + position: 0, |
| 101 | + score: 593.21, |
| 102 | + leaderboardName: 'Highscore', |
| 103 | + leaderboardInternalName: 'highscore', |
| 104 | + playerAlias: { |
| 105 | + id: 1, |
| 106 | + service: 'steam', |
| 107 | + identifier: '11133645', |
| 108 | + player: { |
| 109 | + id: '7a4e70ec-6ee6-418e-923d-b3a45051b7f9', |
| 110 | + props: [ |
| 111 | + { key: 'xPos', value: '13.29' }, |
| 112 | + { key: 'yPos', value: '26.44' } |
| 113 | + ], |
| 114 | + aliases: [ |
| 115 | + '/* [Circular] */' |
| 116 | + ], |
| 117 | + devBuild: false, |
| 118 | + createdAt: '2022-01-15 13:20:32', |
| 119 | + lastSeenAt: '2022-04-12 15:09:43' |
| 120 | + } |
| 121 | + }, |
| 122 | + hidden: false, |
| 123 | + createdAt: '2022-01-15 14:01:18', |
| 124 | + updatedAt: '2022-02-16 16:03:53' |
| 125 | + }, |
| 126 | + updated: true |
| 127 | + } |
| 128 | + } |
| 129 | + ] |
| 130 | + } |
| 131 | +} |
| 132 | + |
| 133 | +export default LeaderboardAPIDocs |
0 commit comments