Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,13 @@ import type {
RepositoryProjectPathConfig,
} from 'sentry/types/integrations';
import {trackAnalytics} from 'sentry/utils/analytics';
import {useFetchAllPages} from 'sentry/utils/api/apiFetch';
import {apiOptions} from 'sentry/utils/api/apiOptions';
import {getApiUrl} from 'sentry/utils/api/getApiUrl';
import {getIntegrationIcon} from 'sentry/utils/integrationUtil';
import {
useApiQuery,
useInfiniteQuery,
useMutation,
useQueryClient,
type ApiQueryKey,
Expand Down Expand Up @@ -159,19 +162,31 @@ export function IntegrationCodeMappings({integration}: {integration: Integration
{staleTime: 10_000}
);

const repositoriesQuery = useInfiniteQuery({
...apiOptions.asInfinite<Repository[]>()(
'/organizations/$organizationIdOrSlug/repos/',
{
path: {organizationIdOrSlug: organization.slug},
query: {status: 'active', per_page: 100},
staleTime: 10_000,
}
),
select: data => data.pages.flatMap(page => page.json),
});
useFetchAllPages({result: repositoriesQuery});

const {
data: fetchedRepos = [],
isPending: isPendingRepos,
isPending: isPendingReposQuery,
isError: isErrorRepos,
} = useApiQuery<Repository[]>(
[
getApiUrl(`/organizations/$organizationIdOrSlug/repos/`, {
path: {organizationIdOrSlug: organization.slug},
}),
{query: {status: 'active'}},
],
{staleTime: 10_000}
);
hasNextPage: hasNextReposPage,
isFetchingNextPage: isFetchingNextReposPage,
} = repositoriesQuery;

const isPendingRepos =
isPendingReposQuery ||
isFetchingNextReposPage ||
(!!hasNextReposPage && !isErrorRepos);
Comment thread
sentry[bot] marked this conversation as resolved.

const pathConfigs = useMemo(() => {
return sortBy(fetchedPathConfigs, [
Expand Down
Loading