@@ -166,34 +166,53 @@ func (gitApi GitApi) PullRepo(repository git.Repository) {
166166}
167167
168168// GetFileContent get the given content of a file from the in memory filesystem
169- func (gitApi GitApi ) GetFileContent () map [string ][]byte {
170- // read current in memory filesystem
171- files , err := gitApi .inMemoryFileSystem .ReadDir ("./" )
169+ func (gitApi GitApi ) GetFileContent () map [string ]map [ string ] []byte {
170+ // read current in memory filesystem to get dirs
171+ filesOrDirs , err := gitApi .inMemoryFileSystem .ReadDir ("./" )
172172 if err != nil {
173173 log .DefaultLogger .Error ("inMemoryFileSystem error" , "error" , err )
174174 return nil
175175 }
176176
177- fileMap := make ( map [ string ][] byte )
177+ var dirMap [] string
178178
179- for _ , file := range files {
180- log . DefaultLogger . Debug ( "File name" , "name" , file . Name ())
181- if file . IsDir () {
182- continue
179+ for _ , fileOrDir := range filesOrDirs {
180+ if fileOrDir . IsDir () {
181+ dirName := fileOrDir . Name ()
182+ dirMap = append ( dirMap , dirName )
183183 }
184+ }
184185
185- src , err := gitApi . inMemoryFileSystem . Open ( file . Name () )
186+ fileMap := make ( map [ string ] map [ string ][] byte )
186187
188+ for _ , dir := range dirMap {
189+ // read current in memory filesystem to get files
190+ files , err := gitApi .inMemoryFileSystem .ReadDir ("./" + dir + "/" )
187191 if err != nil {
188- log .DefaultLogger .Error ("inMemoryFileSystem error" , "error" , err )
192+ log .DefaultLogger .Error ("inMemoryFileSystem error" , "error" , err )
189193 return nil
190194 }
191- byteFile , err := ioutil .ReadAll (src )
192- if err != nil {
193- log .DefaultLogger .Error ("read error" , "error" , err )
194- } else {
195- fileMap [file .Name ()] = byteFile
196- src .Close ()
195+
196+ for _ , file := range files {
197+
198+ if file .IsDir () {
199+ continue
200+ }
201+
202+ src , err := gitApi .inMemoryFileSystem .Open (file .Name ())
203+
204+ if err != nil {
205+ log .DefaultLogger .Error ("inMemoryFileSystem error" , "error" , err )
206+ return nil
207+ }
208+ byteFile , err := ioutil .ReadAll (src )
209+ if err != nil {
210+ log .DefaultLogger .Error ("read error" , "error" , err )
211+ } else {
212+ fileMap [dir ] = make (map [string ][]byte )
213+ fileMap [dir ][file .Name ()] = byteFile
214+ src .Close ()
215+ }
197216 }
198217 }
199218 return fileMap
0 commit comments