ao-data / albiondata-client

Distributed client for the Albion Online Data project.
https://www.albion-online-data.com/
MIT License
101 stars 30 forks source link

Is this behavior correct? #76

Closed aquinary closed 8 months ago

aquinary commented 10 months ago

I make a request:

https://east.albion-online-data.com/api/v2/stats/prices/T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE

And I get the expected result:

[
    {
        "item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
        "city": "Caerleon",
        "quality": 1,
        "sell_price_min": 0,
        "sell_price_min_date": "0001-01-01T00:00:00",
        "sell_price_max": 0,
        "sell_price_max_date": "0001-01-01T00:00:00",
        "buy_price_min": 0,
        "buy_price_min_date": "0001-01-01T00:00:00",
        "buy_price_max": 0,
        "buy_price_max_date": "0001-01-01T00:00:00"
    }
]

Expected because the item T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE has a quality of 1 and no more. However, when I add any item with quality > 1, I get the following:

[
    {
        "item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
        "city": "Caerleon",
        "quality": 1,
        "sell_price_min": 0,
        "sell_price_min_date": "0001-01-01T00:00:00",
        "sell_price_max": 0,
        "sell_price_max_date": "0001-01-01T00:00:00",
        "buy_price_min": 0,
        "buy_price_min_date": "0001-01-01T00:00:00",
        "buy_price_max": 0,
        "buy_price_max_date": "0001-01-01T00:00:00"
    },
    {
        "item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
        "city": "Caerleon",
        "quality": 2,
        "sell_price_min": 0,
        "sell_price_min_date": "0001-01-01T00:00:00",
        "sell_price_max": 0,
        "sell_price_max_date": "0001-01-01T00:00:00",
        "buy_price_min": 0,
        "buy_price_min_date": "0001-01-01T00:00:00",
        "buy_price_max": 0,
        "buy_price_max_date": "0001-01-01T00:00:00"
    },
    {
        "item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
        "city": "Caerleon",
        "quality": 3,
        "sell_price_min": 0,
        "sell_price_min_date": "0001-01-01T00:00:00",
        "sell_price_max": 0,
        "sell_price_max_date": "0001-01-01T00:00:00",
        "buy_price_min": 0,
        "buy_price_min_date": "0001-01-01T00:00:00",
        "buy_price_max": 0,
        "buy_price_max_date": "0001-01-01T00:00:00"
    },
    {
        "item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
        "city": "Caerleon",
        "quality": 4,
        "sell_price_min": 0,
        "sell_price_min_date": "0001-01-01T00:00:00",
        "sell_price_max": 0,
        "sell_price_max_date": "0001-01-01T00:00:00",
        "buy_price_min": 0,
        "buy_price_min_date": "0001-01-01T00:00:00",
        "buy_price_max": 0,
        "buy_price_max_date": "0001-01-01T00:00:00"
    },
    {
        "item_id": "T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE",
        "city": "Caerleon",
        "quality": 5,
        "sell_price_min": 0,
        "sell_price_min_date": "0001-01-01T00:00:00",
        "sell_price_max": 0,
        "sell_price_max_date": "0001-01-01T00:00:00",
        "buy_price_min": 0,
        "buy_price_min_date": "0001-01-01T00:00:00",
        "buy_price_max": 0,
        "buy_price_max_date": "0001-01-01T00:00:00"
    },
    {
        "item_id": "T4_BAG",
        "city": "Caerleon",
        "quality": 1,
        "sell_price_min": 3188,
        "sell_price_min_date": "2023-11-07T17:40:00",
        "sell_price_max": 3189,
        "sell_price_max_date": "2023-11-07T17:40:00",
        "buy_price_min": 1,
        "buy_price_min_date": "2023-11-07T18:15:00",
        "buy_price_max": 2566,
        "buy_price_max_date": "2023-11-07T18:15:00"
    },
    {
        "item_id": "T4_BAG",
        "city": "Caerleon",
        "quality": 2,
        "sell_price_min": 3398,
        "sell_price_min_date": "2023-11-07T18:15:00",
        "sell_price_max": 3491,
        "sell_price_max_date": "2023-11-07T18:15:00",
        "buy_price_min": 1,
        "buy_price_min_date": "2023-11-07T18:15:00",
        "buy_price_max": 2570,
        "buy_price_max_date": "2023-11-07T18:15:00"
    },
    {
        "item_id": "T4_BAG",
        "city": "Caerleon",
        "quality": 3,
        "sell_price_min": 3200,
        "sell_price_min_date": "2023-11-07T18:15:00",
        "sell_price_max": 3493,
        "sell_price_max_date": "2023-11-07T18:15:00",
        "buy_price_min": 1,
        "buy_price_min_date": "2023-11-07T18:15:00",
        "buy_price_max": 2568,
        "buy_price_max_date": "2023-11-07T18:15:00"
    },
    {
        "item_id": "T4_BAG",
        "city": "Caerleon",
        "quality": 4,
        "sell_price_min": 3189,
        "sell_price_min_date": "2023-11-07T18:15:00",
        "sell_price_max": 4467,
        "sell_price_max_date": "2023-11-07T18:15:00",
        "buy_price_min": 51,
        "buy_price_min_date": "2023-11-07T18:15:00",
        "buy_price_max": 2767,
        "buy_price_max_date": "2023-11-07T18:15:00"
    },
    {
        "item_id": "T4_BAG",
        "city": "Caerleon",
        "quality": 5,
        "sell_price_min": 0,
        "sell_price_min_date": "0001-01-01T00:00:00",
        "sell_price_max": 0,
        "sell_price_max_date": "0001-01-01T00:00:00",
        "buy_price_min": 0,
        "buy_price_min_date": "0001-01-01T00:00:00",
        "buy_price_max": 0,
        "buy_price_max_date": "0001-01-01T00:00:00"
    }
]

Here, T4_BAG is displayed correctly. And T1_KILL_EMOTE_FLAG_CHARGES_TRADABLE displays data that should not exist. Is this behavior intended or is it a bug?

phendryx commented 10 months ago

You gave it multiple items and multiple qualities. It queried for each unique combination.

phendryx commented 10 months ago

Could it be zeroed out and possibly just not displayed? Yes. But people expecting zeros there wouldn't have data either. Everyone using spreadsheets would have to find a way to fill zeros.