Unverified Commit d5f410d4 authored by Anurag Hazra's avatar Anurag Hazra Committed by GitHub
Browse files

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

fix: filter out private repos
parents 6fedd69f 1c033235
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -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;
+13 −0
Original line number Diff line number Diff line
@@ -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"
    );
  });
});