Skip to content

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

Open
@dydimos

Description

👟 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?

  • I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions