aboutsummaryrefslogtreecommitdiff
path: root/src/hypixel.ts
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-07-01 18:06:03 -0500
committermat <github@matdoes.dev>2022-07-01 18:06:03 -0500
commit06071107fd3e2d7cd697a97844fb4520fef55fe0 (patch)
treebe056af8e631329d17e2ee0311c9eb88835561c5 /src/hypixel.ts
parent55a62be03612553160779d87ea55dce05fc57e8e (diff)
downloadskyblock-api-06071107fd3e2d7cd697a97844fb4520fef55fe0.tar.gz
skyblock-api-06071107fd3e2d7cd697a97844fb4520fef55fe0.tar.bz2
skyblock-api-06071107fd3e2d7cd697a97844fb4520fef55fe0.zip
Pagination
Diffstat (limited to 'src/hypixel.ts')
-rw-r--r--src/hypixel.ts13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/hypixel.ts b/src/hypixel.ts
index 8080a4f..bb07968 100644
--- a/src/hypixel.ts
+++ b/src/hypixel.ts
@@ -50,6 +50,8 @@ export interface ApiOptions {
mainMemberUuid?: string
/** Only get the most basic information, like uuids and names */
basic?: boolean
+ /** Some endpoints have pagination */
+ page?: number
}
/** Sends an API request to Hypixel and returns the response. */
@@ -72,7 +74,7 @@ const cleanResponseFunctions = {
'skyblock/profile': (data: typedHypixelApi.SkyBlockProfileResponse, options) => cleanSkyblockProfileResponse(data.profile, options),
'skyblock/profiles': (data, options) => cleanSkyblockProfilesResponse(data.profiles),
'skyblock/auctions_ended': (data, options) => cleanEndedAuctions(data),
- 'skyblock/auction': (data, options) => cleanAuctions(data),
+ 'skyblock/auction': (data, options) => cleanAuctions(data, options.page ?? 0),
'resources/skyblock/election': (data, options) => cleanElectionResponse(data),
'resources/skyblock/items': (data, options) => cleanItemListResponse(data),
} as const
@@ -484,15 +486,14 @@ async function fetchAuctionItemsUncached() {
return idsToData
}
-export async function fetchPlayerAuctions(user: string): Promise<Auction[] | null> {
+export async function fetchPlayerAuctions(user: string, page: number): Promise<Auction[] | null> {
const playerUuid = await cached.uuidFromUser(user)
if (!playerUuid) return null
const playerAuctions = await sendCleanApiRequest(
'skyblock/auction',
- {
- player: playerUuid
- }
+ { player: playerUuid },
+ { page }
)
- return playerAuctions
+ return playerAuctions.auctions
}