const newscanmeta = await db
.insert(scanmeta)
.values({
realm: entry.realm,
faction: entry.faction as 'Alliance' | 'Horde' | 'Neutral',
scanner: entry.char,
timestamp: new Date(entry.ts * 1000).toISOString(),
})
.onConflictDoUpdate({
target: [scanmeta.timestamp, scanmeta.scanner],
set: {
scanner: entry.char,
timestamp: new Date(entry.ts * 1000).toISOString(),
},
})
.returning({ id: scanmeta.id });
const scanID = newscanmeta[0]?.id;
const newAuction = insertAuctionsSchema.safeParse({
scanId: scanID,
itemId: item,
timestamp: new Date(scan.ts * 1000).toISOString(),
seller,
timeLeft: a.TimeLeft,
itemCount: a.ItemCount,
minBid: a.MinBid,
buyout: a.Buyout,
curBid: a.CurBid,
});
if (!newAuction.success) {
console.error(fromZodError(newAuction.error));
continue;
}
await db.insert(auctions).values(newAuction.data);
const newscanmeta = await db
.insert(scanmeta)
.values({
realm: entry.realm,
faction: entry.faction as 'Alliance' | 'Horde' | 'Neutral',
scanner: entry.char,
timestamp: new Date(entry.ts * 1000).toISOString(),
})
.onConflictDoUpdate({
target: [scanmeta.timestamp, scanmeta.scanner],
set: {
scanner: entry.char,
timestamp: new Date(entry.ts * 1000).toISOString(),
},
})
.returning({ id: scanmeta.id });
const scanID = newscanmeta[0]?.id;
const newAuction = insertAuctionsSchema.safeParse({
scanId: scanID,
itemId: item,
timestamp: new Date(scan.ts * 1000).toISOString(),
seller,
timeLeft: a.TimeLeft,
itemCount: a.ItemCount,
minBid: a.MinBid,
buyout: a.Buyout,
curBid: a.CurBid,
});
if (!newAuction.success) {
console.error(fromZodError(newAuction.error));
continue;
}
await db.insert(auctions).values(newAuction.data);