Prevent deletion of current droplet #3960
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
DropletsController
: check if droplet is in use (i.e. app's current droplet) and raise anApiError
(UnprocessableEntity
)Prepare for the introduction of a foreign key from
apps.droplet_guid
todroplets.guid
:DropletModel
: handleForeignKeyConstraintViolation
and translate intoApiError
(UnprocessableEntity
)AppModel
: handleForeignKeyConstraintViolation
and translate intoValidationFailed
errorDropletDelete
: move destroy before other operations (deletion from blobstore, recording of event) so that an exception stops the control flowAppDelete
: cleardroplet_guid
(i.e. current droplet relation) before deleting subresources (incl. droplets)AppAssignDroplet
: handleValidationFailed
error and translate into already existing errorI have reviewed the contributing guide
I have viewed, signed, and submitted the Contributor License Agreement
I have made this pull request to the
main
branchI have run all the unit tests using
bundle exec rake
I have run CF Acceptance Tests