A service is a unique target integration that is not accessible via the normal API endpoints. Typically, the point of a service is to take action on a resource (emulate, annotate, etc.) rather than simply storing it.
EaaSI (Emulation-as-a-Service Infrastructure) Service¶
Step 1: Download the Resource¶
PresQT is able to use the existing download endpoint to fetch a Target’s resource to a PresQT server.
Step 2: Start a proposal task on an EaaSI server¶
Then, using the ticket number created from the PresQT download task, a POST request can be made to PresQT to send EaaSI a url where the downloaded resource can be fetched. During this POST request we write a one time use token to the downloaded resource’s process_info.json file. The URL we send to EaaSI to fetch the PresQT resource has a query parameter with this token. This EaaSI download endpoint is for EaaSI use only.
Step 3: Get proposal status from EaaSI¶
We then have a GET endpoint that makes a request to EaaSI to find the progress of the Proposal Task. If the task is complete then we return the url for the suggested emulation environment. Otherwise, we return a 202 status and let the user know the proposal task is still in progress.
FAIR Evaluator Service¶
FAIRshake Assessment Service¶
PresQT takes advantage of FAIRshake’s manual assessment functionality to allow users to assess the FAIRness of their research projects.