From 4004f823067a28e46f6f8af304411029b3bfe6fa Mon Sep 17 00:00:00 2001 From: rodkings Date: Tue, 21 Apr 2015 12:58:11 -0600 Subject: [PATCH] commitAuth1 --- .../Client/AuthenticatedUntappdCredentials.cs | 4 +- .../UnAuthenticatedUntappdCredentials.cs | 18 +---- src/Untappd.Net/Properties/AssemblyInfo.cs | 4 +- .../Request/AuthenticatedRequest.cs | 9 ++- src/Untappd.Net/Request/Repository.cs | 16 ++++- src/Untappd.Net/Responses/BeerInfo.cs | 8 +-- src/Untappd.Net/Responses/BeerSearch.cs | 4 +- src/Untappd.Net/Responses/BreweryInfo.cs | 6 +- .../Responses/Feeds/UserActivityFeed.cs | 2 +- src/Untappd.Net/Responses/UserDistinctBeer.cs | 32 +++++++-- src/Untappd.Net/Responses/UserInfo.cs | 72 +++++++++++++++++-- src/Untappd.Net/Responses/VenueInfo.cs | 2 +- src/Untappd.Net/Untappd.Net.csproj | 2 + 13 files changed, 133 insertions(+), 46 deletions(-) diff --git a/src/Untappd.Net/Client/AuthenticatedUntappdCredentials.cs b/src/Untappd.Net/Client/AuthenticatedUntappdCredentials.cs index 52f6180..0d89f30 100644 --- a/src/Untappd.Net/Client/AuthenticatedUntappdCredentials.cs +++ b/src/Untappd.Net/Client/AuthenticatedUntappdCredentials.cs @@ -7,9 +7,9 @@ using Untappd.Client.Net; namespace Untappd.Net.Client { - public class AuthenticatedUntappdCredentials : UnAuthenticatedUntappdCredentials + public class AuthenticatedUntappdCredentials : UntappdCredentials, IAuthenticatedUntappdCredentials { - internal string AccessToken { get; private set; } + public string AccessToken { get; private set; } /// /// Pass your authenticated access token /// diff --git a/src/Untappd.Net/Client/UnAuthenticatedUntappdCredentials.cs b/src/Untappd.Net/Client/UnAuthenticatedUntappdCredentials.cs index 7d308cb..4729abe 100644 --- a/src/Untappd.Net/Client/UnAuthenticatedUntappdCredentials.cs +++ b/src/Untappd.Net/Client/UnAuthenticatedUntappdCredentials.cs @@ -7,28 +7,16 @@ using Untappd.Net.Client; namespace Untappd.Client.Net { - public class UnAuthenticatedUntappdCredentials : IUntappdCredentials + public class UnAuthenticatedUntappdCredentials : UntappdCredentials, IUnAuthenticadedUntappdCredentials { - public string ClientId { get; private set; } - public string ClientSecret { get; private set; } - /// /// UnAuthenticated request. Pass your API id and secret /// /// /// public UnAuthenticatedUntappdCredentials(string clientId, string clientSecret) - { - if (string.IsNullOrWhiteSpace(clientId)) - { - throw new ArgumentNullException("clientId"); - } - if (string.IsNullOrWhiteSpace(clientSecret)) - { - throw new ArgumentNullException("clientSecret"); - } - ClientId = string.Copy(clientId); - ClientSecret = string.Copy(clientSecret); + : base(clientId, clientSecret) + { } } } diff --git a/src/Untappd.Net/Properties/AssemblyInfo.cs b/src/Untappd.Net/Properties/AssemblyInfo.cs index 4334128..18cc67d 100644 --- a/src/Untappd.Net/Properties/AssemblyInfo.cs +++ b/src/Untappd.Net/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyFileVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Untappd.Net/Request/AuthenticatedRequest.cs b/src/Untappd.Net/Request/AuthenticatedRequest.cs index 4f012af..ea1561f 100644 --- a/src/Untappd.Net/Request/AuthenticatedRequest.cs +++ b/src/Untappd.Net/Request/AuthenticatedRequest.cs @@ -14,9 +14,14 @@ namespace Untappd.Net.Request /// /// /// - internal string EndPoint(string parameter) + internal string EndPoint(string parameter = "") { - return string.Format(_EndPoint, parameter); + if (!String.IsNullOrEmpty(parameter)) + { + parameter = string.Format("/{0}", parameter); + return string.Format(_EndPoint, parameter); + } + return string.Format(_EndPoint, string.Empty); } } } diff --git a/src/Untappd.Net/Request/Repository.cs b/src/Untappd.Net/Request/Repository.cs index fcc6f01..322b722 100644 --- a/src/Untappd.Net/Request/Repository.cs +++ b/src/Untappd.Net/Request/Repository.cs @@ -20,7 +20,7 @@ namespace Untappd.Net.Request /// this is the main parameter for a request. ie v4/user/checkins/urlParameter. Consult the untappd docs, this can be null for a few requests /// Any additional params you wish to add to the request /// - public TResult Get (IUntappdCredentials credentials, string urlParameter, IDictionary bodyParameters = null) + public TResult Get (IUnAuthenticadedUntappdCredentials credentials, string urlParameter, IDictionary bodyParameters = null) where TResult : UnAuthenticatedRequest,new() { // throw new NotImplementedException(); @@ -40,10 +40,20 @@ namespace Untappd.Net.Request } - public TResult Get(IAuthenticatedUntappdCredentials credentials, string parameter) + public TResult Get(IAuthenticatedUntappdCredentials credentials, string parameter = "", IDictionary bodyParameters = null) where TResult : AuthenticatedRequest, new() { - throw new NotImplementedException(); + var result = new TResult(); + var client = new RestClient(Constants.BaseRequestString); + var request = new RestRequest(result.EndPoint(parameter), Method.GET); + request.AddParameter("access_token", credentials.AccessToken); + if (bodyParameters != null) + foreach (var param in bodyParameters) + request.AddParameter(param.Key, param.Value); + + var resp = client.Execute(request); + var jsonresult = JsonConvert.DeserializeObject(resp.Content); + return jsonresult; } } } diff --git a/src/Untappd.Net/Responses/BeerInfo.cs b/src/Untappd.Net/Responses/BeerInfo.cs index a7426dc..618fc3f 100644 --- a/src/Untappd.Net/Responses/BeerInfo.cs +++ b/src/Untappd.Net/Responses/BeerInfo.cs @@ -159,7 +159,7 @@ namespace Untappd.Net.Responses.BeerInfo public string BeerStyle { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -362,7 +362,7 @@ namespace Untappd.Net.Responses.BeerInfo public string BeerStyle { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -623,7 +623,7 @@ namespace Untappd.Net.Responses.BeerInfo public string BeerLabel { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -823,7 +823,7 @@ namespace Untappd.Net.Responses.BeerInfo public Brewery Brewery { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } diff --git a/src/Untappd.Net/Responses/BeerSearch.cs b/src/Untappd.Net/Responses/BeerSearch.cs index 7ec9c90..5b3d883 100644 --- a/src/Untappd.Net/Responses/BeerSearch.cs +++ b/src/Untappd.Net/Responses/BeerSearch.cs @@ -70,7 +70,7 @@ namespace Untappd.Net.Responses.BeerSearch public string BeerStyle { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -196,7 +196,7 @@ namespace Untappd.Net.Responses.BeerSearch public string BeerStyle { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } diff --git a/src/Untappd.Net/Responses/BreweryInfo.cs b/src/Untappd.Net/Responses/BreweryInfo.cs index b9e6ac6..c768278 100644 --- a/src/Untappd.Net/Responses/BreweryInfo.cs +++ b/src/Untappd.Net/Responses/BreweryInfo.cs @@ -176,7 +176,7 @@ namespace Untappd.Net.Responses.BreweryInfo public string BeerStyle { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -364,7 +364,7 @@ namespace Untappd.Net.Responses.BreweryInfo public string BeerStyle { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -764,7 +764,7 @@ namespace Untappd.Net.Responses.BreweryInfo public string CreatedAt { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } diff --git a/src/Untappd.Net/Responses/Feeds/UserActivityFeed.cs b/src/Untappd.Net/Responses/Feeds/UserActivityFeed.cs index ebc4ce3..bfa3eff 100644 --- a/src/Untappd.Net/Responses/Feeds/UserActivityFeed.cs +++ b/src/Untappd.Net/Responses/Feeds/UserActivityFeed.cs @@ -123,7 +123,7 @@ namespace Untappd.Net.Responses.Feeds public double BeerAbv { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } diff --git a/src/Untappd.Net/Responses/UserDistinctBeer.cs b/src/Untappd.Net/Responses/UserDistinctBeer.cs index da78330..3ba4d6a 100644 --- a/src/Untappd.Net/Responses/UserDistinctBeer.cs +++ b/src/Untappd.Net/Responses/UserDistinctBeer.cs @@ -73,7 +73,7 @@ namespace Untappd.Net.Responses.UserDistinctBeer public string CreatedAt { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -195,6 +195,28 @@ namespace Untappd.Net.Responses.UserDistinctBeer public IList Items { get; set; } } + public class UnreadCount + { + [JsonProperty("comments")] + public int Comments { get; set; } + [JsonProperty("toasts")] + public int Toasts { get; set; } + [JsonProperty("friends")] + public int Friends { get; set; } + [JsonProperty("messages")] + public int Messages { get; set; } + [JsonProperty("news")] + public int news { get; set; } + } + + public class Notifications + { + [JsonProperty("type")] + public string Type { get; set; } + [JsonProperty("unread_count")] + public UnreadCount UnreadCount { get; set; } + } + public class Response { @@ -207,20 +229,16 @@ namespace Untappd.Net.Responses.UserDistinctBeer public class UserDistinctBeers : UnAuthenticatedRequest { + protected override string _EndPoint { get { return "v4/user/beers{0}"; } } [JsonProperty("meta")] public Meta Meta { get; set; } [JsonProperty("notifications")] - public IList Notifications { get; set; } + public Notifications Notifications { get; set; } [JsonProperty("response")] public Response Response { get; set; } - - protected override string _EndPoint - { - get { return "v4/user/beers/{0}"; } - } } } diff --git a/src/Untappd.Net/Responses/UserInfo.cs b/src/Untappd.Net/Responses/UserInfo.cs index 6e1650d..cf47f13 100644 --- a/src/Untappd.Net/Responses/UserInfo.cs +++ b/src/Untappd.Net/Responses/UserInfo.cs @@ -35,6 +35,12 @@ namespace Untappd.Net.Responses.UserInfo [JsonProperty("code")] public int Code { get; set; } + [JsonProperty("error_detail")] + public string ErrorDetail { get; set; } + + [JsonProperty("error_type")] + public string ErrorType { get; set; } + [JsonProperty("response_time")] public ResponseTime ResponseTime { get; set; } @@ -244,7 +250,7 @@ namespace Untappd.Net.Responses.UserInfo public double BeerAbv { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } @@ -722,6 +728,41 @@ namespace Untappd.Net.Responses.UserInfo public string Twitter { get; set; } } + public class Badge + { + [JsonProperty("badges_to_facebook")] + public int BadgesToFacebook { get; set; } + [JsonProperty("badges_to_twitter")] + public int BadgesToTwitter { get; set; } + } + + public class Checkin + { + [JsonProperty("checkin_to_facebook")] + public int CheckinToFacebook { get; set; } + [JsonProperty("checkin_to_twitter")] + public int CheckinToTwitter { get; set; } + [JsonProperty("checkin_to_foursquare")] + public int CheckinToFoursquare { get; set; } + } + + public class Navigation + { + [JsonProperty("default_to_checkin")] + public int DefaultToCheckin { get; set; } + } + + public class Settings + { + [JsonProperty("badge")] + public Badge Badge { get; set; } + [JsonProperty("checkin")] + public Checkin Checkin { get; set; } + [JsonProperty("navigation")] + public Navigation Navigation { get; set; } + [JsonProperty("email_address")] + public string EmailAddress { get; set; } + } public class User { @@ -795,7 +836,29 @@ namespace Untappd.Net.Responses.UserInfo public string DateJoined { get; set; } [JsonProperty("settings")] - public IList Settings { get; set; } + public Settings Settings { get; set; } + } + + public class UnreadCount + { + [JsonProperty("comments")] + public int Comments { get; set; } + [JsonProperty("toasts")] + public int Toasts { get; set; } + [JsonProperty("friends")] + public int Friends { get; set; } + [JsonProperty("messages")] + public int Messages { get; set; } + [JsonProperty("news")] + public int news { get; set; } + } + + public class Notifications + { + [JsonProperty("type")] + public string Type { get; set; } + [JsonProperty("unread_count")] + public UnreadCount UnreadCount { get; set; } } public class Response @@ -807,12 +870,13 @@ namespace Untappd.Net.Responses.UserInfo public class UserInfo : UnAuthenticatedRequest { - protected override string _EndPoint { get { return "v4/user/info/{0}"; } } + protected override string _EndPoint { get { return "v4/user/info{0}"; } } + [JsonProperty("meta")] public Meta Meta { get; set; } [JsonProperty("notifications")] - public IList Notifications { get; set; } + public Notifications Notifications { get; set; } [JsonProperty("response")] public Response Response { get; set; } diff --git a/src/Untappd.Net/Responses/VenueInfo.cs b/src/Untappd.Net/Responses/VenueInfo.cs index 6217574..d20d986 100644 --- a/src/Untappd.Net/Responses/VenueInfo.cs +++ b/src/Untappd.Net/Responses/VenueInfo.cs @@ -196,7 +196,7 @@ namespace Untappd.Net.Responses.VenueInfo public string BeerStyle { get; set; } [JsonProperty("auth_rating")] - public int AuthRating { get; set; } + public double AuthRating { get; set; } [JsonProperty("wish_list")] public bool WishList { get; set; } diff --git a/src/Untappd.Net/Untappd.Net.csproj b/src/Untappd.Net/Untappd.Net.csproj index 6a77633..1a16132 100644 --- a/src/Untappd.Net/Untappd.Net.csproj +++ b/src/Untappd.Net/Untappd.Net.csproj @@ -48,8 +48,10 @@ + +