in index.go [88:131]
func collectVisualizationFolder(app, path, source string, dashboards map[string]string, folderName string) []Visualization {
visPath := filepath.Join(path, folderName)
if _, err := os.Stat(visPath); os.IsNotExist(err) {
return nil
}
var visualizations []Visualization
files, err := ioutil.ReadDir(visPath)
if err != nil {
return nil
}
for _, file := range files {
visFilePath := filepath.Join(visPath, file.Name())
contents, err := ioutil.ReadFile(visFilePath)
if err != nil {
continue
}
var doc map[string]interface{}
if err := json.Unmarshal(contents, &doc); err != nil {
continue
}
commit, _ := getCommitData(visFilePath)
dashboardTitle, _ := dashboards[doc["id"].(string)]
desc, _ := kbncontent.DescribeVisualizationSavedObject(doc)
visualization := Visualization{
Doc: desc.Doc,
SoType: desc.SavedObjectType,
Link: desc.Link,
VisType: desc.Type(),
TSVBType: desc.TSVBType(),
VisTitle: desc.Title(),
IsLegacy: desc.IsLegacy(),
Path: visFilePath,
App: app,
Source: source,
Dashboard: dashboardTitle,
Commit: commit,
}
visualizations = append(visualizations, visualization)
}
return visualizations
}