File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed
Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -57,15 +57,29 @@ class owner extends Base {
5757 this . get ( `groups` )
5858 . then ( groups => {
5959 if ( groups . body . length === 0 ) return resolve ( ) ;
60- let filtered = groups . body . filter ( u => this . groups . map ( g => g . id ) . indexOf ( u . parent_id ) !== - 1 ) ;
60+
61+ let filtered = this . _filterGroupsByParents ( groups . body , this . groups . map ( g => g . id ) ) ;
6162 if ( filtered . length === 0 ) return resolve ( ) ;
63+
6264 this . groups = this . groups . concat ( filtered ) ;
6365 resolve ( ) ;
6466 } )
6567 . catch ( e => reject ( e ) ) ;
6668 } ) ;
6769 }
6870
71+ _filterGroupsByParents ( groups , parents ) {
72+ let filtered = groups . filter ( group => {
73+ return parents . indexOf ( group . parent_id ) !== - 1 ;
74+ } ) ;
75+
76+ if ( filtered . length !== 0 ) {
77+ filtered = filtered . concat ( this . _filterGroupsByParents ( groups , filtered . map ( g => g . id ) ) ) ;
78+ }
79+
80+ return filtered ;
81+ }
82+
6983 // /**
7084 // * query and set the user
7185 // * @returns {Promise }
You can’t perform that action at this time.
0 commit comments