* Restricted users (#4334): initial implementation
* Add User.IsRestricted & UI to edit it
* Pass user object instead of user id to places where IsRestricted flag matters
* Restricted users: maintain access rows for all referenced repos (incl public)
* Take logged in user & IsRestricted flag into account in org/repo listings, searches and accesses
* Add basic repo access tests for restricted users
Signed-off-by: Manush Dodunekov <manush@stendahls.se>
* Mention restricted users in the faq
Signed-off-by: Manush Dodunekov <manush@stendahls.se>
* Revert unnecessary change `.isUserPartOfOrg` -> `.IsUserPartOfOrg`
Signed-off-by: Manush Dodunekov <manush@stendahls.se>
* Remove unnecessary `org.IsOrganization()` call
Signed-off-by: Manush Dodunekov <manush@stendahls.se>
* Revert to an `int64` keyed `accessMap`
* Add type `userAccess`
* Add convenience func updateUserAccess()
* Turn accessMap into a `map[int64]userAccess`
Signed-off-by: Manush Dodunekov <manush@stendahls.se>
* or even better: `map[int64]*userAccess`
* updateUserAccess(): use tighter syntax as suggested by lafriks
* even tighter
* Avoid extra loop
* Don't disclose limited orgs to unauthenticated users
* Don't assume block only applies to orgs
* Use an array of `VisibleType` for filtering
* fix yet another thinko
* Ok - no need for u
* Revert "Ok - no need for u"
This reverts commit 5c3e886aab.
Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
		
	
			
		
			
				
	
	
		
			89 lines
		
	
	
	
		
			869 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			869 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
-
 | 
						|
  id: 1
 | 
						|
  user_id: 2
 | 
						|
  repo_id: 3
 | 
						|
  mode: 2 # write
 | 
						|
 | 
						|
-
 | 
						|
  id: 2
 | 
						|
  user_id: 4
 | 
						|
  repo_id: 4
 | 
						|
  mode: 2 # write
 | 
						|
 | 
						|
-
 | 
						|
  id: 3
 | 
						|
  user_id: 4
 | 
						|
  repo_id: 3
 | 
						|
  mode: 2 # write
 | 
						|
 | 
						|
-
 | 
						|
  id: 4
 | 
						|
  user_id: 15
 | 
						|
  repo_id: 22
 | 
						|
  mode: 2 # write
 | 
						|
 | 
						|
-
 | 
						|
  id: 5
 | 
						|
  user_id: 15
 | 
						|
  repo_id: 21
 | 
						|
  mode: 2 # write
 | 
						|
 | 
						|
-
 | 
						|
  id: 6
 | 
						|
  user_id: 15
 | 
						|
  repo_id: 23
 | 
						|
  mode: 4 # owner
 | 
						|
 | 
						|
-
 | 
						|
  id: 7
 | 
						|
  user_id: 15
 | 
						|
  repo_id: 24
 | 
						|
  mode: 4 # owner
 | 
						|
 | 
						|
-
 | 
						|
  id: 8
 | 
						|
  user_id: 18
 | 
						|
  repo_id: 23
 | 
						|
  mode: 4 # owner
 | 
						|
 | 
						|
-
 | 
						|
  id: 9
 | 
						|
  user_id: 18
 | 
						|
  repo_id: 24
 | 
						|
  mode: 4 # owner
 | 
						|
 | 
						|
-
 | 
						|
  id: 10
 | 
						|
  user_id: 18
 | 
						|
  repo_id: 22
 | 
						|
  mode: 2 # write
 | 
						|
 | 
						|
-
 | 
						|
  id: 11
 | 
						|
  user_id: 18
 | 
						|
  repo_id: 21
 | 
						|
  mode: 2 # write
 | 
						|
 | 
						|
-
 | 
						|
  id: 12
 | 
						|
  user_id: 20
 | 
						|
  repo_id: 27
 | 
						|
  mode: 4 # owner
 | 
						|
  
 | 
						|
-
 | 
						|
  id: 13
 | 
						|
  user_id: 20
 | 
						|
  repo_id: 28
 | 
						|
  mode: 4 # owner
 | 
						|
 | 
						|
-
 | 
						|
  id: 14
 | 
						|
  user_id: 29
 | 
						|
  repo_id: 4
 | 
						|
  mode: 2 # write (collaborator)
 | 
						|
 | 
						|
-
 | 
						|
  id: 15
 | 
						|
  user_id: 29
 | 
						|
  repo_id: 24
 | 
						|
  mode: 1 # read
 |