De-closure list-memberships

This commit is contained in:
Paul Frazee
2023-11-28 16:50:46 -08:00
parent 056b1b3e52
commit 3ae468d09b
+21 -8
View File
@@ -15,7 +15,12 @@
*/ */
import {AtUri} from '@atproto/api' import {AtUri} from '@atproto/api'
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query' import {
QueryFunctionContext,
useMutation,
useQuery,
useQueryClient,
} from '@tanstack/react-query'
import {useSession, getAgent} from '#/state/session' import {useSession, getAgent} from '#/state/session'
import {RQKEY as LIST_MEMBERS_RQKEY} from '#/state/queries/list-members' import {RQKEY as LIST_MEMBERS_RQKEY} from '#/state/queries/list-members'
@@ -26,7 +31,10 @@ const SANITY_PAGE_LIMIT = 1000
const PAGE_SIZE = 100 const PAGE_SIZE = 100
// ...which comes 100,000k list members // ...which comes 100,000k list members
export const RQKEY = () => ['list-memberships'] export const RQKEY = (userDid: string | undefined) => [
'list-memberships',
userDid,
]
export interface ListMembersip { export interface ListMembersip {
membershipUri: string membershipUri: string
@@ -41,16 +49,23 @@ export function useDangerousListMembershipsQuery() {
const {currentAccount} = useSession() const {currentAccount} = useSession()
return useQuery<ListMembersip[]>({ return useQuery<ListMembersip[]>({
staleTime: STALE.MINUTES.FIVE, staleTime: STALE.MINUTES.FIVE,
queryKey: RQKEY(), queryKey: RQKEY(currentAccount?.did),
async queryFn() { queryFn: dangerousListMembershipsQueryFn,
if (!currentAccount) { })
}
async function dangerousListMembershipsQueryFn({
queryKey,
}: QueryFunctionContext) {
const [_, userDid] = queryKey as ReturnType<typeof RQKEY>
if (!userDid) {
return [] return []
} }
let cursor let cursor
let arr: ListMembersip[] = [] let arr: ListMembersip[] = []
for (let i = 0; i < SANITY_PAGE_LIMIT; i++) { for (let i = 0; i < SANITY_PAGE_LIMIT; i++) {
const res = await getAgent().app.bsky.graph.listitem.list({ const res = await getAgent().app.bsky.graph.listitem.list({
repo: currentAccount.did, repo: userDid,
limit: PAGE_SIZE, limit: PAGE_SIZE,
cursor, cursor,
}) })
@@ -67,8 +82,6 @@ export function useDangerousListMembershipsQuery() {
} }
} }
return arr return arr
},
})
} }
/** /**