* 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 5c3e886aabd5acd997a3b35687d322439732c200. Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com> Co-authored-by: Lauris BH <lauris@nix.lv>
		
			
				
	
	
		
			118 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| -
 | |
|   id: 1
 | |
|   org_id: 3
 | |
|   lower_name: owners
 | |
|   name: Owners
 | |
|   authorize: 4 # owner
 | |
|   num_repos: 3
 | |
|   num_members: 1
 | |
| 
 | |
| -
 | |
|   id: 2
 | |
|   org_id: 3
 | |
|   lower_name: team1
 | |
|   name: team1
 | |
|   authorize: 2 # write
 | |
|   num_repos: 1
 | |
|   num_members: 2
 | |
| 
 | |
| -
 | |
|   id: 3
 | |
|   org_id: 6
 | |
|   lower_name: owners
 | |
|   name: Owners
 | |
|   authorize: 4 # owner
 | |
|   num_repos: 0
 | |
|   num_members: 1
 | |
| 
 | |
| -
 | |
|   id: 4
 | |
|   org_id: 7
 | |
|   lower_name: owners
 | |
|   name: Owners
 | |
|   authorize: 4 # owner
 | |
|   num_repos: 0
 | |
|   num_members: 1
 | |
| 
 | |
| -
 | |
|   id: 5
 | |
|   org_id: 17
 | |
|   lower_name: owners
 | |
|   name: Owners
 | |
|   authorize: 4 # owner
 | |
|   num_repos: 2
 | |
|   num_members: 2
 | |
| 
 | |
| -
 | |
|   id: 6
 | |
|   org_id: 19
 | |
|   lower_name: owners
 | |
|   name: Owners
 | |
|   authorize: 4 # owner
 | |
|   num_repos: 2
 | |
|   num_members: 1
 | |
| 
 | |
| -
 | |
|   id: 7
 | |
|   org_id: 3
 | |
|   lower_name: test_team
 | |
|   name: test_team
 | |
|   authorize: 2 # write
 | |
|   num_repos: 1
 | |
|   num_members: 1
 | |
| 
 | |
| -
 | |
|   id: 8
 | |
|   org_id: 17
 | |
|   lower_name: test_team
 | |
|   name: test_team
 | |
|   authorize: 2 # write
 | |
|   num_repos: 1
 | |
|   num_members: 1
 | |
| 
 | |
| -
 | |
|   id: 9
 | |
|   org_id: 17
 | |
|   lower_name: review_team
 | |
|   name: review_team
 | |
|   authorize: 1 # read
 | |
|   num_repos: 1
 | |
|   num_members: 2
 | |
| 
 | |
| -
 | |
|   id: 10
 | |
|   org_id: 25
 | |
|   lower_name: notowners
 | |
|   name: NotOwners
 | |
|   authorize: 1 # owner
 | |
|   num_repos: 0
 | |
|   num_members: 1
 | |
| 
 | |
| -
 | |
|   id: 11
 | |
|   org_id: 26
 | |
|   lower_name: team11
 | |
|   name: team11
 | |
|   authorize: 1 # read
 | |
|   num_repos: 0
 | |
|   num_members: 0
 | |
| 
 | |
| -
 | |
|   id: 12
 | |
|   org_id: 3
 | |
|   lower_name: team12creators
 | |
|   name: team12Creators
 | |
|   authorize: 3 # admin
 | |
|   num_repos: 0
 | |
|   num_members: 1
 | |
|   can_create_org_repo: true
 | |
| 
 | |
| -
 | |
|   id: 13
 | |
|   org_id: 6
 | |
|   lower_name: team13notcreators
 | |
|   name: team13NotCreators
 | |
|   authorize: 3 # admin
 | |
|   num_repos: 0
 | |
|   num_members: 1
 | |
|   can_create_org_repo: false
 |