func (structure *AppStructure) GetAllActive(rootID string) ([]AppStructureObject, error) {
	rootObj, ok := structure.Objects[rootID]
	if !ok {
		return nil, AppStructureObjectNotFoundError(rootID)
	}
	return structure.addActive(rootObj), nil
}
GetAllActive objects including root and all children
package appstructure
import (
	"encoding/json"
	"github.com/qlik-oss/enigma-go/v2"
	"github.com/qlik-oss/gopherciser/enummap"
)
type (
	MetaDef struct {
		Title string `json:"title,omitempty"`
		Description string `json:"description,omitempty"`
		Tags []string `json:"tags,omitempty"`
	}
	AppObjectDef struct {
		Id string `json:"id"`
		Type string `json:"type"`
	}
	SheetObjectMeta struct {
		Published bool `json:"published"`
		Approved  bool `json:"approved"`
	}
	AppStructureMeasureMeta struct {
		Meta *MetaDef `json:"meta,omitempty"`
		LibraryId string `json:"libraryId,omitempty"`
		Label string `json:"label,omitempty"`
		Def string `json:"def,omitempty"`
	}
	AppStructureDimensionMeta struct {
		Meta *MetaDef `json:"meta,omitempty"`
		LibraryId string `json:"libraryId,omitempty"`
		LabelExpression string `json:"labelExpression,omitempty"`
		Defs []string `json:"defs,omitempty"`
		Labels []string `json:"labels,omitempty"`
	}
	AppStructureObjectChildren struct {
		Map map[string]string `json:"children,omitempty"`
	}
	AppStructureObject struct {
		AppObjectDef
		MetaDef
		*SheetObjectMeta
		AppStructureObjectChildren
		RawBaseProperties json.RawMessage `json:"rawBaseProperties,omitempty"`
		RawExtendedProperties json.RawMessage `json:"rawExtendedProperties,omitempty"`
		RawGeneratedProperties json.RawMessage `json:"rawGeneratedProperties,omitempty"`
		Selectable bool `json:"selectable"`
		Dimensions []AppStructureDimensionMeta `json:"dimensions,omitempty"`
		Measures []AppStructureMeasureMeta `json:"measures,omitempty"`
		ExtendsId string `json:"extendsId,omitempty"`
		Visualization string `json:"visualization,omitempty"`
	}
	AppStructureAppMeta struct {
		Title string `json:"title"`
		Guid string `json:"guid"`
	}
	AppStructureBookmark struct {
		ID string `json:"id"`
		Title string `json:"title"`
		Description string `json:"description"`
		SheetId *string `json:"sheetId,omitempty"`
		SelectionFields interface{} `json:"selectionFields"`
		RawProperties json.RawMessage `json:"rawProperties,omitempty"`
	}
	AppStructureStoryObject struct {
		AppObjectDef
		AppStructureObjectChildren
		RawProperties json.RawMessage `json:"rawProperties,omitempty"`
		Visualization string `json:"visualization,omitempty"`
		SnapshotID string `json:"snapshotid,omitempty"`
		RawSnapShotProperties json.RawMessage `json:"rawSnapshotProperties,omitempty"`
	}
	AppStructureField struct {
		enigma.NxFieldDescription
	}
	AppStructure struct {
		AppMeta AppStructureAppMeta `json:"meta"`
		Objects map[string]AppStructureObject `json:"objects"`
		Bookmarks map[string]AppStructureBookmark `json:"bookmarks"`
		Fields map[string]AppStructureField `json:"fields"`
		StoryObjects map[string]AppStructureStoryObject `json:"storyobjects"`
	}
	AppStructurePopulatedObjects struct {
		Parent string
		Objects []AppStructureObject
		Bookmarks []AppStructureBookmark
	}
	ObjectType                         int
	AppStructureObjectNotFoundError    string
	AppStructureNoScenarioActionsError struct{}
)
const (
	ObjectTypeDefault ObjectType = iota
	ObjectTypeDimension
	ObjectTypeMeasure
	ObjectTypeBookmark
	ObjectTypeMasterObject
	ObjectTypeAutoChart
	ObjectSheet
	ObjectLoadModel
	ObjectAppprops
	ObjectAlertBookmark
	ObjectHiddenBookmark
	ObjectSnapshotList
	ObjectSnapshot
	ObjectEmbeddedSnapshot
	ObjectStory
	ObjectSlide
	ObjectSlideItem
)
var (
	ObjectTypeEnumMap = enummap.NewEnumMapOrPanic(map[string]int{
		"dimension":        int(ObjectTypeDimension),
		"measure":          int(ObjectTypeMeasure),
		"bookmark":         int(ObjectTypeBookmark),
		"masterobject":     int(ObjectTypeMasterObject),
		"auto-chart":       int(ObjectTypeAutoChart),
		"sheet":            int(ObjectSheet),
		"loadmodel":        int(ObjectLoadModel),
		"appprops":         int(ObjectAppprops),
		"snapshotlist":     int(ObjectSnapshotList),
		"snapshot":         int(ObjectSnapshot),
		"embeddedsnapshot": int(ObjectEmbeddedSnapshot),
		"story":            int(ObjectStory),
		"slide":            int(ObjectSlide),
		"slideitem":        int(ObjectSlideItem),
		"alertbookmark":    int(ObjectAlertBookmark),
		"hiddenbookmark":   int(ObjectHiddenBookmark),
	})
)
func (err AppStructureObjectNotFoundError) Error() string {
	return string(err)
}
func (err AppStructureNoScenarioActionsError) Error() string {
	return "no applicable actions in scenario"
}