Context:
Copy operation that include multiple entities (copy dashboard, copy combined report, copy collection) are currently not atomic, as soon as one copy operation of one entity fails the operation aborts leaving an incomplete copy.
We should consider at least trying to cleanup the remainder (if that fails as well we should indicate this in the error returned) and return and error indicating the copy operation failed (user could retry).
AT:
- copy operations should either succeed completely or be rolled back entirely
- on failure and rollback an error is returned telling the user what happened, leaving him to decide whether to retry
- on failure during rollback a special error is returned indicating that potenitally an inconsistent copy was created, user can decide to delete it or not manually