Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Appwrite/Appwrite.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net462</TargetFrameworks>
<PackageId>Appwrite</PackageId>
<Version>0.20.0</Version>
<Version>0.21.0</Version>
<Authors>Appwrite Team</Authors>
<Company>Appwrite Team</Company>
<Description>
Expand Down
4 changes: 2 additions & 2 deletions Appwrite/Client.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,11 @@ public Client(
_headers = new Dictionary<string, string>()
{
{ "content-type", "application/json" },
{ "user-agent" , $"AppwriteDotNetSDK/0.20.0 ({Environment.OSVersion.Platform}; {Environment.OSVersion.VersionString})"},
{ "user-agent" , $"AppwriteDotNetSDK/0.21.0 ({Environment.OSVersion.Platform}; {Environment.OSVersion.VersionString})"},
{ "x-sdk-name", ".NET" },
{ "x-sdk-platform", "server" },
{ "x-sdk-language", "dotnet" },
{ "x-sdk-version", "0.20.0"},
{ "x-sdk-version", "0.21.0"},
{ "X-Appwrite-Response-Format", "1.8.0" }
};

Expand Down
66 changes: 66 additions & 0 deletions Appwrite/Models/Transaction.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
using Appwrite.Enums;

namespace Appwrite.Models
{
public class Transaction
{
[JsonPropertyName("$id")]
public string Id { get; private set; }

[JsonPropertyName("$createdAt")]
public string CreatedAt { get; private set; }

[JsonPropertyName("$updatedAt")]
public string UpdatedAt { get; private set; }

[JsonPropertyName("status")]
public string Status { get; private set; }

[JsonPropertyName("operations")]
public long Operations { get; private set; }

[JsonPropertyName("expiresAt")]
public string ExpiresAt { get; private set; }

public Transaction(
string id,
string createdAt,
string updatedAt,
string status,
long operations,
string expiresAt
) {
Id = id;
CreatedAt = createdAt;
UpdatedAt = updatedAt;
Status = status;
Operations = operations;
ExpiresAt = expiresAt;
}

public static Transaction From(Dictionary<string, object> map) => new Transaction(
id: map["$id"].ToString(),
createdAt: map["$createdAt"].ToString(),
updatedAt: map["$updatedAt"].ToString(),
status: map["status"].ToString(),
operations: Convert.ToInt64(map["operations"]),
expiresAt: map["expiresAt"].ToString()
);

public Dictionary<string, object?> ToMap() => new Dictionary<string, object?>()
{
{ "$id", Id },
{ "$createdAt", CreatedAt },
{ "$updatedAt", UpdatedAt },
{ "status", Status },
{ "operations", Operations },
{ "expiresAt", ExpiresAt }
};
}
}
38 changes: 38 additions & 0 deletions Appwrite/Models/TransactionList.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text.Json;
using System.Text.Json.Serialization;
using Appwrite.Enums;

namespace Appwrite.Models
{
public class TransactionList
{
[JsonPropertyName("total")]
public long Total { get; private set; }

[JsonPropertyName("transactions")]
public List<Transaction> Transactions { get; private set; }

public TransactionList(
long total,
List<Transaction> transactions
) {
Total = total;
Transactions = transactions;
}

public static TransactionList From(Dictionary<string, object> map) => new TransactionList(
total: Convert.ToInt64(map["total"]),
transactions: map["transactions"] is JsonElement jsonArray2 ? jsonArray2.Deserialize<List<Dictionary<string, object>>>()!.Select(it => Transaction.From(map: it)).ToList() : ((IEnumerable<Dictionary<string, object>>)map["transactions"]).Select(it => Transaction.From(map: it)).ToList()
);

public Dictionary<string, object?> ToMap() => new Dictionary<string, object?>()
{
{ "total", Total },
{ "transactions", Transactions.Select(it => it.ToMap()) }
};
}
}
Loading