File tree Expand file tree Collapse file tree
src/EtcdTerminal.App/Screens Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -56,27 +56,37 @@ private async Task LoadKeysAsync()
5656 {
5757 var authEnabled = await _etcdClient . IsAuthenticationEnabledAsync ( ) ;
5858
59+ async Task < List < EtcdKeyValue > > LoadAllKeysAsync ( )
60+ {
61+ var keys = await _etcdClient . GetKeysByPrefixAsync ( "" ) ;
62+
63+ if ( keys . Count > 0 )
64+ return [ .. keys ] ;
65+
66+ return [ .. await _etcdClient . GetKeysByPrefixAsync ( "/" ) ] ;
67+ }
68+
5969 if ( ! authEnabled )
6070 {
61- _allKeys = [ .. await _etcdClient . GetKeysByPrefixAsync ( "" ) ] ;
71+ _allKeys = await LoadAllKeysAsync ( ) ;
6272 }
6373 else
6474 {
6575 var username = _config . Username ;
6676
6777 if ( username is null )
6878 {
69- _allKeys = [ .. await _etcdClient . GetKeysByPrefixAsync ( "" ) ] ;
79+ _allKeys = await LoadAllKeysAsync ( ) ;
7080 _filteredKeys = [ .. _allKeys ] ;
7181
7282 return ;
7383 }
7484
7585 var user = await _etcdClient . GetUserAsync ( username ) ;
7686
77- if ( user is null || user . Roles . Count == 0 )
87+ if ( user is null || user . Roles . Count == 0 || user . Roles . Contains ( "root" ) )
7888 {
79- _allKeys = [ .. await _etcdClient . GetKeysByPrefixAsync ( "" ) ] ;
89+ _allKeys = await LoadAllKeysAsync ( ) ;
8090 }
8191 else
8292 {
You can’t perform that action at this time.
0 commit comments