Make sure index pattern has fields before parsing (#58242) (#58267)

This commit is contained in:
Aaron Caldwell 2020-02-21 14:40:45 -07:00 committed by GitHub
parent 5ccc0b62c4
commit df4f90633e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -38,7 +38,11 @@ function getUniqueLayerCounts(layerCountsList, mapsCount) {
}
function getIndexPatternsWithGeoFieldCount(indexPatterns) {
const fieldLists = indexPatterns.map(indexPattern => JSON.parse(indexPattern.attributes.fields));
const fieldLists = indexPatterns.map(indexPattern =>
indexPattern.attributes && indexPattern.attributes.fields
? JSON.parse(indexPattern.attributes.fields)
: []
);
const fieldListsWithGeoFields = fieldLists.filter(fields => {
return fields.some(
field =>
@ -50,7 +54,9 @@ function getIndexPatternsWithGeoFieldCount(indexPatterns) {
export function buildMapsTelemetry({ mapSavedObjects, indexPatternSavedObjects, settings }) {
const layerLists = mapSavedObjects.map(savedMapObject =>
JSON.parse(savedMapObject.attributes.layerListJSON)
savedMapObject.attributes && savedMapObject.attributes.layerListJSON
? JSON.parse(savedMapObject.attributes.layerListJSON)
: []
);
const mapsCount = layerLists.length;