Develop API / Service to harvest list of Software & Workflows from the OSSR
In the IDA we currently display a list of Worfklows (Notebooks) that are stored in an SQLLite database. WP3 & the OSSR have built a Software Repository that will include workflows for ESCAPE, and this issue is to investigate & develop the mechanism in ESAP for collecting this metadata for existing software & workflows, and displaying it to the user.
The service in the API that currently collects this metadata from the database can be found here: https://git.astron.nl/astron-sdc/esap-api-gateway/-/blob/master/esap/ida/api/services/ida_controller.py
We need to extend this service so that it calls out to the REST API of the OSSR (Zenodo), collects the JSON response and formats it in a way that the GUI can read and display as a list.
For the above we need to implement a harvestor method as follows:
def get_OSSR_entries(parameters: list) -> dict: # GET request to the OSSR with optional parameters # Format results # Return formatted results