sdk-generator icon indicating copy to clipboard operation
sdk-generator copied to clipboard

🐛 Bug Report: (dotnet sdk) NullReferenceException on CreateAttribute if Required is true and Default is null

Open dydimos opened this issue 1 year ago • 0 comments

👟 Reproduction steps

When I call databases.CreateStringAttribute and Required is set to true, and Default is set to null.

👍 Expected behavior

It should create the attribute and return the result.

👎 Actual Behavior

It actually creates the attribute but then throws a NullReferenceException.

The Exception is thrown in this method:

    public static AttributeString From(Dictionary<string, object> map) => new AttributeString(
        key: map["key"].ToString(),
        type: map["type"].ToString(),
        status: map["status"].ToString(),
        error: map["error"].ToString(),
        required: (bool)map["required"],
        array: (bool?)map["array"],
        size: Convert.ToInt64(map["size"]),
        xdefault: map.TryGetValue("default", out var xdefault) ? xdefault.ToString() : null
    );

After changing the line xdefault: map.TryGetValue("default", out var xdefault) ? xdefault.ToString() : null to xdefault: map.TryGetValue("default", out var xdefault) && xdefault != null ? xdefault.ToString() : null

it works.

🎲 Appwrite version

Appwrite Cloud

💻 Operating system

Windows

🧱 Your Environment

I use the dotnet sdk nuget package 0.8.3.

👀 Have you spent some time to check if this issue has been raised before?

  • [X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

dydimos avatar Jul 28 '24 11:07 dydimos