elixir-cloud-aai / drs-filer

Lightweight, flexible Flask/Gunicorn-based GA4GH DRS implementation
Apache License 2.0
5 stars 8 forks source link

Delete endpoint not working #53

Closed psankhe28 closed 2 months ago

psankhe28 commented 2 months ago

The endpoint to delete an access method of an object with specific object id and access id is not working: http://localhost:8080/ga4gh/drs/v1/objects/{object_id}/access/{access_id}

image

kushagra189 commented 2 months ago

Did you check the logs? What was the issue and why was it saying request as malformed? IMO is should have something to do with the request and should not ideally be an issue from functional perspective.

psankhe28 commented 2 months ago

ERROR: Will not delete only remaining access method for object: Av~oBb [ga4gh.drs.server] This is the error I get on trying to delete the access method. Maybe we need to make changes to the error response so that the user can understand what went wrong

uniqueg commented 2 months ago

Yes, it seems the operation is working fine (it should not accept to delete the last access method), it's just the error message is misleading.

So we should create a custom error, e.g., DeletionDeniedError here and add it to the exceptions dictionary (in the same module) with a reasonable error message (and probably a different status than 400, probably 409). We should then raise that custom error in the code here (and probably also add the 409 response to the specs).