diff --git a/Appwrite/Appwrite.csproj b/Appwrite/Appwrite.csproj index be0fce1..cada553 100644 --- a/Appwrite/Appwrite.csproj +++ b/Appwrite/Appwrite.csproj @@ -2,7 +2,7 @@ netstandard2.0;net462 Appwrite - 0.21.1 + 0.21.2 Appwrite Team Appwrite Team diff --git a/Appwrite/Client.cs b/Appwrite/Client.cs index 07f447d..c152f37 100644 --- a/Appwrite/Client.cs +++ b/Appwrite/Client.cs @@ -69,11 +69,11 @@ public Client( _headers = new Dictionary() { { "content-type", "application/json" }, - { "user-agent" , $"AppwriteDotNetSDK/0.21.1 ({Environment.OSVersion.Platform}; {Environment.OSVersion.VersionString})"}, + { "user-agent" , $"AppwriteDotNetSDK/0.21.2 ({Environment.OSVersion.Platform}; {Environment.OSVersion.VersionString})"}, { "x-sdk-name", ".NET" }, { "x-sdk-platform", "server" }, { "x-sdk-language", "dotnet" }, - { "x-sdk-version", "0.21.1"}, + { "x-sdk-version", "0.21.2"}, { "X-Appwrite-Response-Format", "1.8.0" } }; diff --git a/Appwrite/Extensions/Extensions.cs b/Appwrite/Extensions/Extensions.cs index 07347ff..11882cf 100644 --- a/Appwrite/Extensions/Extensions.cs +++ b/Appwrite/Extensions/Extensions.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; using System.Text.Json; namespace Appwrite.Extensions @@ -12,6 +13,18 @@ public static string ToJson(this Dictionary dict) return JsonSerializer.Serialize(dict, Client.SerializerOptions); } + public static List ConvertToList(this object value) + { + return value switch + { + JsonElement jsonElement => jsonElement.Deserialize>() ?? throw new InvalidCastException($"Cannot deserialize {jsonElement} to List<{typeof(T)}>."), + object[] objArray => objArray.Cast().ToList(), + List list => list, + IEnumerable enumerable => enumerable.ToList(), + _ => throw new InvalidCastException($"Cannot convert {value.GetType()} to List<{typeof(T)}>") + }; + } + public static string ToQueryString(this Dictionary parameters) { var query = new List(); diff --git a/Appwrite/Models/AlgoArgon2.cs b/Appwrite/Models/AlgoArgon2.cs index 2573b10..91b145c 100644 --- a/Appwrite/Models/AlgoArgon2.cs +++ b/Appwrite/Models/AlgoArgon2.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AlgoBcrypt.cs b/Appwrite/Models/AlgoBcrypt.cs index 3cab59e..e8b5de0 100644 --- a/Appwrite/Models/AlgoBcrypt.cs +++ b/Appwrite/Models/AlgoBcrypt.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AlgoMd5.cs b/Appwrite/Models/AlgoMd5.cs index 814de65..29eaf52 100644 --- a/Appwrite/Models/AlgoMd5.cs +++ b/Appwrite/Models/AlgoMd5.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AlgoPhpass.cs b/Appwrite/Models/AlgoPhpass.cs index 693d31e..29ab6d3 100644 --- a/Appwrite/Models/AlgoPhpass.cs +++ b/Appwrite/Models/AlgoPhpass.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AlgoScrypt.cs b/Appwrite/Models/AlgoScrypt.cs index cb8a10b..57f5b52 100644 --- a/Appwrite/Models/AlgoScrypt.cs +++ b/Appwrite/Models/AlgoScrypt.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AlgoScryptModified.cs b/Appwrite/Models/AlgoScryptModified.cs index cf33b0c..c01c53e 100644 --- a/Appwrite/Models/AlgoScryptModified.cs +++ b/Appwrite/Models/AlgoScryptModified.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AlgoSha.cs b/Appwrite/Models/AlgoSha.cs index 92a8866..65b118a 100644 --- a/Appwrite/Models/AlgoSha.cs +++ b/Appwrite/Models/AlgoSha.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeBoolean.cs b/Appwrite/Models/AttributeBoolean.cs index d165e5c..6080a45 100644 --- a/Appwrite/Models/AttributeBoolean.cs +++ b/Appwrite/Models/AttributeBoolean.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeDatetime.cs b/Appwrite/Models/AttributeDatetime.cs index 0867e7e..a8d16e2 100644 --- a/Appwrite/Models/AttributeDatetime.cs +++ b/Appwrite/Models/AttributeDatetime.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeEmail.cs b/Appwrite/Models/AttributeEmail.cs index b15a4dc..80581ba 100644 --- a/Appwrite/Models/AttributeEmail.cs +++ b/Appwrite/Models/AttributeEmail.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeEnum.cs b/Appwrite/Models/AttributeEnum.cs index a295c0d..1cc2a51 100644 --- a/Appwrite/Models/AttributeEnum.cs +++ b/Appwrite/Models/AttributeEnum.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -78,7 +79,7 @@ public AttributeEnum( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - elements: map["elements"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["elements"], + elements: map["elements"].ConvertToList(), format: map["format"].ToString(), xdefault: map.TryGetValue("default", out var xdefault) ? xdefault?.ToString() : null ); diff --git a/Appwrite/Models/AttributeFloat.cs b/Appwrite/Models/AttributeFloat.cs index 60dcf5d..b926223 100644 --- a/Appwrite/Models/AttributeFloat.cs +++ b/Appwrite/Models/AttributeFloat.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeInteger.cs b/Appwrite/Models/AttributeInteger.cs index 581e244..ea93a67 100644 --- a/Appwrite/Models/AttributeInteger.cs +++ b/Appwrite/Models/AttributeInteger.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeIp.cs b/Appwrite/Models/AttributeIp.cs index 704864e..3d329f3 100644 --- a/Appwrite/Models/AttributeIp.cs +++ b/Appwrite/Models/AttributeIp.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeLine.cs b/Appwrite/Models/AttributeLine.cs index 80773ac..a49c656 100644 --- a/Appwrite/Models/AttributeLine.cs +++ b/Appwrite/Models/AttributeLine.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,7 +69,7 @@ public AttributeLine( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - xdefault: map["default"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["default"] + xdefault: map["default"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/AttributeList.cs b/Appwrite/Models/AttributeList.cs index 1c1404b..ef4d15e 100644 --- a/Appwrite/Models/AttributeList.cs +++ b/Appwrite/Models/AttributeList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List attributes public static AttributeList From(Dictionary map) => new AttributeList( total: Convert.ToInt64(map["total"]), - attributes: map["attributes"] is JsonElement jsonArrayProp2 ? jsonArrayProp2.Deserialize>()! : (List)map["attributes"] + attributes: map["attributes"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/AttributePoint.cs b/Appwrite/Models/AttributePoint.cs index 2f15890..8dbc412 100644 --- a/Appwrite/Models/AttributePoint.cs +++ b/Appwrite/Models/AttributePoint.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,7 +69,7 @@ public AttributePoint( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - xdefault: map["default"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["default"] + xdefault: map["default"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/AttributePolygon.cs b/Appwrite/Models/AttributePolygon.cs index 32d3786..4949a35 100644 --- a/Appwrite/Models/AttributePolygon.cs +++ b/Appwrite/Models/AttributePolygon.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,7 +69,7 @@ public AttributePolygon( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - xdefault: map["default"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["default"] + xdefault: map["default"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/AttributeRelationship.cs b/Appwrite/Models/AttributeRelationship.cs index 17447c0..547e41a 100644 --- a/Appwrite/Models/AttributeRelationship.cs +++ b/Appwrite/Models/AttributeRelationship.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeString.cs b/Appwrite/Models/AttributeString.cs index 95f328b..27e53b7 100644 --- a/Appwrite/Models/AttributeString.cs +++ b/Appwrite/Models/AttributeString.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/AttributeUrl.cs b/Appwrite/Models/AttributeUrl.cs index 196dc21..a568c70 100644 --- a/Appwrite/Models/AttributeUrl.cs +++ b/Appwrite/Models/AttributeUrl.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/Bucket.cs b/Appwrite/Models/Bucket.cs index c7e22f7..6de1149 100644 --- a/Appwrite/Models/Bucket.cs +++ b/Appwrite/Models/Bucket.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -78,12 +79,12 @@ bool antivirus id: map["$id"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - permissions: map["$permissions"] is JsonElement jsonArrayProp4 ? jsonArrayProp4.Deserialize>()! : (List)map["$permissions"], + permissions: map["$permissions"].ConvertToList(), fileSecurity: (bool)map["fileSecurity"], name: map["name"].ToString(), enabled: (bool)map["enabled"], maximumFileSize: Convert.ToInt64(map["maximumFileSize"]), - allowedFileExtensions: map["allowedFileExtensions"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["allowedFileExtensions"], + allowedFileExtensions: map["allowedFileExtensions"].ConvertToList(), compression: map["compression"].ToString(), encryption: (bool)map["encryption"], antivirus: (bool)map["antivirus"] diff --git a/Appwrite/Models/BucketList.cs b/Appwrite/Models/BucketList.cs index c6b08fb..c4ef7a3 100644 --- a/Appwrite/Models/BucketList.cs +++ b/Appwrite/Models/BucketList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List buckets public static BucketList From(Dictionary map) => new BucketList( total: Convert.ToInt64(map["total"]), - buckets: map["buckets"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Bucket.From(map: it)).ToList() : ((IEnumerable>)map["buckets"]).Select(it => Bucket.From(map: it)).ToList() + buckets: map["buckets"].ConvertToList>().Select(it => Bucket.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Collection.cs b/Appwrite/Models/Collection.cs index 6b3420e..618f72b 100644 --- a/Appwrite/Models/Collection.cs +++ b/Appwrite/Models/Collection.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,13 +69,13 @@ List indexes id: map["$id"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - permissions: map["$permissions"] is JsonElement jsonArrayProp4 ? jsonArrayProp4.Deserialize>()! : (List)map["$permissions"], + permissions: map["$permissions"].ConvertToList(), databaseId: map["databaseId"].ToString(), name: map["name"].ToString(), enabled: (bool)map["enabled"], documentSecurity: (bool)map["documentSecurity"], - attributes: map["attributes"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["attributes"], - indexes: map["indexes"] is JsonElement jsonArray10 ? jsonArray10.Deserialize>>()!.Select(it => Index.From(map: it)).ToList() : ((IEnumerable>)map["indexes"]).Select(it => Index.From(map: it)).ToList() + attributes: map["attributes"].ConvertToList(), + indexes: map["indexes"].ConvertToList>().Select(it => Index.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/CollectionList.cs b/Appwrite/Models/CollectionList.cs index 861cc2c..a219dd4 100644 --- a/Appwrite/Models/CollectionList.cs +++ b/Appwrite/Models/CollectionList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List collections public static CollectionList From(Dictionary map) => new CollectionList( total: Convert.ToInt64(map["total"]), - collections: map["collections"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Collection.From(map: it)).ToList() : ((IEnumerable>)map["collections"]).Select(it => Collection.From(map: it)).ToList() + collections: map["collections"].ConvertToList>().Select(it => Collection.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ColumnBoolean.cs b/Appwrite/Models/ColumnBoolean.cs index 15afe58..244ea41 100644 --- a/Appwrite/Models/ColumnBoolean.cs +++ b/Appwrite/Models/ColumnBoolean.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnDatetime.cs b/Appwrite/Models/ColumnDatetime.cs index e1b2ba8..fefbc05 100644 --- a/Appwrite/Models/ColumnDatetime.cs +++ b/Appwrite/Models/ColumnDatetime.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnEmail.cs b/Appwrite/Models/ColumnEmail.cs index 6d3e657..219c482 100644 --- a/Appwrite/Models/ColumnEmail.cs +++ b/Appwrite/Models/ColumnEmail.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnEnum.cs b/Appwrite/Models/ColumnEnum.cs index c804691..1b59fc5 100644 --- a/Appwrite/Models/ColumnEnum.cs +++ b/Appwrite/Models/ColumnEnum.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -78,7 +79,7 @@ public ColumnEnum( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - elements: map["elements"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["elements"], + elements: map["elements"].ConvertToList(), format: map["format"].ToString(), xdefault: map.TryGetValue("default", out var xdefault) ? xdefault?.ToString() : null ); diff --git a/Appwrite/Models/ColumnFloat.cs b/Appwrite/Models/ColumnFloat.cs index f9cef29..1da1bb1 100644 --- a/Appwrite/Models/ColumnFloat.cs +++ b/Appwrite/Models/ColumnFloat.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnIndex.cs b/Appwrite/Models/ColumnIndex.cs index 9ce756a..46e4789 100644 --- a/Appwrite/Models/ColumnIndex.cs +++ b/Appwrite/Models/ColumnIndex.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -72,9 +73,9 @@ public ColumnIndex( type: map["type"].ToString(), status: map["status"].ToString(), error: map["error"].ToString(), - columns: map["columns"] is JsonElement jsonArrayProp8 ? jsonArrayProp8.Deserialize>()! : (List)map["columns"], - lengths: map["lengths"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["lengths"], - orders: map["orders"] is JsonElement jsonArrayProp10 ? jsonArrayProp10.Deserialize>()! : (List)map["orders"] + columns: map["columns"].ConvertToList(), + lengths: map["lengths"].ConvertToList(), + orders: map["orders"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ColumnIndexList.cs b/Appwrite/Models/ColumnIndexList.cs index b43c7c3..f72a3a8 100644 --- a/Appwrite/Models/ColumnIndexList.cs +++ b/Appwrite/Models/ColumnIndexList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List indexes public static ColumnIndexList From(Dictionary map) => new ColumnIndexList( total: Convert.ToInt64(map["total"]), - indexes: map["indexes"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => ColumnIndex.From(map: it)).ToList() : ((IEnumerable>)map["indexes"]).Select(it => ColumnIndex.From(map: it)).ToList() + indexes: map["indexes"].ConvertToList>().Select(it => ColumnIndex.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ColumnInteger.cs b/Appwrite/Models/ColumnInteger.cs index 427935e..29f238b 100644 --- a/Appwrite/Models/ColumnInteger.cs +++ b/Appwrite/Models/ColumnInteger.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnIp.cs b/Appwrite/Models/ColumnIp.cs index e2aba30..5390641 100644 --- a/Appwrite/Models/ColumnIp.cs +++ b/Appwrite/Models/ColumnIp.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnLine.cs b/Appwrite/Models/ColumnLine.cs index 1f2761b..2f809ec 100644 --- a/Appwrite/Models/ColumnLine.cs +++ b/Appwrite/Models/ColumnLine.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,7 +69,7 @@ public ColumnLine( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - xdefault: map["default"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["default"] + xdefault: map["default"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ColumnList.cs b/Appwrite/Models/ColumnList.cs index d033168..b311f68 100644 --- a/Appwrite/Models/ColumnList.cs +++ b/Appwrite/Models/ColumnList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List columns public static ColumnList From(Dictionary map) => new ColumnList( total: Convert.ToInt64(map["total"]), - columns: map["columns"] is JsonElement jsonArrayProp2 ? jsonArrayProp2.Deserialize>()! : (List)map["columns"] + columns: map["columns"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ColumnPoint.cs b/Appwrite/Models/ColumnPoint.cs index ca51442..444cebe 100644 --- a/Appwrite/Models/ColumnPoint.cs +++ b/Appwrite/Models/ColumnPoint.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,7 +69,7 @@ public ColumnPoint( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - xdefault: map["default"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["default"] + xdefault: map["default"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ColumnPolygon.cs b/Appwrite/Models/ColumnPolygon.cs index 81f9969..c16480c 100644 --- a/Appwrite/Models/ColumnPolygon.cs +++ b/Appwrite/Models/ColumnPolygon.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,7 +69,7 @@ public ColumnPolygon( array: (bool?)map["array"], createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - xdefault: map["default"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["default"] + xdefault: map["default"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ColumnRelationship.cs b/Appwrite/Models/ColumnRelationship.cs index 2d0f609..16f3b00 100644 --- a/Appwrite/Models/ColumnRelationship.cs +++ b/Appwrite/Models/ColumnRelationship.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnString.cs b/Appwrite/Models/ColumnString.cs index 64853cc..4619c90 100644 --- a/Appwrite/Models/ColumnString.cs +++ b/Appwrite/Models/ColumnString.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ColumnUrl.cs b/Appwrite/Models/ColumnUrl.cs index a95b170..a74680d 100644 --- a/Appwrite/Models/ColumnUrl.cs +++ b/Appwrite/Models/ColumnUrl.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/Continent.cs b/Appwrite/Models/Continent.cs index dab9656..7fb8408 100644 --- a/Appwrite/Models/Continent.cs +++ b/Appwrite/Models/Continent.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ContinentList.cs b/Appwrite/Models/ContinentList.cs index 31e9d10..180a648 100644 --- a/Appwrite/Models/ContinentList.cs +++ b/Appwrite/Models/ContinentList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List continents public static ContinentList From(Dictionary map) => new ContinentList( total: Convert.ToInt64(map["total"]), - continents: map["continents"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Continent.From(map: it)).ToList() : ((IEnumerable>)map["continents"]).Select(it => Continent.From(map: it)).ToList() + continents: map["continents"].ConvertToList>().Select(it => Continent.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Country.cs b/Appwrite/Models/Country.cs index ad4d0b7..604c92f 100644 --- a/Appwrite/Models/Country.cs +++ b/Appwrite/Models/Country.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/CountryList.cs b/Appwrite/Models/CountryList.cs index 3e8147b..dfa0f1a 100644 --- a/Appwrite/Models/CountryList.cs +++ b/Appwrite/Models/CountryList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List countries public static CountryList From(Dictionary map) => new CountryList( total: Convert.ToInt64(map["total"]), - countries: map["countries"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Country.From(map: it)).ToList() : ((IEnumerable>)map["countries"]).Select(it => Country.From(map: it)).ToList() + countries: map["countries"].ConvertToList>().Select(it => Country.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Currency.cs b/Appwrite/Models/Currency.cs index 492ff32..a2dd678 100644 --- a/Appwrite/Models/Currency.cs +++ b/Appwrite/Models/Currency.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/CurrencyList.cs b/Appwrite/Models/CurrencyList.cs index 2e92ffa..dcc1abd 100644 --- a/Appwrite/Models/CurrencyList.cs +++ b/Appwrite/Models/CurrencyList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List currencies public static CurrencyList From(Dictionary map) => new CurrencyList( total: Convert.ToInt64(map["total"]), - currencies: map["currencies"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Currency.From(map: it)).ToList() : ((IEnumerable>)map["currencies"]).Select(it => Currency.From(map: it)).ToList() + currencies: map["currencies"].ConvertToList>().Select(it => Currency.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Database.cs b/Appwrite/Models/Database.cs index ebd1ec4..5a980bf 100644 --- a/Appwrite/Models/Database.cs +++ b/Appwrite/Models/Database.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/DatabaseList.cs b/Appwrite/Models/DatabaseList.cs index e3d0941..a3feb61 100644 --- a/Appwrite/Models/DatabaseList.cs +++ b/Appwrite/Models/DatabaseList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List databases public static DatabaseList From(Dictionary map) => new DatabaseList( total: Convert.ToInt64(map["total"]), - databases: map["databases"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Database.From(map: it)).ToList() : ((IEnumerable>)map["databases"]).Select(it => Database.From(map: it)).ToList() + databases: map["databases"].ConvertToList>().Select(it => Database.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Deployment.cs b/Appwrite/Models/Deployment.cs index 7663cf1..88dc535 100644 --- a/Appwrite/Models/Deployment.cs +++ b/Appwrite/Models/Deployment.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/DeploymentList.cs b/Appwrite/Models/DeploymentList.cs index c48b9f0..99be6d2 100644 --- a/Appwrite/Models/DeploymentList.cs +++ b/Appwrite/Models/DeploymentList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List deployments public static DeploymentList From(Dictionary map) => new DeploymentList( total: Convert.ToInt64(map["total"]), - deployments: map["deployments"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Deployment.From(map: it)).ToList() : ((IEnumerable>)map["deployments"]).Select(it => Deployment.From(map: it)).ToList() + deployments: map["deployments"].ConvertToList>().Select(it => Deployment.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Document.cs b/Appwrite/Models/Document.cs index af58951..d23dd35 100644 --- a/Appwrite/Models/Document.cs +++ b/Appwrite/Models/Document.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -60,7 +61,7 @@ Dictionary data databaseId: map["$databaseId"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - permissions: map["$permissions"] is JsonElement jsonArrayProp7 ? jsonArrayProp7.Deserialize>()! : (List)map["$permissions"], + permissions: map["$permissions"].ConvertToList(), data: map.TryGetValue("data", out var dataValue) ? (Dictionary)dataValue : map ); diff --git a/Appwrite/Models/DocumentList.cs b/Appwrite/Models/DocumentList.cs index c481a64..1204545 100644 --- a/Appwrite/Models/DocumentList.cs +++ b/Appwrite/Models/DocumentList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List documents public static DocumentList From(Dictionary map) => new DocumentList( total: Convert.ToInt64(map["total"]), - documents: map["documents"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Document.From(map: it)).ToList() : ((IEnumerable>)map["documents"]).Select(it => Document.From(map: it)).ToList() + documents: map["documents"].ConvertToList>().Select(it => Document.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Execution.cs b/Appwrite/Models/Execution.cs index 17898c9..bd4f2a8 100644 --- a/Appwrite/Models/Execution.cs +++ b/Appwrite/Models/Execution.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -108,17 +109,17 @@ public Execution( id: map["$id"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - permissions: map["$permissions"] is JsonElement jsonArrayProp4 ? jsonArrayProp4.Deserialize>()! : (List)map["$permissions"], + permissions: map["$permissions"].ConvertToList(), functionId: map["functionId"].ToString(), deploymentId: map["deploymentId"].ToString(), trigger: new ExecutionTrigger(map["trigger"].ToString()!), status: new ExecutionStatus(map["status"].ToString()!), requestMethod: map["requestMethod"].ToString(), requestPath: map["requestPath"].ToString(), - requestHeaders: map["requestHeaders"] is JsonElement jsonArray11 ? jsonArray11.Deserialize>>()!.Select(it => Headers.From(map: it)).ToList() : ((IEnumerable>)map["requestHeaders"]).Select(it => Headers.From(map: it)).ToList(), + requestHeaders: map["requestHeaders"].ConvertToList>().Select(it => Headers.From(map: it)).ToList(), responseStatusCode: Convert.ToInt64(map["responseStatusCode"]), responseBody: map["responseBody"].ToString(), - responseHeaders: map["responseHeaders"] is JsonElement jsonArray14 ? jsonArray14.Deserialize>>()!.Select(it => Headers.From(map: it)).ToList() : ((IEnumerable>)map["responseHeaders"]).Select(it => Headers.From(map: it)).ToList(), + responseHeaders: map["responseHeaders"].ConvertToList>().Select(it => Headers.From(map: it)).ToList(), logs: map["logs"].ToString(), errors: map["errors"].ToString(), duration: Convert.ToDouble(map["duration"]), diff --git a/Appwrite/Models/ExecutionList.cs b/Appwrite/Models/ExecutionList.cs index da5c64d..000c295 100644 --- a/Appwrite/Models/ExecutionList.cs +++ b/Appwrite/Models/ExecutionList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List executions public static ExecutionList From(Dictionary map) => new ExecutionList( total: Convert.ToInt64(map["total"]), - executions: map["executions"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Execution.From(map: it)).ToList() : ((IEnumerable>)map["executions"]).Select(it => Execution.From(map: it)).ToList() + executions: map["executions"].ConvertToList>().Select(it => Execution.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/File.cs b/Appwrite/Models/File.cs index 8d0d2e1..b0649f0 100644 --- a/Appwrite/Models/File.cs +++ b/Appwrite/Models/File.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -74,7 +75,7 @@ long chunksUploaded bucketId: map["bucketId"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - permissions: map["$permissions"] is JsonElement jsonArrayProp5 ? jsonArrayProp5.Deserialize>()! : (List)map["$permissions"], + permissions: map["$permissions"].ConvertToList(), name: map["name"].ToString(), signature: map["signature"].ToString(), mimeType: map["mimeType"].ToString(), diff --git a/Appwrite/Models/FileList.cs b/Appwrite/Models/FileList.cs index c1d39a2..2e137b6 100644 --- a/Appwrite/Models/FileList.cs +++ b/Appwrite/Models/FileList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List files public static FileList From(Dictionary map) => new FileList( total: Convert.ToInt64(map["total"]), - files: map["files"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => File.From(map: it)).ToList() : ((IEnumerable>)map["files"]).Select(it => File.From(map: it)).ToList() + files: map["files"].ConvertToList>().Select(it => File.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Framework.cs b/Appwrite/Models/Framework.cs index 551df2e..a324f03 100644 --- a/Appwrite/Models/Framework.cs +++ b/Appwrite/Models/Framework.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -43,8 +44,8 @@ List adapters key: map["key"].ToString(), name: map["name"].ToString(), buildRuntime: map["buildRuntime"].ToString(), - runtimes: map["runtimes"] is JsonElement jsonArrayProp4 ? jsonArrayProp4.Deserialize>()! : (List)map["runtimes"], - adapters: map["adapters"] is JsonElement jsonArray5 ? jsonArray5.Deserialize>>()!.Select(it => FrameworkAdapter.From(map: it)).ToList() : ((IEnumerable>)map["adapters"]).Select(it => FrameworkAdapter.From(map: it)).ToList() + runtimes: map["runtimes"].ConvertToList(), + adapters: map["adapters"].ConvertToList>().Select(it => FrameworkAdapter.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/FrameworkAdapter.cs b/Appwrite/Models/FrameworkAdapter.cs index 5e88b2b..ddd145d 100644 --- a/Appwrite/Models/FrameworkAdapter.cs +++ b/Appwrite/Models/FrameworkAdapter.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/FrameworkList.cs b/Appwrite/Models/FrameworkList.cs index 8d9cb26..5d61824 100644 --- a/Appwrite/Models/FrameworkList.cs +++ b/Appwrite/Models/FrameworkList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List frameworks public static FrameworkList From(Dictionary map) => new FrameworkList( total: Convert.ToInt64(map["total"]), - frameworks: map["frameworks"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Framework.From(map: it)).ToList() : ((IEnumerable>)map["frameworks"]).Select(it => Framework.From(map: it)).ToList() + frameworks: map["frameworks"].ConvertToList>().Select(it => Framework.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Function.cs b/Appwrite/Models/Function.cs index f5b64ff..7673f0e 100644 --- a/Appwrite/Models/Function.cs +++ b/Appwrite/Models/Function.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -158,7 +159,7 @@ string specification id: map["$id"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - execute: map["execute"] is JsonElement jsonArrayProp4 ? jsonArrayProp4.Deserialize>()! : (List)map["execute"], + execute: map["execute"].ConvertToList(), name: map["name"].ToString(), enabled: (bool)map["enabled"], live: (bool)map["live"], @@ -169,9 +170,9 @@ string specification latestDeploymentId: map["latestDeploymentId"].ToString(), latestDeploymentCreatedAt: map["latestDeploymentCreatedAt"].ToString(), latestDeploymentStatus: map["latestDeploymentStatus"].ToString(), - scopes: map["scopes"] is JsonElement jsonArrayProp15 ? jsonArrayProp15.Deserialize>()! : (List)map["scopes"], - vars: map["vars"] is JsonElement jsonArray16 ? jsonArray16.Deserialize>>()!.Select(it => Variable.From(map: it)).ToList() : ((IEnumerable>)map["vars"]).Select(it => Variable.From(map: it)).ToList(), - events: map["events"] is JsonElement jsonArrayProp17 ? jsonArrayProp17.Deserialize>()! : (List)map["events"], + scopes: map["scopes"].ConvertToList(), + vars: map["vars"].ConvertToList>().Select(it => Variable.From(map: it)).ToList(), + events: map["events"].ConvertToList(), schedule: map["schedule"].ToString(), timeout: Convert.ToInt64(map["timeout"]), entrypoint: map["entrypoint"].ToString(), diff --git a/Appwrite/Models/FunctionList.cs b/Appwrite/Models/FunctionList.cs index eecdd23..00abef3 100644 --- a/Appwrite/Models/FunctionList.cs +++ b/Appwrite/Models/FunctionList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List functions public static FunctionList From(Dictionary map) => new FunctionList( total: Convert.ToInt64(map["total"]), - functions: map["functions"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Function.From(map: it)).ToList() : ((IEnumerable>)map["functions"]).Select(it => Function.From(map: it)).ToList() + functions: map["functions"].ConvertToList>().Select(it => Function.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Headers.cs b/Appwrite/Models/Headers.cs index 951c0d2..3292a8d 100644 --- a/Appwrite/Models/Headers.cs +++ b/Appwrite/Models/Headers.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/HealthAntivirus.cs b/Appwrite/Models/HealthAntivirus.cs index 2bb3b1d..07bd35d 100644 --- a/Appwrite/Models/HealthAntivirus.cs +++ b/Appwrite/Models/HealthAntivirus.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/HealthCertificate.cs b/Appwrite/Models/HealthCertificate.cs index 4d65f5a..f54ba60 100644 --- a/Appwrite/Models/HealthCertificate.cs +++ b/Appwrite/Models/HealthCertificate.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/HealthQueue.cs b/Appwrite/Models/HealthQueue.cs index 7d34577..f481df8 100644 --- a/Appwrite/Models/HealthQueue.cs +++ b/Appwrite/Models/HealthQueue.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/HealthStatus.cs b/Appwrite/Models/HealthStatus.cs index fc80de2..b8eda93 100644 --- a/Appwrite/Models/HealthStatus.cs +++ b/Appwrite/Models/HealthStatus.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/HealthTime.cs b/Appwrite/Models/HealthTime.cs index e55b7ba..1c76998 100644 --- a/Appwrite/Models/HealthTime.cs +++ b/Appwrite/Models/HealthTime.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/Identity.cs b/Appwrite/Models/Identity.cs index 240b85f..8f0ba1b 100644 --- a/Appwrite/Models/Identity.cs +++ b/Appwrite/Models/Identity.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/IdentityList.cs b/Appwrite/Models/IdentityList.cs index d7c0864..00bab74 100644 --- a/Appwrite/Models/IdentityList.cs +++ b/Appwrite/Models/IdentityList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List identities public static IdentityList From(Dictionary map) => new IdentityList( total: Convert.ToInt64(map["total"]), - identities: map["identities"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Identity.From(map: it)).ToList() : ((IEnumerable>)map["identities"]).Select(it => Identity.From(map: it)).ToList() + identities: map["identities"].ConvertToList>().Select(it => Identity.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Index.cs b/Appwrite/Models/Index.cs index 8f4ff78..764ce98 100644 --- a/Appwrite/Models/Index.cs +++ b/Appwrite/Models/Index.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -72,9 +73,9 @@ public Index( type: map["type"].ToString(), status: new IndexStatus(map["status"].ToString()!), error: map["error"].ToString(), - attributes: map["attributes"] is JsonElement jsonArrayProp8 ? jsonArrayProp8.Deserialize>()! : (List)map["attributes"], - lengths: map["lengths"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["lengths"], - orders: map["orders"] is JsonElement jsonArrayProp10 ? jsonArrayProp10.Deserialize>()! : (List)map["orders"] + attributes: map["attributes"].ConvertToList(), + lengths: map["lengths"].ConvertToList(), + orders: map["orders"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/IndexList.cs b/Appwrite/Models/IndexList.cs index 5b1989e..13d8b63 100644 --- a/Appwrite/Models/IndexList.cs +++ b/Appwrite/Models/IndexList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List indexes public static IndexList From(Dictionary map) => new IndexList( total: Convert.ToInt64(map["total"]), - indexes: map["indexes"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Index.From(map: it)).ToList() : ((IEnumerable>)map["indexes"]).Select(it => Index.From(map: it)).ToList() + indexes: map["indexes"].ConvertToList>().Select(it => Index.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/JWT.cs b/Appwrite/Models/JWT.cs index a25b7de..abb464b 100644 --- a/Appwrite/Models/JWT.cs +++ b/Appwrite/Models/JWT.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/Language.cs b/Appwrite/Models/Language.cs index 124f01c..da4967c 100644 --- a/Appwrite/Models/Language.cs +++ b/Appwrite/Models/Language.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/LanguageList.cs b/Appwrite/Models/LanguageList.cs index edc4525..8266c99 100644 --- a/Appwrite/Models/LanguageList.cs +++ b/Appwrite/Models/LanguageList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List languages public static LanguageList From(Dictionary map) => new LanguageList( total: Convert.ToInt64(map["total"]), - languages: map["languages"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Language.From(map: it)).ToList() : ((IEnumerable>)map["languages"]).Select(it => Language.From(map: it)).ToList() + languages: map["languages"].ConvertToList>().Select(it => Language.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Locale.cs b/Appwrite/Models/Locale.cs index 58cad59..35d61ce 100644 --- a/Appwrite/Models/Locale.cs +++ b/Appwrite/Models/Locale.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/LocaleCode.cs b/Appwrite/Models/LocaleCode.cs index a16017b..df2c1fd 100644 --- a/Appwrite/Models/LocaleCode.cs +++ b/Appwrite/Models/LocaleCode.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/LocaleCodeList.cs b/Appwrite/Models/LocaleCodeList.cs index 4063057..d23a677 100644 --- a/Appwrite/Models/LocaleCodeList.cs +++ b/Appwrite/Models/LocaleCodeList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List localeCodes public static LocaleCodeList From(Dictionary map) => new LocaleCodeList( total: Convert.ToInt64(map["total"]), - localeCodes: map["localeCodes"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => LocaleCode.From(map: it)).ToList() : ((IEnumerable>)map["localeCodes"]).Select(it => LocaleCode.From(map: it)).ToList() + localeCodes: map["localeCodes"].ConvertToList>().Select(it => LocaleCode.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Log.cs b/Appwrite/Models/Log.cs index bbf6878..a13c1a8 100644 --- a/Appwrite/Models/Log.cs +++ b/Appwrite/Models/Log.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/LogList.cs b/Appwrite/Models/LogList.cs index a72414a..ec9cbba 100644 --- a/Appwrite/Models/LogList.cs +++ b/Appwrite/Models/LogList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List logs public static LogList From(Dictionary map) => new LogList( total: Convert.ToInt64(map["total"]), - logs: map["logs"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Log.From(map: it)).ToList() : ((IEnumerable>)map["logs"]).Select(it => Log.From(map: it)).ToList() + logs: map["logs"].ConvertToList>().Select(it => Log.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Membership.cs b/Appwrite/Models/Membership.cs index 8bb40c1..4f2ff74 100644 --- a/Appwrite/Models/Membership.cs +++ b/Appwrite/Models/Membership.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -92,7 +93,7 @@ List roles joined: map["joined"].ToString(), confirm: (bool)map["confirm"], mfa: (bool)map["mfa"], - roles: map["roles"] is JsonElement jsonArrayProp13 ? jsonArrayProp13.Deserialize>()! : (List)map["roles"] + roles: map["roles"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/MembershipList.cs b/Appwrite/Models/MembershipList.cs index dd7bcc0..32589ed 100644 --- a/Appwrite/Models/MembershipList.cs +++ b/Appwrite/Models/MembershipList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List memberships public static MembershipList From(Dictionary map) => new MembershipList( total: Convert.ToInt64(map["total"]), - memberships: map["memberships"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Membership.From(map: it)).ToList() : ((IEnumerable>)map["memberships"]).Select(it => Membership.From(map: it)).ToList() + memberships: map["memberships"].ConvertToList>().Select(it => Membership.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Message.cs b/Appwrite/Models/Message.cs index 793ee9c..1e326cd 100644 --- a/Appwrite/Models/Message.cs +++ b/Appwrite/Models/Message.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -84,12 +85,12 @@ MessageStatus status createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), providerType: map["providerType"].ToString(), - topics: map["topics"] is JsonElement jsonArrayProp5 ? jsonArrayProp5.Deserialize>()! : (List)map["topics"], - users: map["users"] is JsonElement jsonArrayProp6 ? jsonArrayProp6.Deserialize>()! : (List)map["users"], - targets: map["targets"] is JsonElement jsonArrayProp7 ? jsonArrayProp7.Deserialize>()! : (List)map["targets"], + topics: map["topics"].ConvertToList(), + users: map["users"].ConvertToList(), + targets: map["targets"].ConvertToList(), scheduledAt: map.TryGetValue("scheduledAt", out var scheduledAt) ? scheduledAt?.ToString() : null, deliveredAt: map.TryGetValue("deliveredAt", out var deliveredAt) ? deliveredAt?.ToString() : null, - deliveryErrors: map["deliveryErrors"] is JsonElement jsonArrayProp10 ? jsonArrayProp10.Deserialize>()! : (List)map["deliveryErrors"], + deliveryErrors: map["deliveryErrors"].ConvertToList(), deliveredTotal: Convert.ToInt64(map["deliveredTotal"]), data: map["data"].ToString(), status: new MessageStatus(map["status"].ToString()!) diff --git a/Appwrite/Models/MessageList.cs b/Appwrite/Models/MessageList.cs index b41a2df..014f1ef 100644 --- a/Appwrite/Models/MessageList.cs +++ b/Appwrite/Models/MessageList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List messages public static MessageList From(Dictionary map) => new MessageList( total: Convert.ToInt64(map["total"]), - messages: map["messages"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Message.From(map: it)).ToList() : ((IEnumerable>)map["messages"]).Select(it => Message.From(map: it)).ToList() + messages: map["messages"].ConvertToList>().Select(it => Message.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/MfaChallenge.cs b/Appwrite/Models/MfaChallenge.cs index d5fcc27..4b58387 100644 --- a/Appwrite/Models/MfaChallenge.cs +++ b/Appwrite/Models/MfaChallenge.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/MfaFactors.cs b/Appwrite/Models/MfaFactors.cs index f0cc908..70cf334 100644 --- a/Appwrite/Models/MfaFactors.cs +++ b/Appwrite/Models/MfaFactors.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/MfaRecoveryCodes.cs b/Appwrite/Models/MfaRecoveryCodes.cs index 6855f35..e6357d1 100644 --- a/Appwrite/Models/MfaRecoveryCodes.cs +++ b/Appwrite/Models/MfaRecoveryCodes.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -20,7 +21,7 @@ List recoveryCodes } public static MfaRecoveryCodes From(Dictionary map) => new MfaRecoveryCodes( - recoveryCodes: map["recoveryCodes"] is JsonElement jsonArrayProp1 ? jsonArrayProp1.Deserialize>()! : (List)map["recoveryCodes"] + recoveryCodes: map["recoveryCodes"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/MfaType.cs b/Appwrite/Models/MfaType.cs index 8e008f8..de55ebb 100644 --- a/Appwrite/Models/MfaType.cs +++ b/Appwrite/Models/MfaType.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/Phone.cs b/Appwrite/Models/Phone.cs index a820f07..888bf7f 100644 --- a/Appwrite/Models/Phone.cs +++ b/Appwrite/Models/Phone.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/PhoneList.cs b/Appwrite/Models/PhoneList.cs index 26c7f6d..1e3289f 100644 --- a/Appwrite/Models/PhoneList.cs +++ b/Appwrite/Models/PhoneList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List phones public static PhoneList From(Dictionary map) => new PhoneList( total: Convert.ToInt64(map["total"]), - phones: map["phones"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Phone.From(map: it)).ToList() : ((IEnumerable>)map["phones"]).Select(it => Phone.From(map: it)).ToList() + phones: map["phones"].ConvertToList>().Select(it => Phone.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Preferences.cs b/Appwrite/Models/Preferences.cs index 0f97086..f142cae 100644 --- a/Appwrite/Models/Preferences.cs +++ b/Appwrite/Models/Preferences.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/Provider.cs b/Appwrite/Models/Provider.cs index 430277c..cc44bc9 100644 --- a/Appwrite/Models/Provider.cs +++ b/Appwrite/Models/Provider.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ProviderList.cs b/Appwrite/Models/ProviderList.cs index 783d903..b38c77e 100644 --- a/Appwrite/Models/ProviderList.cs +++ b/Appwrite/Models/ProviderList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List providers public static ProviderList From(Dictionary map) => new ProviderList( total: Convert.ToInt64(map["total"]), - providers: map["providers"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Provider.From(map: it)).ToList() : ((IEnumerable>)map["providers"]).Select(it => Provider.From(map: it)).ToList() + providers: map["providers"].ConvertToList>().Select(it => Provider.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/ResourceToken.cs b/Appwrite/Models/ResourceToken.cs index b2e5635..77e0a54 100644 --- a/Appwrite/Models/ResourceToken.cs +++ b/Appwrite/Models/ResourceToken.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/ResourceTokenList.cs b/Appwrite/Models/ResourceTokenList.cs index 8f0928f..215d58a 100644 --- a/Appwrite/Models/ResourceTokenList.cs +++ b/Appwrite/Models/ResourceTokenList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List tokens public static ResourceTokenList From(Dictionary map) => new ResourceTokenList( total: Convert.ToInt64(map["total"]), - tokens: map["tokens"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => ResourceToken.From(map: it)).ToList() : ((IEnumerable>)map["tokens"]).Select(it => ResourceToken.From(map: it)).ToList() + tokens: map["tokens"].ConvertToList>().Select(it => ResourceToken.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Row.cs b/Appwrite/Models/Row.cs index d72ab9c..075e0a6 100644 --- a/Appwrite/Models/Row.cs +++ b/Appwrite/Models/Row.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -60,7 +61,7 @@ Dictionary data databaseId: map["$databaseId"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - permissions: map["$permissions"] is JsonElement jsonArrayProp7 ? jsonArrayProp7.Deserialize>()! : (List)map["$permissions"], + permissions: map["$permissions"].ConvertToList(), data: map.TryGetValue("data", out var dataValue) ? (Dictionary)dataValue : map ); diff --git a/Appwrite/Models/RowList.cs b/Appwrite/Models/RowList.cs index 210a5f1..6f4736f 100644 --- a/Appwrite/Models/RowList.cs +++ b/Appwrite/Models/RowList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List rows public static RowList From(Dictionary map) => new RowList( total: Convert.ToInt64(map["total"]), - rows: map["rows"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Row.From(map: it)).ToList() : ((IEnumerable>)map["rows"]).Select(it => Row.From(map: it)).ToList() + rows: map["rows"].ConvertToList>().Select(it => Row.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Runtime.cs b/Appwrite/Models/Runtime.cs index 5dcb3e2..705846f 100644 --- a/Appwrite/Models/Runtime.cs +++ b/Appwrite/Models/Runtime.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -62,7 +63,7 @@ List supports xbase: map["base"].ToString(), image: map["image"].ToString(), logo: map["logo"].ToString(), - supports: map["supports"] is JsonElement jsonArrayProp8 ? jsonArrayProp8.Deserialize>()! : (List)map["supports"] + supports: map["supports"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/RuntimeList.cs b/Appwrite/Models/RuntimeList.cs index c4c6b0e..a7f4231 100644 --- a/Appwrite/Models/RuntimeList.cs +++ b/Appwrite/Models/RuntimeList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List runtimes public static RuntimeList From(Dictionary map) => new RuntimeList( total: Convert.ToInt64(map["total"]), - runtimes: map["runtimes"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Runtime.From(map: it)).ToList() : ((IEnumerable>)map["runtimes"]).Select(it => Runtime.From(map: it)).ToList() + runtimes: map["runtimes"].ConvertToList>().Select(it => Runtime.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Session.cs b/Appwrite/Models/Session.cs index a22bb62..a6af5ee 100644 --- a/Appwrite/Models/Session.cs +++ b/Appwrite/Models/Session.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -186,7 +187,7 @@ string mfaUpdatedAt countryCode: map["countryCode"].ToString(), countryName: map["countryName"].ToString(), current: (bool)map["current"], - factors: map["factors"] is JsonElement jsonArrayProp27 ? jsonArrayProp27.Deserialize>()! : (List)map["factors"], + factors: map["factors"].ConvertToList(), secret: map["secret"].ToString(), mfaUpdatedAt: map["mfaUpdatedAt"].ToString() ); diff --git a/Appwrite/Models/SessionList.cs b/Appwrite/Models/SessionList.cs index 685cead..de57d10 100644 --- a/Appwrite/Models/SessionList.cs +++ b/Appwrite/Models/SessionList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List sessions public static SessionList From(Dictionary map) => new SessionList( total: Convert.ToInt64(map["total"]), - sessions: map["sessions"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Session.From(map: it)).ToList() : ((IEnumerable>)map["sessions"]).Select(it => Session.From(map: it)).ToList() + sessions: map["sessions"].ConvertToList>().Select(it => Session.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Site.cs b/Appwrite/Models/Site.cs index 70fb1ec..0b9ca5b 100644 --- a/Appwrite/Models/Site.cs +++ b/Appwrite/Models/Site.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -175,7 +176,7 @@ string fallbackFile latestDeploymentId: map["latestDeploymentId"].ToString(), latestDeploymentCreatedAt: map["latestDeploymentCreatedAt"].ToString(), latestDeploymentStatus: map["latestDeploymentStatus"].ToString(), - vars: map["vars"] is JsonElement jsonArray16 ? jsonArray16.Deserialize>>()!.Select(it => Variable.From(map: it)).ToList() : ((IEnumerable>)map["vars"]).Select(it => Variable.From(map: it)).ToList(), + vars: map["vars"].ConvertToList>().Select(it => Variable.From(map: it)).ToList(), timeout: Convert.ToInt64(map["timeout"]), installCommand: map["installCommand"].ToString(), buildCommand: map["buildCommand"].ToString(), diff --git a/Appwrite/Models/SiteList.cs b/Appwrite/Models/SiteList.cs index 2b8a361..1343056 100644 --- a/Appwrite/Models/SiteList.cs +++ b/Appwrite/Models/SiteList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List sites public static SiteList From(Dictionary map) => new SiteList( total: Convert.ToInt64(map["total"]), - sites: map["sites"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Site.From(map: it)).ToList() : ((IEnumerable>)map["sites"]).Select(it => Site.From(map: it)).ToList() + sites: map["sites"].ConvertToList>().Select(it => Site.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Specification.cs b/Appwrite/Models/Specification.cs index 1334b3d..6762a44 100644 --- a/Appwrite/Models/Specification.cs +++ b/Appwrite/Models/Specification.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/SpecificationList.cs b/Appwrite/Models/SpecificationList.cs index 82694bc..7d73a09 100644 --- a/Appwrite/Models/SpecificationList.cs +++ b/Appwrite/Models/SpecificationList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List specifications public static SpecificationList From(Dictionary map) => new SpecificationList( total: Convert.ToInt64(map["total"]), - specifications: map["specifications"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Specification.From(map: it)).ToList() : ((IEnumerable>)map["specifications"]).Select(it => Specification.From(map: it)).ToList() + specifications: map["specifications"].ConvertToList>().Select(it => Specification.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Subscriber.cs b/Appwrite/Models/Subscriber.cs index 0837bfc..cd383bb 100644 --- a/Appwrite/Models/Subscriber.cs +++ b/Appwrite/Models/Subscriber.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/SubscriberList.cs b/Appwrite/Models/SubscriberList.cs index 7de9083..7f60da9 100644 --- a/Appwrite/Models/SubscriberList.cs +++ b/Appwrite/Models/SubscriberList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List subscribers public static SubscriberList From(Dictionary map) => new SubscriberList( total: Convert.ToInt64(map["total"]), - subscribers: map["subscribers"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Subscriber.From(map: it)).ToList() : ((IEnumerable>)map["subscribers"]).Select(it => Subscriber.From(map: it)).ToList() + subscribers: map["subscribers"].ConvertToList>().Select(it => Subscriber.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Table.cs b/Appwrite/Models/Table.cs index c621543..6cde8d5 100644 --- a/Appwrite/Models/Table.cs +++ b/Appwrite/Models/Table.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -68,13 +69,13 @@ List indexes id: map["$id"].ToString(), createdAt: map["$createdAt"].ToString(), updatedAt: map["$updatedAt"].ToString(), - permissions: map["$permissions"] is JsonElement jsonArrayProp4 ? jsonArrayProp4.Deserialize>()! : (List)map["$permissions"], + permissions: map["$permissions"].ConvertToList(), databaseId: map["databaseId"].ToString(), name: map["name"].ToString(), enabled: (bool)map["enabled"], rowSecurity: (bool)map["rowSecurity"], - columns: map["columns"] is JsonElement jsonArrayProp9 ? jsonArrayProp9.Deserialize>()! : (List)map["columns"], - indexes: map["indexes"] is JsonElement jsonArray10 ? jsonArray10.Deserialize>>()!.Select(it => ColumnIndex.From(map: it)).ToList() : ((IEnumerable>)map["indexes"]).Select(it => ColumnIndex.From(map: it)).ToList() + columns: map["columns"].ConvertToList(), + indexes: map["indexes"].ConvertToList>().Select(it => ColumnIndex.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/TableList.cs b/Appwrite/Models/TableList.cs index e4251f1..7c1043e 100644 --- a/Appwrite/Models/TableList.cs +++ b/Appwrite/Models/TableList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List tables public static TableList From(Dictionary map) => new TableList( total: Convert.ToInt64(map["total"]), - tables: map["tables"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Table.From(map: it)).ToList() : ((IEnumerable>)map["tables"]).Select(it => Table.From(map: it)).ToList() + tables: map["tables"].ConvertToList>().Select(it => Table.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Target.cs b/Appwrite/Models/Target.cs index b19d882..d202683 100644 --- a/Appwrite/Models/Target.cs +++ b/Appwrite/Models/Target.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/TargetList.cs b/Appwrite/Models/TargetList.cs index ceef206..1e14698 100644 --- a/Appwrite/Models/TargetList.cs +++ b/Appwrite/Models/TargetList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List targets public static TargetList From(Dictionary map) => new TargetList( total: Convert.ToInt64(map["total"]), - targets: map["targets"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Target.From(map: it)).ToList() : ((IEnumerable>)map["targets"]).Select(it => Target.From(map: it)).ToList() + targets: map["targets"].ConvertToList>().Select(it => Target.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Team.cs b/Appwrite/Models/Team.cs index 5e68469..9aba030 100644 --- a/Appwrite/Models/Team.cs +++ b/Appwrite/Models/Team.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/TeamList.cs b/Appwrite/Models/TeamList.cs index a079b7f..6ac414f 100644 --- a/Appwrite/Models/TeamList.cs +++ b/Appwrite/Models/TeamList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List teams public static TeamList From(Dictionary map) => new TeamList( total: Convert.ToInt64(map["total"]), - teams: map["teams"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Team.From(map: it)).ToList() : ((IEnumerable>)map["teams"]).Select(it => Team.From(map: it)).ToList() + teams: map["teams"].ConvertToList>().Select(it => Team.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Token.cs b/Appwrite/Models/Token.cs index 8b6ec46..56051ea 100644 --- a/Appwrite/Models/Token.cs +++ b/Appwrite/Models/Token.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/Topic.cs b/Appwrite/Models/Topic.cs index bc2f973..99da372 100644 --- a/Appwrite/Models/Topic.cs +++ b/Appwrite/Models/Topic.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -62,7 +63,7 @@ List subscribe emailTotal: Convert.ToInt64(map["emailTotal"]), smsTotal: Convert.ToInt64(map["smsTotal"]), pushTotal: Convert.ToInt64(map["pushTotal"]), - subscribe: map["subscribe"] is JsonElement jsonArrayProp8 ? jsonArrayProp8.Deserialize>()! : (List)map["subscribe"] + subscribe: map["subscribe"].ConvertToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/TopicList.cs b/Appwrite/Models/TopicList.cs index 51bfeab..409e626 100644 --- a/Appwrite/Models/TopicList.cs +++ b/Appwrite/Models/TopicList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List topics public static TopicList From(Dictionary map) => new TopicList( total: Convert.ToInt64(map["total"]), - topics: map["topics"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Topic.From(map: it)).ToList() : ((IEnumerable>)map["topics"]).Select(it => Topic.From(map: it)).ToList() + topics: map["topics"].ConvertToList>().Select(it => Topic.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Transaction.cs b/Appwrite/Models/Transaction.cs index fcfd6f1..6f6cf50 100644 --- a/Appwrite/Models/Transaction.cs +++ b/Appwrite/Models/Transaction.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/TransactionList.cs b/Appwrite/Models/TransactionList.cs index a548916..92a78d9 100644 --- a/Appwrite/Models/TransactionList.cs +++ b/Appwrite/Models/TransactionList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List transactions public static TransactionList From(Dictionary map) => new TransactionList( total: Convert.ToInt64(map["total"]), - transactions: map["transactions"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Transaction.From(map: it)).ToList() : ((IEnumerable>)map["transactions"]).Select(it => Transaction.From(map: it)).ToList() + transactions: map["transactions"].ConvertToList>().Select(it => Transaction.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/User.cs b/Appwrite/Models/User.cs index a1ac4c6..480ede9 100644 --- a/Appwrite/Models/User.cs +++ b/Appwrite/Models/User.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -119,7 +120,7 @@ string accessedAt hashOptions: map.TryGetValue("hashOptions", out var hashOptions) ? hashOptions?.ToString() : null, registration: map["registration"].ToString(), status: (bool)map["status"], - labels: map["labels"] is JsonElement jsonArrayProp10 ? jsonArrayProp10.Deserialize>()! : (List)map["labels"], + labels: map["labels"].ConvertToList(), passwordUpdate: map["passwordUpdate"].ToString(), email: map["email"].ToString(), phone: map["phone"].ToString(), @@ -127,7 +128,7 @@ string accessedAt phoneVerification: (bool)map["phoneVerification"], mfa: (bool)map["mfa"], prefs: Preferences.From(map: map["prefs"] is JsonElement jsonObj17 ? jsonObj17.Deserialize>()! : (Dictionary)map["prefs"]), - targets: map["targets"] is JsonElement jsonArray18 ? jsonArray18.Deserialize>>()!.Select(it => Target.From(map: it)).ToList() : ((IEnumerable>)map["targets"]).Select(it => Target.From(map: it)).ToList(), + targets: map["targets"].ConvertToList>().Select(it => Target.From(map: it)).ToList(), accessedAt: map["accessedAt"].ToString() ); diff --git a/Appwrite/Models/UserList.cs b/Appwrite/Models/UserList.cs index d1574dc..1aa2d5e 100644 --- a/Appwrite/Models/UserList.cs +++ b/Appwrite/Models/UserList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List users public static UserList From(Dictionary map) => new UserList( total: Convert.ToInt64(map["total"]), - users: map["users"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => User.From(map: it)).ToList() : ((IEnumerable>)map["users"]).Select(it => User.From(map: it)).ToList() + users: map["users"].ConvertToList>().Select(it => User.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/Appwrite/Models/Variable.cs b/Appwrite/Models/Variable.cs index 8234773..c810c6e 100644 --- a/Appwrite/Models/Variable.cs +++ b/Appwrite/Models/Variable.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { diff --git a/Appwrite/Models/VariableList.cs b/Appwrite/Models/VariableList.cs index b17d415..6b7ecea 100644 --- a/Appwrite/Models/VariableList.cs +++ b/Appwrite/Models/VariableList.cs @@ -5,6 +5,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Appwrite.Enums; +using Appwrite.Extensions; namespace Appwrite.Models { @@ -26,7 +27,7 @@ List variables public static VariableList From(Dictionary map) => new VariableList( total: Convert.ToInt64(map["total"]), - variables: map["variables"] is JsonElement jsonArray2 ? jsonArray2.Deserialize>>()!.Select(it => Variable.From(map: it)).ToList() : ((IEnumerable>)map["variables"]).Select(it => Variable.From(map: it)).ToList() + variables: map["variables"].ConvertToList>().Select(it => Variable.From(map: it)).ToList() ); public Dictionary ToMap() => new Dictionary() diff --git a/CHANGELOG.md b/CHANGELOG.md index deb467c..dfd28ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 0.21.2 + +* Fix: handle Object[] during array deserialization + ## 0.21.1 * Add transaction support for Databases and TablesDB diff --git a/README.md b/README.md index 7a5b48f..22cd81b 100644 --- a/README.md +++ b/README.md @@ -17,17 +17,17 @@ Appwrite is an open-source backend as a service server that abstract and simplif Add this reference to your project's `.csproj` file: ```xml - + ``` You can install packages from the command line: ```powershell # Package Manager -Install-Package Appwrite -Version 0.21.1 +Install-Package Appwrite -Version 0.21.2 # or .NET CLI -dotnet add package Appwrite --version 0.21.1 +dotnet add package Appwrite --version 0.21.2 ```