Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ref: Ensure All Queries Use Object Syntax #2389

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,21 @@ import Api from 'shared/api'
export const useAdminAccessList = () => {
const { provider } = useParams()

return useInfiniteQuery(
['AdminAccessList'],
({ pageParam = 1, signal }) =>
return useInfiniteQuery({
queryKey: ['AdminAccessList', provider],
queryFn: ({ pageParam = 1, signal }) =>
Api.get({
path: `/users?is_admin=true&page=${pageParam}`,
signal,
provider,
}),
{
select: ({ pages }) => pages.map(({ results }) => results).flat(),
getNextPageParam: (data) => {
if (data?.next) {
const { searchParams } = new URL(data.next)
return searchParams.get('page')
}
return undefined
},
}
)
select: ({ pages }) => pages.map(({ results }) => results).flat(),
getNextPageParam: (data) => {
if (data?.next) {
const { searchParams } = new URL(data.next)
return searchParams.get('page')
}
return undefined
},
})
}
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,7 @@ function MemberTable() {
onSuccess: () => {
queryClient.invalidateQueries(['SelfHostedSettings'])
queryClient.invalidateQueries(['Seats'])
queryClient.invalidateQueries([
'SelfHostedUserList',
params?.activated,
params?.search,
params?.isAdmin,
])
queryClient.invalidateQueries(['SelfHostedUserList'])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need the whole sets of params to invalidate the query right? Like if you had a query key with

['SelfHostedUserList', 'gh']
['SelfHostedUserList', 'gh', 'codecov']
['SelfHostedUserList']

That prompt will invalidate any of them right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe so, they're not 100% explicit, in the docs they say:

The invalidateQueries method can be used to invalidate and refetch single or multiple queries in the cache based on their query keys or any other functionally accessible property/state of the query. By default, all matching queries are immediately marked as invalid and active queries are refetched in the background.

},
})

Expand Down
18 changes: 9 additions & 9 deletions src/services/commits/useCommits.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,10 @@ export function useCommits({ provider, owner, repo, filters, opts = {} }) {
filters,
includeTotalCount: isNumber(filters?.pullId),
}
const { data, ...rest } = useInfiniteQuery(
['commits', provider, owner, repo, variables],
({ pageParam, signal }) =>

const { data, ...rest } = useInfiniteQuery({
queryKey: ['commits', provider, owner, repo, variables],
queryFn: ({ pageParam, signal }) =>
fetchRepoCommits({
provider,
owner,
Expand All @@ -116,12 +117,11 @@ export function useCommits({ provider, owner, repo, filters, opts = {} }) {
after: pageParam,
signal,
}),
{
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data?.pageInfo.endCursor : undefined,
...opts,
}
)
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data?.pageInfo.endCursor : undefined,
...opts,
})

return {
data: {
commits: data?.pages.map((page) => page?.commits).flat(),
Expand Down
1 change: 0 additions & 1 deletion src/services/commits/useCommitsTeam.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,6 @@ export function useCommitsTeam({
const parsedData = GetCommitsTeamSchema.safeParse(res?.data)

if (!parsedData.success) {
console.debug(parsedData.error)
return Promise.reject({
status: 404,
data: {},
Expand Down
1 change: 0 additions & 1 deletion src/services/pull/usePullTeam.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,6 @@ export function usePullTeam({
const parsedRes = RequestSchema.safeParse(res?.data)

if (!parsedRes.success) {
console.debug(parsedRes.error)
return Promise.reject({
status: 404,
data: null,
Expand Down
17 changes: 8 additions & 9 deletions src/services/repo/useRepoFlags.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ export function useRepoFlags({
}) {
const { provider, owner, repo } = useParams()

const { data, ...rest } = useInfiniteQuery(
[
const { data, ...rest } = useInfiniteQuery({
queryKey: [
'RepoFlags',
provider,
owner,
Expand All @@ -96,7 +96,7 @@ export function useRepoFlags({
afterDate,
beforeDate,
],
({ pageParam: after, signal }) =>
queryFn: ({ pageParam: after, signal }) =>
fetchRepoFlags({
provider,
owner,
Expand All @@ -109,12 +109,11 @@ export function useRepoFlags({
after,
signal,
}),
{
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data.pageInfo.endCursor : undefined,
...options,
}
)
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data.pageInfo.endCursor : undefined,
...options,
})

return {
data: data?.pages.map((page) => page?.flags).flat(),
...rest,
Expand Down
17 changes: 8 additions & 9 deletions src/services/repo/useRepoFlagsSelect.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ export function useRepoFlagsSelect(
) {
const { provider, owner, repo } = useParams()

const { data, ...rest } = useInfiniteQuery(
['RepoFlagsSelect', provider, owner, repo, filters],
({ pageParam: after, signal }) =>
const { data, ...rest } = useInfiniteQuery({
queryKey: ['RepoFlagsSelect', provider, owner, repo, filters],
queryFn: ({ pageParam: after, signal }) =>
fetchRepoFlags({
provider,
owner,
Expand All @@ -73,12 +73,11 @@ export function useRepoFlagsSelect(
after,
signal,
}),
{
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data.pageInfo.endCursor : undefined,
...options,
}
)
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data.pageInfo.endCursor : undefined,
...options,
})

return {
data: data?.pages?.map((page) => page?.flags).flat(),
...rest,
Expand Down
16 changes: 7 additions & 9 deletions src/services/repos/useReposTeam.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,9 @@ export function useReposTeam({
first,
}

return useInfiniteQuery(
['GetReposTeam', provider, variables, owner],
({ pageParam, signal }) => {
return useInfiniteQuery({
queryKey: ['GetReposTeam', provider, variables, owner],
queryFn: ({ pageParam, signal }) => {
return fetchReposForOwner({
provider,
variables,
Expand All @@ -171,10 +171,8 @@ export function useReposTeam({
signal,
})
},
{
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data.pageInfo.endCursor : undefined,
...options,
}
)
getNextPageParam: (data) =>
data?.pageInfo?.hasNextPage ? data.pageInfo.endCursor : undefined,
...options,
})
}
26 changes: 12 additions & 14 deletions src/services/selfHosted/useSelfHostedUserList.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import Api from 'shared/api'
export const useSelfHostedUserList = ({ activated, search, isAdmin }) => {
const { provider } = useParams()

return useInfiniteQuery(
['SelfHostedUserList', activated, search, isAdmin],
({ pageParam = 1, signal }) => {
return useInfiniteQuery({
queryKey: ['SelfHostedUserList', provider, activated, search, isAdmin],
queryFn: ({ pageParam = 1, signal }) => {
return Api.get({
provider,
path: '/users',
Expand All @@ -21,15 +21,13 @@ export const useSelfHostedUserList = ({ activated, search, isAdmin }) => {
},
})
},
{
select: ({ pages }) => pages.map(({ results }) => results).flat(),
getNextPageParam: (data) => {
if (data?.next) {
const { searchParams } = new URL(data.next)
return searchParams.get('page')
}
return undefined
},
}
)
select: ({ pages }) => pages.map(({ results }) => results).flat(),
getNextPageParam: (data) => {
if (data?.next) {
const { searchParams } = new URL(data.next)
return searchParams.get('page')
}
return undefined
},
})
}
28 changes: 13 additions & 15 deletions src/services/users/useInfiniteUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { useInfiniteQuery } from '@tanstack/react-query'
import Api from 'shared/api'

export const useInfiniteUsers = ({ provider, owner, query }, opts = {}) => {
return useInfiniteQuery(
['InfiniteUsers', provider, owner, query],
({ pageParam = 1, signal }) =>
return useInfiniteQuery({
queryKey: ['InfiniteUsers', provider, owner, query],
queryFn: ({ pageParam = 1, signal }) =>
Api.get({
path: `/${provider}/${owner}/users/`,
provider,
Expand All @@ -16,16 +16,14 @@ export const useInfiniteUsers = ({ provider, owner, query }, opts = {}) => {
page: pageParam,
},
}),
{
select: ({ pages }) => pages.map(({ results }) => results).flat(),
getNextPageParam: (data) => {
if (data?.next) {
const { searchParams } = new URL(data.next)
return searchParams.get('page')
}
return undefined
},
...opts,
}
)
select: ({ pages }) => pages.map(({ results }) => results).flat(),
getNextPageParam: (data) => {
if (data?.next) {
const { searchParams } = new URL(data.next)
return searchParams.get('page')
}
return undefined
},
...opts,
})
}