Groups are currently storing their locks in an EAV table which makes them difficult to perform searches.
Proposal is to move the group locking from EAV table and implement in another table which can be efficiently searched.
The table should contain the group id / reference, the LockMode, and the reference that holds the lock.
- There may be many locking references to a group
- The locking reference and group should unique
- The LockMode defines the type of lock that is in place for that reference and group
The AuthzGroupService api should be updated to efficiently search for:
- references that are locked by a group
- groups that are locked by a reference