Ejemplo n.º 1
0
        public Forks()
        {
            Get["/forks/{repo}"] = p =>
            {
                p.repo = NancyUri.Decode(p.repo);

                string error;
                var    json = GitHub.Get($"repos/{GitHub.Main}/{p.repo}/forks?per_page=100", out error);
                if (json == null)
                {
                    return new Error {
                               Message = error
                    }
                }
                ;

                var forks = new List <Fork>();
                foreach (var f in json)
                {
                    forks.Add(new Fork {
                        Owner = f.owner.login
                    });
                }
                return(new Repo {
                    Name = p.repo, Owner = GitHub.Main, Forks = forks
                });
            };
        }
    }
Ejemplo n.º 2
0
        public Branches()
        {
            Get["/branches/{repo}/{owner}"] = p =>
            {
                p.repo  = NancyUri.Decode(p.repo);
                p.owner = NancyUri.Decode(p.owner);

                string error;
                var    json = GitHub.Get($"repos/{p.owner}/{p.repo}/branches?per_page=100", out error);
                if (json == null)
                {
                    return new Error {
                               Message = error
                    }
                }
                ;

                var branches = new List <Branch>();
                foreach (var b in json)
                {
                    branches.Add(new Branch {
                        Name = b.name
                    });
                }
                return(new Repo {
                    Name = p.repo, Owner = p.owner, Branches = branches
                });
            };
        }
    }
Ejemplo n.º 3
0
        public Diffs()
        {
            Get["/diff/{repo}/{owner}/{branch}"] = p =>
            {
                p.repo   = NancyUri.Decode(p.repo);
                p.owner  = NancyUri.Decode(p.owner);
                p.branch = NancyUri.Decode(p.branch);

                string error;
                var    json = GitHub.Get($"repos/{GitHub.Main}/{p.repo}/compare/{p.branch}...{p.owner}:{p.branch}", out error);
                if (json == null)
                {
                    return new Error {
                               Message = error
                    }
                }
                ;

                return(new Diff
                {
                    Status = json.status,
                    By = Math.Max((int)json.ahead_by, (int)json.behind_by),
                    Link = $"https://github.com/{GitHub.Main}/{p.repo}/compare/{p.branch}...{p.owner}:{p.branch}?expand=1"
                });
            };
        }
    }