mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 16:27:40 +00:00
Update getAppsGitHub to include pagination
This commit is contained in:
@@ -270,28 +270,59 @@ const getAppsNetlify = async ({ accessToken }: { accessToken: string }) => {
|
|||||||
const getAppsGithub = async ({ accessToken }: { accessToken: string }) => {
|
const getAppsGithub = async ({ accessToken }: { accessToken: string }) => {
|
||||||
let apps;
|
let apps;
|
||||||
try {
|
try {
|
||||||
|
interface GitHubApp {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
permissions: {
|
||||||
|
admin: boolean;
|
||||||
|
};
|
||||||
|
owner: {
|
||||||
|
login: string;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const octokit = new Octokit({
|
const octokit = new Octokit({
|
||||||
auth: accessToken,
|
auth: accessToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
const repos = (
|
const getAllRepos = async () => {
|
||||||
await octokit.request(
|
let repos: GitHubApp[] = [];
|
||||||
"GET /user/repos{?visibility,affiliation,type,sort,direction,per_page,page,since,before}",
|
let page = 1;
|
||||||
{
|
const per_page = 100;
|
||||||
per_page: 100,
|
let hasMore = true;
|
||||||
|
|
||||||
|
while (hasMore) {
|
||||||
|
const response = await octokit.request(
|
||||||
|
"GET /user/repos{?visibility,affiliation,type,sort,direction,per_page,page,since,before}",
|
||||||
|
{
|
||||||
|
per_page,
|
||||||
|
page,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.data.length > 0) {
|
||||||
|
repos = repos.concat(response.data);
|
||||||
|
page++;
|
||||||
|
} else {
|
||||||
|
hasMore = false;
|
||||||
}
|
}
|
||||||
)
|
}
|
||||||
).data;
|
|
||||||
|
return repos;
|
||||||
|
};
|
||||||
|
|
||||||
|
const repos = await getAllRepos();
|
||||||
|
|
||||||
apps = repos
|
apps = repos
|
||||||
.filter((a: any) => a.permissions.admin === true)
|
.filter((a: GitHubApp) => a.permissions.admin === true)
|
||||||
.map((a: any) => {
|
.map((a: GitHubApp) => {
|
||||||
return ({
|
return {
|
||||||
appId: a.id,
|
appId: a.id,
|
||||||
name: a.name,
|
name: a.name,
|
||||||
owner: a.owner.login,
|
owner: a.owner.login,
|
||||||
});
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
Sentry.setUser(null);
|
Sentry.setUser(null);
|
||||||
Sentry.captureException(err);
|
Sentry.captureException(err);
|
||||||
|
|||||||
Reference in New Issue
Block a user