Assert bios in fetch function

This commit is contained in:
ekzyis 2025-04-02 17:06:13 +02:00
parent 0f1818c9b9
commit 93608019cd

View File

@ -71,10 +71,10 @@ async function assertSettings () {
} }
} }
function fetchRecentBios () { async function fetchRecentBios () {
// fetch all recent bios. we assume here there won't be more than 21 // fetch all recent bios. we assume here there won't be more than 21
// since the last bio we already included in a post as defined by FETCH_AFTER. // since the last bio we already included in a post as defined by FETCH_AFTER.
return gql( const { items: { items: bios } } = await gql(
`query NewBios($limit: Limit!) { `query NewBios($limit: Limit!) {
items(sort: "recent", type: "bios", limit: $limit) { items(sort: "recent", type: "bios", limit: $limit) {
items { items {
@ -93,9 +93,8 @@ function fetchRecentBios () {
} }
}`, { limit: LIMIT } }`, { limit: LIMIT }
) )
}
function filterBios (bios) { // assert that we fetched enough bios
const newBios = bios.filter(b => b.id > FETCH_AFTER) const newBios = bios.filter(b => b.id > FETCH_AFTER)
if (newBios.length === bios.length) { if (newBios.length === bios.length) {
throw new Error('last bio not found. increase limit') throw new Error('last bio not found. increase limit')
@ -190,7 +189,6 @@ const util = {
assertSettings() assertSettings()
.then(fetchRecentBios) .then(fetchRecentBios)
.then(data => filterBios(data.items.items))
.then(populate) .then(populate)
.then(printTable) .then(printTable)
.catch(console.error) .catch(console.error)