Story #18693

Updated by Peter Amstutz about 2 years ago

It's confusing and potentially error prone to have multiple identical permission links, e.g. three link records all granting "can_read" going from the same user to the same project.    For example, there's 50 users with read access to a project, but one user is listed 3 times.    Someone goes it to remove that user's access, but only deletes one or two of the links, not all three. 

 Proposed change: 

 * "create" command: if there's already an equivalent permission, return the existing link 
 * "update" command: if it is updated where there is already an equivalent permission, delete either the new or old link 
 * "delete" command: delete all links with equivalent permission 
 * perform a data migration to remove any duplicated links