Skip to content

Commit 8fd8802

Browse files
authored
Merge pull request #8 from bunq/7-fix-session-server-serialization
Fix SessionServerConverter, bump up to 0.9.2.0-beta [#7]
2 parents b38b89c + 2b8e9e1 commit 8fd8802

File tree

3 files changed

+10
-11
lines changed

3 files changed

+10
-11
lines changed

BunqSdk/BunqSdk.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<PackageId>Bunq.Sdk</PackageId>
1111
</PropertyGroup>
1212
<PropertyGroup>
13-
<VersionPrefix>0.9.1.0</VersionPrefix>
13+
<VersionPrefix>0.9.2.0</VersionPrefix>
1414
<VersionSuffix>beta</VersionSuffix>
1515
</PropertyGroup>
1616
<PropertyGroup>
@@ -34,4 +34,4 @@
3434
<Content Include="../README.md" />
3535
<Content Include="../.gitignore" />
3636
</ItemGroup>
37-
</Project>
37+
</Project>

BunqSdk/Http/ApiClient.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class ApiClient
3838
/// Values for the default headers
3939
/// </summary>
4040
private const string CACHE_CONTROL_NONE = "no-cache";
41-
private const string USER_AGENT_BUNQ = "bunq-sdk-csharp/0.9.0.1-beta";
41+
private const string USER_AGENT_BUNQ = "bunq-sdk-csharp/0.9.2.0-beta";
4242
private const string LANGUAGE_EN_US = "en_US";
4343
private const string REGION_NL_NL = "nl_NL";
4444
private const string GEOLOCATION_ZERO = "0 0 0 0 NL";

BunqSdk/Json/SessionServerConverter.cs

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System;
2-
using System.Collections.Generic;
32
using Bunq.Sdk.Model;
43
using Bunq.Sdk.Model.Generated;
54
using Newtonsoft.Json;
@@ -26,19 +25,19 @@ public class SessionServerConverter : JsonConverter
2625
public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
2726
JsonSerializer serializer)
2827
{
29-
var jObjects = JArray.Load(reader).ToObject<List<JObject>>();
30-
var id = GetByIndexAndFieldName(jObjects, INDEX_ID, FIELD_ID).ToObject<Id>();
31-
var token = GetByIndexAndFieldName(jObjects, INDEX_TOKEN, FIELD_TOKEN).ToObject<SessionToken>();
28+
var jObjects = JArray.Load(reader);
29+
var id = FetchObject<Id>(jObjects[INDEX_ID], FIELD_ID);
30+
var token = FetchObject<SessionToken>(jObjects[INDEX_TOKEN], FIELD_TOKEN);
3231
var userBody = jObjects[INDEX_USER];
3332

3433
return userBody[FIELD_USER_COMPANY] == null
35-
? new SessionServer(id, token, userBody.GetValue(FIELD_USER_PERSON).ToObject<UserPerson>())
36-
: new SessionServer(id, token, userBody.GetValue(FIELD_USER_COMPANY).ToObject<UserCompany>());
34+
? new SessionServer(id, token, FetchObject<UserPerson>(userBody, FIELD_USER_PERSON))
35+
: new SessionServer(id, token, FetchObject<UserCompany>(userBody, FIELD_USER_COMPANY));
3736
}
3837

39-
private static JToken GetByIndexAndFieldName(IReadOnlyList<JObject> jObjects, int index, string fieldName)
38+
private static T FetchObject<T>(JToken jToken, string fieldName)
4039
{
41-
return jObjects[index].GetValue(fieldName);
40+
return jToken[fieldName].ToObject<T>();
4241
}
4342

4443
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)

0 commit comments

Comments
 (0)