func getCategoriesOutput()

in categories.go [220:244]


func getCategoriesOutput(ctx context.Context, categories map[string]*packages.Category) ([]byte, error) {
	span, _ := apm.StartSpan(ctx, "GetCategoriesOutput", "app")
	defer span.End()

	var keys []string
	for k := range categories {
		keys = append(keys, k)
	}
	sort.Strings(keys)

	outputCategories := []*packages.Category{}
	for _, k := range keys {
		c := categories[k]
		if category, ok := packages.Categories[c.Title]; ok {
			c.Title = category.Title
			if parent := category.Parent; parent != nil {
				c.ParentId = parent.Name
				c.ParentTitle = parent.Title
			}
		}
		outputCategories = append(outputCategories, c)
	}

	return util.MarshalJSONPretty(outputCategories)
}