Zammad.Client icon indicating copy to clipboard operation
Zammad.Client copied to clipboard

Add/Remove Tag doesn't work

Open phranki opened this issue 4 years ago • 0 comments

TagClient.cs

    public Task<bool> AddTagAsync(string objectName, int objectId, string tagName)
    {
        return GetAsync<bool>("/api/v1/tags/add", $"object={objectName}&o_id={objectId}&item={tagName}");
    }

    public Task<bool> RemoveTagAsync(string objectName, int objectId, string tagName)
    {
        return GetAsync<bool>("/api/v1/tags/remove", $"object={objectName}&o_id={objectId}&item={tagName}");
    }

Change to:

    public Task<bool> AddTagAsync(string objectName, int objectId, string tagName)
    {
        return PostAsync<bool>("/api/v1/tags/add", new AddRemoveTag { Item = tagName, Object = objectName, ObjectId = objectId });
    }

    public Task<bool> RemoveTagAsync(string objectName, int objectId, string tagName)
    {
        return PostAsync<bool>("/api/v1/tags/remove", new AddRemoveTag { Item = tagName, Object = objectName, ObjectId = objectId });
    }

Create class AddRemoveTag.cs

[JsonObject]
public class AddRemoveTag
{
    [JsonProperty("o_id")]
    public int ObjectId { get; set; }

    [JsonProperty("object")]
    public string Object { get; set; }

    [JsonProperty("item")]
    public string Item { get; set; }
}

phranki avatar Nov 29 '21 12:11 phranki