Added new method to return username too

This commit is contained in:
ScottIsAFool
2013-10-25 15:49:47 +01:00
parent 65e31ac2e2
commit 2a98cfb0e4
4 changed files with 40 additions and 27 deletions
+34 -22
View File
@@ -73,30 +73,42 @@ namespace PocketSharp
/// <exception cref="PocketException"></exception>
public async Task<string> GetAccessCode(string requestCode = null)
{
// check if request code is available
if(RequestCode == null && requestCode == null)
{
throw new NullReferenceException("Call GetRequestCode() first to receive a request_code");
}
// override property with given param if available
if(requestCode != null)
{
RequestCode = requestCode;
}
// do request
AccessCode response = await Request<AccessCode>("oauth/authorize", new Dictionary<string, string>()
{
{ "code", RequestCode }
}, false);
// save code to client
AccessCode = response.Code;
return AccessCode;
await GetUser(requestCode);
return AccessCode;
}
/// <summary>
/// Gets the user.
/// </summary>
/// <param name="requestCode">The request code.</param>
/// <returns>The authenticated user</returns>
/// <exception cref="System.NullReferenceException">Call GetRequestCode() first to receive a request_code</exception>
public async Task<PocketUser> GetUser(string requestCode = null)
{
// check if request code is available
if (RequestCode == null && requestCode == null)
{
throw new NullReferenceException("Call GetRequestCode() first to receive a request_code");
}
// override property with given param if available
if (requestCode != null)
{
RequestCode = requestCode;
}
// do request
PocketUser response = await Request<PocketUser>("oauth/authorize", new Dictionary<string, string>()
{
{"code", RequestCode}
}, false);
// save code to client
AccessCode = response.Code;
return response;
}
/// <summary>
/// Registers a new account.
@@ -1,5 +1,5 @@
using Newtonsoft.Json;
using System.Runtime.Serialization;
using PropertyChanged;
namespace PocketSharp.Models
{
@@ -7,7 +7,8 @@ namespace PocketSharp.Models
/// Access Code
/// </summary>
[JsonObject]
internal class AccessCode
[ImplementPropertyChanged]
public class PocketUser
{
/// <summary>
/// Gets or sets the code.
@@ -24,7 +25,7 @@ namespace PocketSharp.Models
/// <value>
/// The username.
/// </value>
[JsonProperty]
[JsonProperty("username")]
public string Username { get; set; }
}
}
+1 -1
View File
@@ -62,7 +62,7 @@
<Compile Include="Models\PocketItem.cs" />
<Compile Include="Models\PocketTag.cs" />
<Compile Include="Models\PocketVideo.cs" />
<Compile Include="Models\Response\AccessCode.cs" />
<Compile Include="Models\PocketUser.cs" />
<Compile Include="Models\Response\Add.cs" />
<Compile Include="Models\Response\Modify.cs" />
<Compile Include="Models\Response\RequestCode.cs" />
+1 -1
View File
@@ -20,7 +20,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DefineConstants>TRACE;DEBUG;PORTABLE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>