Add osu!
This commit is contained in:
parent
74ccb4d01d
commit
606d55f79f
7 changed files with 217 additions and 3 deletions
47
netlify/functions/osu.ts
Normal file
47
netlify/functions/osu.ts
Normal file
|
@ -0,0 +1,47 @@
|
|||
import { Handler } from '@netlify/functions'
|
||||
import { API, APIError, User } from 'osu-api-v2-js'
|
||||
|
||||
const handler: Handler = async (event, context) => {
|
||||
let api = await API.createAsync({id: 11451, secret: process.env.API_OSU!})
|
||||
if (!api) {
|
||||
return {
|
||||
statusCode: 404,
|
||||
body: ""
|
||||
}
|
||||
}
|
||||
|
||||
let profile = await Promise.all([
|
||||
new Promise((resolve, reject) => resolve((api!.getUser({id: 7276846}, 0)))),
|
||||
new Promise((resolve, reject) => resolve((api!.getUser({id: 7276846}, 1)))),
|
||||
new Promise((resolve, reject) => resolve((api!.getUser({id: 7276846}, 2)))),
|
||||
new Promise((resolve, reject) => resolve((api!.getUser({id: 7276846}, 3))))
|
||||
])
|
||||
|
||||
if (profile.find((mode) => mode instanceof APIError)) {
|
||||
return {
|
||||
statusCode: 404,
|
||||
body: ""
|
||||
}
|
||||
}
|
||||
|
||||
let ranks = {
|
||||
osu: [0,0],
|
||||
taiko: [0,0],
|
||||
fruits: [0,0],
|
||||
mania: [0,0]
|
||||
}
|
||||
|
||||
for (let i = 0; i < profile.length; i++) {
|
||||
let mode = profile[i] as User
|
||||
if (mode.rank_history) {
|
||||
ranks[mode.rank_history.mode] = mode.rank_history.data
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
statusCode: 200,
|
||||
body: JSON.stringify(ranks)
|
||||
}
|
||||
}
|
||||
|
||||
export { handler }
|
Loading…
Add table
Add a link
Reference in a new issue