3.36. Editor - Delete a block
| Id | 4.36. |
| Description |
As an Editor,
I want to be able to delete a block that was created by mistake,
So that I can improve the quality and reliability of the register. |
| Priority | Medium |
| Actors | Editor |
| API Calls | DELETE /blocks/<block-id> |
| Linked Processes | |
| Status | Implemented |
Preconditions
- The User must be authenticated and have the Editor role.
- The User has a block id that he wants to delete
- The site for which the block is being deleted has more than one block.
- The User has a valid reason to delete the block
Postconditions
- The system returns a confirmation that the block has been marked as “to be deleted”.
Main flow
- The Organisation Editor uses an API call to delete a specific block by ID (DELETE).
- The system validates the input parameters.
- The system marks the block, its units as well as their connections as “to be deleted”. WARNING: If the block is already used somewhere in the system, the block gets marked as deleted but is kept in the database.
- The system returns a confirmation that the block has been marked as “to be deleted”.
Exceptions
[400 Bad Request] Invalid input:
If mandatory fields are missing or invalid, the system returns an error message.
[404 Not Found] Block not found
Error returned by the system if the given block does not exist.
[409 Conflict] Site must have at least one block
Error returned by the system if the given block is the only block of a site. A site must always have at least one block attached to.
[500 Internal Server Error] System Error
If the system fails to save changes due to an internal error, it displays an appropriate message and logs the error for further investigation.