Merge pull request #84 from anuraghazra/fix-private-repos
fix: filter out private repos
This commit is contained in:
commit
d5f410d4ec
2 changed files with 24 additions and 4 deletions
|
@ -8,6 +8,7 @@ const fetcher = (variables, token) => {
|
||||||
fragment RepoInfo on Repository {
|
fragment RepoInfo on Repository {
|
||||||
name
|
name
|
||||||
nameWithOwner
|
nameWithOwner
|
||||||
|
isPrivate
|
||||||
stargazers {
|
stargazers {
|
||||||
totalCount
|
totalCount
|
||||||
}
|
}
|
||||||
|
@ -53,15 +54,21 @@ async function fetchRepo(username, reponame) {
|
||||||
throw new Error("Not found");
|
throw new Error("Not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.organization === null && data.user) {
|
const isUser = data.organization === null && data.user;
|
||||||
if (!data.user.repository) {
|
const isOrg = data.user === null && data.organization;
|
||||||
|
|
||||||
|
if (isUser) {
|
||||||
|
if (!data.user.repository || data.user.repository.isPrivate) {
|
||||||
throw new Error("User Repository Not found");
|
throw new Error("User Repository Not found");
|
||||||
}
|
}
|
||||||
return data.user.repository;
|
return data.user.repository;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.user === null && data.organization) {
|
if (isOrg) {
|
||||||
if (!data.organization.repository) {
|
if (
|
||||||
|
!data.organization.repository ||
|
||||||
|
data.organization.repository.isPrivate
|
||||||
|
) {
|
||||||
throw new Error("Organization Repository Not found");
|
throw new Error("Organization Repository Not found");
|
||||||
}
|
}
|
||||||
return data.organization.repository;
|
return data.organization.repository;
|
||||||
|
|
|
@ -80,4 +80,17 @@ describe("Test fetchRepo", () => {
|
||||||
"Not found"
|
"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"
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue