aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-07-02 15:26:52 -0500
committermat <github@matdoes.dev>2022-07-02 15:26:52 -0500
commit96671eaaa92d2f0b508589a0cd372618d94c7fad (patch)
tree8078776af9276521835f4994fc0fff9d25ba0fde
parentd1f434f53c73c4b7f6327b168f38441732a4a843 (diff)
downloadskyblock-api-96671eaaa92d2f0b508589a0cd372618d94c7fad.tar.gz
skyblock-api-96671eaaa92d2f0b508589a0cd372618d94c7fad.tar.bz2
skyblock-api-96671eaaa92d2f0b508589a0cd372618d94c7fad.zip
don't store auction ids
might be an even worse idea
-rw-r--r--src/database.ts6
-rw-r--r--src/hypixel.ts5
2 files changed, 3 insertions, 8 deletions
diff --git a/src/database.ts b/src/database.ts
index d0c5da0..4d2eb4d 100644
--- a/src/database.ts
+++ b/src/database.ts
@@ -118,8 +118,6 @@ export interface AccountSchema {
}
export interface SimpleAuctionSchemaBson {
- /** The UUID of the auction so we can look it up later. */
- id: Binary
coins: number
/**
* The timestamp as **seconds** since epoch. It's in seconds instead of ms
@@ -134,8 +132,6 @@ export interface SimpleAuctionSchemaBson {
lore: string
}
export interface SimpleAuctionSchema {
- /** The UUID of the auction so we can look it up later. */
- id: string
coins: number
/**
* The timestamp as **seconds** since epoch. It's in seconds instead of ms
@@ -1128,7 +1124,6 @@ function toItemAuctionsSchema(i: ItemAuctionsSchemaBson): ItemAuctionsSchema {
auctions: i.auctions.map(a => {
return {
...a,
- id: a.id.toString('hex'),
bin: a.bin ?? false
}
}),
@@ -1142,7 +1137,6 @@ function toItemAuctionsSchemaBson(i: ItemAuctionsSchema): ItemAuctionsSchemaBson
auctions: i.auctions.map(a => {
return {
...a,
- id: createUuid(a.id),
bin: a.bin ? true : undefined
}
}),
diff --git a/src/hypixel.ts b/src/hypixel.ts
index 70753f7..42a219d 100644
--- a/src/hypixel.ts
+++ b/src/hypixel.ts
@@ -401,13 +401,14 @@ export async function periodicallyFetchRecentlyEndedAuctions() {
const simpleAuction: SimpleAuctionSchema = {
s: true,
coins: Math.round(auction.coins / auction.item.count),
- id: auction.id,
ts: Math.floor(auction.timestamp / 1000),
bin: auction.bin,
lore: auction.item.display.lore.join('\n')
}
// make sure the auction isn't already in there
- if (!auctions.find((a) => a.id === simpleAuction.id)) {
+ // we use the timestamp because it's sorta unique enough
+ // (we don't store auction ids in the database because they're too big)
+ if (!auctions.find((a) => a.ts === simpleAuction.ts)) {
auctions.push(simpleAuction)
// keep only the last 100 items
if (auctions.length > 100)