func collectVisualizationFolder()

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
}