-
Notifications
You must be signed in to change notification settings - Fork 0
Curation Service
Curation Microservice was initially created with a view to migrate GOCI app from monolith to microservice. It was first put to use to implement new features in Deposition.
- Curation Service provides endpoints to manage submissions.
- Curator can edit metadata template for submission.
- Curator can lock submission to prevent concurrent update.
- Curator can view version difference across submissions.
- Curator unable to edit Submission Metadata template.
- For large Submissions in case of any changes curators has to manually edit single studies in UI.
- Create a new API to allow users to edit submissions.
- Use Elixir AAP to restrict access based on curator role.
- Use existing metadata upload logic as much as possible.
- Unlink old submission Id from child entities for the edit submission.
- Clean the references of studies/association/samples from submission table.
- Use Javers Audit framework to capture state changes across Submission.
- Map Version to specific Javers submission response entities.
- Transform the Javers response elements for each version to actual entities (Study/Association/Sample/FileUpload).
- Compare the entities for each version to identify changes
- User creates a submission in Deposition App, uploads metadata+sumstats file.
- Javers framework audits entities linked to the submission like studies/samples/associations/fileupload etc.
- Curator logins to Depo curation app in order to edit submission, get the details from submissions list in Depo Curation.
- Curator locks the submission that they want to Edit and UI calls API
/v1/submissions/{submissionId}/lock?lockStatus=lock|unlock
Our Mongo instance is a set up as a ClusterIP service on k8s, so by default it's not accessible outside the cluster, to access it we can use port forwarding.
In this example we'll forward the port 27017 which Mongo Service is using on k8s to our local port 27020, we can later access Mongo at localhost:27020.
-
kubectl port-forward -n gwas-dev services/mongo 27020:27017
-
In
application.yml
, change the value ofspring.active.profile
tosandbox
-
In
application-sandbox.yml
, change the value ofspring.data.mongodb.uri
tolocalhost:<port>
, in this examplelocalhost:27020
-
In
logging-sandbox.properties
, change the value tolog/