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

Y24-185 - Move Sequencescape API v1 calls over to API v2 #410

Open
2 tasks
sdjmchattie opened this issue Jul 9, 2024 · 1 comment
Open
2 tasks

Y24-185 - Move Sequencescape API v1 calls over to API v2 #410

sdjmchattie opened this issue Jul 9, 2024 · 1 comment
Assignees

Comments

@sdjmchattie
Copy link
Contributor

sdjmchattie commented Jul 9, 2024

User story

Sequencescape API v1 will be shut down in the near future and has been deprecated for the past 5 years. We should switch usage of the API over to v2 by installing and making use of the json_api_client gem.

Who are the primary contacts for this story

Stuart McHattie

Who is the nominated tester for UAT

PSD

Acceptance criteria

To be considered successful the solution must allow:

  • No more API v1 calls are made to Sequencescape
  • All traces of sequencescape-client-api and its config have been removed.

Dependencies
Any new endpoints required in Sequencescape will have to be created as they are discovered to be missing. A new story should be created under that repository if there are indeed endpoints to create.

Additional context

The calls made during the last two week period are as below, with counts for each endpoint:

  • GET - /api/1/: 33

  • GET - /api/1/tag_layout_templates: 4

  • GET - /api/1/tag_layout_templates/2: 4

  • GET - /api/1/{uuid}: 45

  • GET - /api/1/{uuid}/qcables: 12

  • POST - /api/1/qcable_creators: 4

  • POST - /api/1/{uuid}/first: 17

  • POST - /api/1/{uuid}/lots: 4

@sdjmchattie sdjmchattie self-assigned this Jul 9, 2024
@sdjmchattie sdjmchattie changed the title Move Sequencescape API v1 calls over to API v2 Y24-185 - Move Sequencescape API v1 calls over to API v2 Jul 9, 2024
@sdjmchattie
Copy link
Contributor Author

Reviewing the code, there are v1 endpoints being called in a lot of places, which is not reflected in the endpoints actually being hit on Sequencescape as shown above. The working assumption is that Gate Keeper is not used as much any more and only some parts of it are in active use. To track, though, the obvious uses of v1 endpoints are for:

  • Creating state changes.
  • Finding assets by barcode.
  • Creating QC decisions.
  • Finding lot types by various criteria.
  • Finding plates by ID.
  • Finding lots by ID.
  • Creating QC Creators.
  • Finding robots by barcode.
  • Creating stamps.
  • Find QCAbles by barcode.
  • Finding robots by UUID.
  • Finding robots by barcode.
  • Finding order templates and creating orders from them.
  • Creating submissions.
  • Finding tubes by ID.
  • Finding users by swipecard.
  • Finding barcode printers.
  • Finding lots by batch ID.
  • Finding transfer templates.
  • Getting all tag layout templates.
  • Getting all tag2 layout templates.
  • Creating bulk transfers.
  • Finding tag/tag2 layout templates and then creating a tag layout from it.
  • Creating plate conversions.
  • Creating plates.
  • Creating specific tubes.
  • Creating tubes from tubes.
  • Getting all plate templates.
  • Finding plate purposes.
  • Finding tube purposes.
  • Fetching studies and projects.

These may not be exhaustive, but I think they are. The stakeholders will be consulted on this as this would be a lot of work to switch over to V2 and it looks like most of this isn't actually used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant