Add known followers to shadow cache (#4517)

This commit is contained in:
Eric Bailey 2024-06-14 11:56:43 -05:00 committed by GitHub
parent 4c0f037880
commit fe3f872d49
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 32 additions and 2 deletions

View file

@ -1,5 +1,10 @@
import {AppBskyGraphGetKnownFollowers} from '@atproto/api'
import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
import {AppBskyActorDefs, AppBskyGraphGetKnownFollowers} from '@atproto/api'
import {
InfiniteData,
QueryClient,
QueryKey,
useInfiniteQuery,
} from '@tanstack/react-query'
import {useAgent} from '#/state/session'
@ -32,3 +37,26 @@ export function useProfileKnownFollowersQuery(did: string | undefined) {
enabled: !!did,
})
}
export function* findAllProfilesInQueryData(
queryClient: QueryClient,
did: string,
): Generator<AppBskyActorDefs.ProfileView, void> {
const queryDatas = queryClient.getQueriesData<
InfiniteData<AppBskyGraphGetKnownFollowers.OutputSchema>
>({
queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
continue
}
for (const page of queryData?.pages) {
for (const follow of page.followers) {
if (follow.did === did) {
yield follow
}
}
}
}
}