Affects Version/s: 5.1, 5.2-dev
Fix Version/s: Engineering tracked issues
Component/s: Platform > Repository & Services (Public API impl)
Only one instance of ContentType in the draft status can exist at the given time.
Loading or updating ContentType draft belonging to another user is not allowed.
Therefore if the ContentType draft exists for another user, PAPI user (even if admin) can not do anything about it until user owning the draft publishes or discards it.
In the Legacy Stack this is handled by the configurable time lock on class draft, lasting by default 2h.
Time lock is checked at runtime, if expired old draft is discarded and new one created automatically.
In the new kernel one option would be to amend deleteContentType() method with second parameter $status, which would enable deleting ContentType in the given state. Appropriate handler method for this already exists, so no changes to the storage engine would be needed.
Permission to perform this would need to be defined; no counterpart in the LS exists.