Context:
Once the collection scope is in place and reports need to comply with it we need to handle potential conflicts on scope update or delete. A conflict arises when the scope update/delete affects existing reports that would fall out of the scope of the collection with that operation.
We need to reject the update/delete with a conflict response indicating the conflicting reports and allow the user to force the update/delete ultimately deleting the conflicting items.
AT:
- the collection scope update/delete api checks for conflicting reports
- the operation is aborted with a conflict response listing the affected reports
- the operation can be forced with a `force=true` query parameter, deleting the conflicting items
- Do not delete report if a report is based on multiple tenants and at least one tenant is still valid, but remove the removed tenants from that report definition
- the conflict response does not only contain the conflict with reports, but also the transitive conflict of the to-be-removed reports like alerts, dashboards, combined reports
- There is an api to check for conflicts without triggering an delete
- the api changes are documented
- a front-end follow up ticket is created that shows the conflicts of the update/delete operation to the user ->
OPT-2979