Closed chambbj closed 7 years ago
An inactive AOI is a deleted AOI. So my initial feeling is that we shouldn't return them because you've essentially deleted them. They are kept around as objects still for retention, history, and audit purposes. They can be restored if needed but it is not a normal operation to do, and doesn't really happen as far as I'm aware.
We totally omit the inactive AOIs in the UI too so functionally this should be the same for both UI/API.
So, do you use the API in this context - listing AOIs?
If so, and you too are relying on the endpoint to filter the deleted ones for you (i.e., you are not using is_active
) then would you agree that this particular element of the response is not needed?
Seems like we should remove the field (as it doesn't provide any real information to the user). @chambbj We keep the aois around for historical/troubleshooting reasons, but they are not intended to be re-enabled.
I agree it should be omitted. We were just using a built in object serializer for AOIs so it was included. I'll look to remove for v3.
is_active and source have been removed from AOI returns on v3 as they are really only used internally to GRiD.
@AlexMountain I don't think that API users can ever see AOI
is_active == false
, as GRiD filters these out prior to sending the response, right?I guess this begs the question of whether or not there is a situation in which users might want inactive AOIs, or should we eliminate it from the response?
On the other hand, what's the harm in leaving it there and returning all AOIs, regardless of the
is_active
value, and letting them filter them out client-side? Are inactive AOIs dead or simply hidden, e.g., can I generate an export from an inactive AOI?How does GRiD use it internally? Is it simply a retention policy thing? Or maybe there is some sort of AOI recovery capability? If the latter (or similar), should that be exposed to API users too?
It seems to me that if you have use for
is_active
, but are not returning it via the API, this must be one of the areas where you are not using your own API internally.