From b8571f56a66dd59db4c58b8c35cbc02ed580ac01 Mon Sep 17 00:00:00 2001 From: Emma Garland Date: Mon, 5 Jun 2017 09:01:07 +0100 Subject: [PATCH] Updated model to use new method call with accurate commit information --- .../Partials/Home/GitHubContributors.cshtml | 23 ++++++++++----- .../GitHubContributorController.cs | 1 - .../Models/GithubContributorModel.cs | 29 +++++++++++++++++-- OurUmbraco/Our/Api/GithubController.cs | 3 +- 4 files changed, 42 insertions(+), 14 deletions(-) diff --git a/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml b/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml index 90a78ba5..ec025a53 100644 --- a/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml +++ b/OurUmbraco.Site/Views/Partials/Home/GitHubContributors.cshtml @@ -1,16 +1,23 @@ @model OurUmbraco.Community.Models.GitHubContributorsModel -@foreach (var contributor in Model.Contributors) +@if (Model.Contributors.Any()) { - -
- @contributor.Login - @contributor.Contributions -
-
+ foreach (var contributor in Model.Contributors) + { + var author = contributor.Author; + if (author != null) + { + +
+ @author.Login + @contributor.Total +
+
+ } + } } -@if (Model.Contributors.Any() == false) +else {

Could not load recent GitHub contributors.

} \ No newline at end of file diff --git a/OurUmbraco/Community/Controllers/GitHubContributorController.cs b/OurUmbraco/Community/Controllers/GitHubContributorController.cs index 8568d43a..dd05d77c 100644 --- a/OurUmbraco/Community/Controllers/GitHubContributorController.cs +++ b/OurUmbraco/Community/Controllers/GitHubContributorController.cs @@ -22,7 +22,6 @@ namespace OurUmbraco.Community.Controllers var contributors = ApplicationContext.ApplicationCache.RuntimeCache.GetCacheItem>("UmbracoGitHubContributors", () => { - //TODO: GitHub keys if required var githubController = new GitHubController(); var response = githubController.GetAllContributors(); if (response.StatusCode == HttpStatusCode.OK && response.ResponseStatus == ResponseStatus.Completed) diff --git a/OurUmbraco/Community/Models/GithubContributorModel.cs b/OurUmbraco/Community/Models/GithubContributorModel.cs index 65f63c12..8a4c7054 100644 --- a/OurUmbraco/Community/Models/GithubContributorModel.cs +++ b/OurUmbraco/Community/Models/GithubContributorModel.cs @@ -1,9 +1,34 @@ -using System.Runtime.Serialization; +using System.Collections.Generic; +using System.Runtime.Serialization; namespace OurUmbraco.Community.Models { [DataContract] public class GitHubContributorModel : IGitHubContributorModel + { + public int Total { get; set; } + public List Weeks { get; set; } + public Author Author { get; set; } + } + + [DataContract] + public class Week + { + [DataMember(Name = "w")] + public int Timestamp { get; set; } + + [DataMember(Name = "a")] + public int Additions { get; set; } + + [DataMember(Name = "d")] + public int Deletions { get; set; } + + [DataMember(Name = "c")] + public int Commits { get; set; } + } + + [DataContract] + public class Author { public string Login { get; set; } @@ -51,7 +76,5 @@ namespace OurUmbraco.Community.Models [DataMember(Name = "site_admin")] public bool SiteAdmin { get; set; } - - public int Contributions { get; set; } } } \ No newline at end of file diff --git a/OurUmbraco/Our/Api/GithubController.cs b/OurUmbraco/Our/Api/GithubController.cs index 3d3e37ed..54c7d4d7 100644 --- a/OurUmbraco/Our/Api/GithubController.cs +++ b/OurUmbraco/Our/Api/GithubController.cs @@ -16,9 +16,8 @@ namespace OurUmbraco.Our.Api /// public IRestResponse> GetAllContributors() { - //https://api.github.com/repos/umbraco/Umbraco-CMS/contributors var client = new RestClient("https://api.github.com"); - var request = new RestRequest("/repos/umbraco/Umbraco-CMS/contributors", Method.GET); + var request = new RestRequest("/repos/umbraco/Umbraco-CMS/stats/contributors", Method.GET); client.UserAgent = "OurUmbraco"; var response = client.Execute>(request);