update Retrieve model to serve a List + Dictionary of items;
This commit is contained in:
@@ -16,7 +16,7 @@ namespace PocketSharp.Console
|
||||
PocketClient client = new PocketClient("15396-f6f92101d72c8e270a6c9bb3");
|
||||
client.AccessCode = "a85134a7-243c-6656-ab82-97c901";
|
||||
|
||||
client.Get();
|
||||
client.Retrieve();
|
||||
|
||||
System.Console.ReadKey();
|
||||
}
|
||||
|
||||
@@ -7,14 +7,14 @@ using System.Text;
|
||||
|
||||
namespace PocketSharp
|
||||
{
|
||||
public partial class PocketClient : IPocketClient
|
||||
public partial class PocketClient
|
||||
{
|
||||
public bool Get()
|
||||
public bool Retrieve()
|
||||
{
|
||||
//var parameters = new List<Parameter>()
|
||||
//{
|
||||
// new Parameter { Name = "favorite", Value = "1", Type = ParameterType.GetOrPost }
|
||||
//};
|
||||
var parameters = new List<Parameter>()
|
||||
{
|
||||
new Parameter { Name = "favorite", Value = "1", Type = ParameterType.GetOrPost }
|
||||
};
|
||||
|
||||
Retrieve result = GetResource<Retrieve>("get", parameters);
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
using RestSharp;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PocketSharp
|
||||
{
|
||||
public interface IPocketClient
|
||||
{
|
||||
/// <summary>
|
||||
/// base URL for the API
|
||||
/// </summary>
|
||||
Uri BaseUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Accessor for the Pocket API key
|
||||
/// see: http://getpocket.com/developer
|
||||
/// </summary>
|
||||
string ConsumerKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Returns all associated data from the last request
|
||||
/// </summary>
|
||||
IRestResponse LastRequestData { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Makes a HTTP REST request to the API
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns></returns>
|
||||
string Request(RestRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Makes a typed HTTP REST request to the API
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns></returns>
|
||||
T Request<T>(RestRequest request) where T : new();
|
||||
|
||||
/// <summary>
|
||||
/// Fetches a typed resource
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="method">Requested method (path after /v3/)</param>
|
||||
/// <param name="parameters">Additional POST parameters</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="APIException">No access token available. Use authentification first.</exception>
|
||||
T GetResource<T>(string method, List<Parameter> parameters) where T : class, new();
|
||||
}
|
||||
}
|
||||
@@ -7,13 +7,31 @@ namespace PocketSharp.Models
|
||||
[DataContract]
|
||||
class Retrieve : ResponseBase
|
||||
{
|
||||
[DataMember]
|
||||
public bool Complete { get; set; }
|
||||
[DataMember(Name = "complete")]
|
||||
public int Complete;
|
||||
|
||||
[DataMember]
|
||||
public int Since { get; set; }
|
||||
|
||||
[DataMember(Name = "list")]
|
||||
public List<PocketItem> Items { get; set; }
|
||||
public Dictionary<string, PocketItem> ItemDictionary { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
public List<PocketItem> Items
|
||||
{
|
||||
get
|
||||
{
|
||||
var itemEnumerator = ItemDictionary.GetEnumerator();
|
||||
List<PocketItem> result = new List<PocketItem>();
|
||||
|
||||
while (itemEnumerator.MoveNext())
|
||||
{
|
||||
result.Add(itemEnumerator.Current.Value);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
private set {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Net;
|
||||
|
||||
namespace PocketSharp
|
||||
{
|
||||
public partial class PocketClient : IPocketClient
|
||||
public partial class PocketClient
|
||||
{
|
||||
/// <summary>
|
||||
/// REST client used for the API communication
|
||||
@@ -87,7 +87,7 @@ namespace PocketSharp
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns></returns>
|
||||
public string Request(RestRequest request)
|
||||
protected string Request(RestRequest request)
|
||||
{
|
||||
IRestResponse response = _restClient.Execute(request);
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace PocketSharp
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns></returns>
|
||||
public T Request<T>(RestRequest request) where T : new()
|
||||
protected T Request<T>(RestRequest request) where T : new()
|
||||
{
|
||||
IRestResponse<T> response = _restClient.Execute<T>(request);
|
||||
|
||||
@@ -122,7 +122,7 @@ namespace PocketSharp
|
||||
/// <param name="parameters">Additional POST parameters</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="APIException">No access token available. Use authentification first.</exception>
|
||||
public T GetResource<T>(string method, List<Parameter> parameters) where T : class, new()
|
||||
protected T GetResource<T>(string method, List<Parameter> parameters) where T : class, new()
|
||||
{
|
||||
// every single Pocket API endpoint requires HTTP POST data
|
||||
var request = new RestRequest(method, Method.POST);
|
||||
|
||||
@@ -48,8 +48,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="APIException.cs" />
|
||||
<Compile Include="Components\Authentification.cs" />
|
||||
<Compile Include="Components\Get.cs" />
|
||||
<Compile Include="IPocketClient.cs" />
|
||||
<Compile Include="Components\Retrieve.cs" />
|
||||
<Compile Include="JsonDeserializer.cs" />
|
||||
<Compile Include="Models\Authentification\AccessCode.cs" />
|
||||
<Compile Include="Models\Authentification\RequestCode.cs" />
|
||||
|
||||
Reference in New Issue
Block a user