Sage-Bionetworks / schematic

Package for biomedical data model and metadata ingress management
https://schematicpy.readthedocs.io/en/stable/cli_reference.html
MIT License
22 stars 25 forks source link

Integration of schematic REST API endpoints with Data Curator App #501

Closed sujaypatil96 closed 2 years ago

sujaypatil96 commented 3 years ago

Is your feature request related to a problem? Please describe. Now that a first draft of the REST API has been released in v21.06 of the schematic package, we can make use of these endpoints by making requests to them from the Data Curator App.

Describe the solution you'd like To start off, spin up a local instance of the REST API server on the R Shiny server. Create prototype scripts using the httr library in R, with HTTP request calls to the local Flask server and evaluate the response.

How important is this feature? Select from the options below: • Medium - can do work without it; but it's important (e.g. to save time or for convenience)

When will use cases depending on this become relevant? Select from the options below: • Mid-term - 2-4 months

milen-sage commented 2 years ago

Acceptance criteria: proof of concept - test implementation of each of the existing API endpoints.

afwillia commented 2 years ago

@ychae @milen-sage I haven't made progress on this. Though, next week I may be able to implement a replacement for the manifest generation code.

afwillia commented 2 years ago

Looks like one endpoint is missing from schematic populateModelManifest. The relevant data curator code

Have mock code for get_manifest_route and validate_manifest_route.

Manifest submission is done with schematic synapse_driver$associateMetadataWithFiles, not schematic's submit_manifest_route/validateModelManifest.

There are several other schematic (synapse_driver) calls throughout the app. So more endpoints will need to be added.

milen-sage commented 2 years ago

synapse_driver and the associateMetadataWithFiles are schematic objects/service.

ychae commented 2 years ago

Add testing to adequately replace the schematic calls

afwillia commented 2 years ago

Plan for sprint 3

In order for this code to actually be used in production, we'll need to run an instance of schematic somewhere.

afwillia commented 2 years ago

@ychae this is done and addressed in the PR296