eodag
eodag copied to clipboard
create a providers extension
Is your feature request related to a problem? Please describe. EODAG server allow a provider filter for most of its endpoint. But we don't have any schema to support it. We need to define a STAC extension describing the spec for this filter. This will help users onboard with the API.
Describe the solution you'd like
- [ ] define a schema
- [ ] write example
- [ ] write a documentation
The current implementation is a single provider filter that accept as value the name of a host provider. I suggest we extend this definition to cross providers searches and considering other roles as well (producer, processor, licensor).
We could have something like that for filter:
{
"providers": [
{
"name": "peps",
"role": "host"
},
{
"name": "another_provider",
"role": "processor"
}
]
}
We could default to host if not specified otherwise to allow more concise format with:
{
"providers": [
{
"name": "peps",
}
]
}
A GET filter shape could be
/search?providers=peps:host,another_provider:processor
And allow more concise as well:
/search?providers=peps,another_provider:processor
We should support this endpoint everywhere it is already supported by EODAG:
- /collections
- /collections/{collectionId}
- /collections/{collectionId}/items
- /collections/{collectionId}/items/{featureId}
- /queryables
- /queryables/{collectionId}
- /search GET and POST
- /catalogs/{catalogPath}
- /catalogs/{catalogPath}/items
- /catalogs/{catalogPath}/items/{featureId}