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 }); }; } }
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 }); }; } }
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" }); }; } }