func getReferencesListFromCurrentObject()

in code/go/internal/validator/semantic/validate_kibana_no_dangling_object_ids.go [123:149]


func getReferencesListFromCurrentObject(asset pkgpath.File, filePath string) ([]objectReference, error) {
	referencedIDs := []objectReference{}
	objectReferences, err := asset.Values(`$.references`)
	if err != nil {
		// no references key in dashboard json
		return referencedIDs, nil
	}

	references, err := filterReferences(objectReferences, exceptionAssets)
	if err != nil {
		return nil, fmt.Errorf("error getting references: %w", err)
	}

	if len(references) == 0 {
		return referencedIDs, nil
	}

	for _, reference := range references {
		referencedIDs = append(referencedIDs, objectReference{
			objectID:   reference.ID,
			objectType: reference.Type,
			filePath:   filePath,
		})
	}

	return referencedIDs, nil
}