* 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>
		
	
			
		
			
				
	
	
		
			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
 |