BricklinkSharp icon indicating copy to clipboard operation
BricklinkSharp copied to clipboard

Get Supersets does not use color id, just gets all supersets

Open Yoonwoo opened this issue 3 years ago • 4 comments

The subsets function implements it with ?color_id parameter but supersets has color id just after / which is disregarded.

Can change to be like subsets function and fix:

public async Task<Superset[]> GetSupersetsAsync(ItemType type, string no, int colorId = 0)
        {
            var typeString = type.GetStringValueOrDefault();
            var builder = new UriBuilder(new Uri(_baseUri, $"items/{typeString}/{no}/supersets"));
            var query = HttpUtility.ParseQueryString(builder.Query);
            query["color_id"] = colorId.ToString();
            builder.Query = query.ToString();
            var url = builder.ToString();

            var method = HttpMethod.Get;
            var responseBody = await ExecuteRequest(url, method);

            var data = ParseResponse<Superset[]>(responseBody, 200, url, method);
            return data;
        }

In GetSupersetsDemo, example

var supersets = await client.GetSupersetsAsync(ItemType.Part, "40232", 8);

gets all supersets, not just color 8, works after changing

Yoonwoo avatar Sep 19 '21 06:09 Yoonwoo