Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement access methods #10

Open
22 of 25 tasks
uniqueg opened this issue Oct 1, 2020 · 1 comment
Open
22 of 25 tasks

Implement access methods #10

uniqueg opened this issue Oct 1, 2020 · 1 comment
Labels
flag: good 1st issue Good for newcomers Hacktoberfest Suggested issue for https://hacktoberfest.digitalocean.com/ type: feature New feature or request type flag: meta Generic issue that will spawn more specific issues

Comments

@uniqueg
Copy link
Member

uniqueg commented Oct 1, 2020

This is a meta-issue to help keep track on what access methods are still left to implement. Please don't close this issue until all boxes are checked (note that additional boxes may be added later).

To implement one of the methods, open a specific issue for the access method you would like to implement (if it doesn't already exist), assign yourself to that issue, implement it (look at #5, #6 and #7 for examples), implement tests, update the README.md, file a PR and mention the specific issue in the PR description. Then, once done, tick off the corresponding item in the lists below.

TRS access methods to implement:

TRS-Filer access methods to implement:

Composite access methods to implement:

Please do not implement before issue is discussed/approved

  • .import_tool(): import a tool from one TRS into another
  • .get_checksums(): return dictionary of checksums for all files of a given descriptor type
  • .retrieve_files(): download all files of a given descriptor type (feat: add method to retrieve files #8 / feat: return type info for file retrieval #9)
  • .search_tools(): filter values of .get_tools() results for optionally exact (default) or partial matches in any field
@uniqueg uniqueg added flag: good 1st issue Good for newcomers type flag: meta Generic issue that will spawn more specific issues type: feature New feature or request Hacktoberfest Suggested issue for https://hacktoberfest.digitalocean.com/ labels Oct 1, 2020
@uniqueg
Copy link
Member Author

uniqueg commented Oct 1, 2020

The client is potentially very useful in our web portal CWLab. It's already used there (in v0.3.1 to retrieve workflow files if a "versioned TRS URI" is passed. But the TRS also offers a discovery endpoint (GET /tools with appropriate query parameters). To support the functionality of discovering a workflow that you don't know exists, implementing access methods for GET /tools, and then GET /tool/{id}, GET /tool/{id}/versions, and GET /tools/{id}/versions/{version_id} to allow the user to pick a version of a tool they have just discovered, are probably highest priority (pretty much in that order).

Afterwards, probably the POST, PUT and DELETE endpoints to manage resources available on the service (i.e., POST /tools and POST /tools/{id}/versions etc) are probably the next most important set of access methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flag: good 1st issue Good for newcomers Hacktoberfest Suggested issue for https://hacktoberfest.digitalocean.com/ type: feature New feature or request type flag: meta Generic issue that will spawn more specific issues
Projects
None yet
Development

No branches or pull requests

1 participant