Access properties more safely

pull/10616/head
Christopher Henn 2018-06-20 10:02:33 -07:00
parent 2841cf902a
commit 797b214d95
3 changed files with 11 additions and 8 deletions

View File

@ -630,7 +630,9 @@ export const hydrateTempVarValuesAsync = (
)
const templates: Template[] = dashboard.templates
const queries = templates
.filter(template => !!template.query.influxql)
.filter(
template => getDeep<string>(template, 'query.influxql', '') !== ''
)
.map(async template => {
const query = makeQueryForTemplate(template.query)
const response = await proxy({source: source.links.proxy, query})

View File

@ -1,3 +1,5 @@
import {getDeep} from 'src/utils/wrappers'
interface ParseShowSeriesResponse {
errors: string[]
series: string[]
@ -10,17 +12,15 @@ const parseShowSeries = (response): ParseShowSeriesResponse => {
return {errors: [results.error], series: []}
}
const series = results.series[0]
const seriesValues = getDeep<string[]>(results, 'series.0.values', [])
if (!series.values) {
if (!seriesValues.length) {
return {errors: [], series: []}
}
const seriesValues = series.values.map(s => {
return s[0]
})
const series = seriesValues.map(s => s[0])
return {errors: [], series: seriesValues}
return {series, errors: []}
}
export default parseShowSeries

View File

@ -5,6 +5,7 @@ import {proxy} from 'src/utils/queryUrlGenerator'
import {ErrorHandling} from 'src/shared/decorators/errors'
import TemplateMetaQueryPreview from 'src/tempVars/components/TemplateMetaQueryPreview'
import {parseMetaQuery, isInvalidMetaQuery} from 'src/tempVars/utils/parsing'
import {getDeep} from 'src/utils/wrappers'
import {
TemplateBuilderProps,
@ -39,7 +40,7 @@ class CustomMetaQueryTemplateBuilder extends PureComponent<
constructor(props) {
super(props)
const metaQuery = _.get(props.template, 'query.influxql', '')
const metaQuery = getDeep<string>(props.template, 'query.influxql', '')
this.state = {
metaQuery,