feat(tech-bsky-fedi): filter accounts with error

This commit is contained in:
Ayo Ayco 2025-01-08 15:01:30 +01:00
parent 92fcbfd450
commit d6a5922450

View file

@ -14,7 +14,7 @@ const csvToArray = (content: string) => {
const accounts = csvToArray(importedCode) const accounts = csvToArray(importedCode)
const accountObjects = accounts let accountObjects = accounts
.map((account) => { .map((account) => {
const bskyHandle = account?.replace('@bsky.brid.gy', '') const bskyHandle = account?.replace('@bsky.brid.gy', '')
const url = `https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile/?actor=${bskyHandle}` const url = `https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile/?actor=${bskyHandle}`
@ -32,7 +32,13 @@ const accountObjects = accounts
const urls = accountObjects.map((account) => account.url) const urls = accountObjects.map((account) => account.url)
const promises = urls.map((url) => fetch(url)) const promises = urls.map((url) => fetch(url))
const responses = await Promise.all(promises) const responses = await Promise.all(promises)
const data = await Promise.all(responses.map((response) => response.json())) let data = await Promise.all(responses.map((response) => response.json()))
// filter accounts with error (e.g., AccountDisabled)
accountObjects = accountObjects.filter((acct, index) => !data[index].error)
data = data.filter((datum) => !datum.error)
console.log(accountObjects)
const title = 'Tech Bsky ↔ Fedi' const title = 'Tech Bsky ↔ Fedi'
const description = const description =
@ -96,7 +102,7 @@ const description =
<tr> <tr>
<td> <td>
<Image <Image
src={data[index].avatar} src={data[index].avatar ?? ''}
alt={`${account.bskyHandle}'s avatar`} alt={`${account.bskyHandle}'s avatar`}
width="50" width="50"
height="50" height="50"