Merge pull request #84 from anuraghazra/fix-private-repos

fix: filter out private repos
This commit is contained in:
Anurag Hazra 2020-07-17 12:46:33 +05:30 committed by GitHub
commit d5f410d4ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 4 deletions

View File

@ -8,6 +8,7 @@ const fetcher = (variables, token) => {
fragment RepoInfo on Repository {
name
nameWithOwner
isPrivate
stargazers {
totalCount
}
@ -53,15 +54,21 @@ async function fetchRepo(username, reponame) {
throw new Error("Not found");
}
if (data.organization === null && data.user) {
if (!data.user.repository) {
const isUser = data.organization === null && data.user;
const isOrg = data.user === null && data.organization;
if (isUser) {
if (!data.user.repository || data.user.repository.isPrivate) {
throw new Error("User Repository Not found");
}
return data.user.repository;
}
if (data.user === null && data.organization) {
if (!data.organization.repository) {
if (isOrg) {
if (
!data.organization.repository ||
data.organization.repository.isPrivate
) {
throw new Error("Organization Repository Not found");
}
return data.organization.repository;

View File

@ -80,4 +80,17 @@ describe("Test fetchRepo", () => {
"Not found"
);
});
it("should throw error if repository is private", async () => {
mock.onPost("https://api.github.com/graphql").reply(200, {
data: {
user: { repository: { ...data_repo, isPrivate: true } },
organization: null,
},
});
await expect(fetchRepo("anuraghazra", "convoychat")).rejects.toThrow(
"User Repository Not found"
);
});
});