diff --git a/ui/src/shared/utils/TimeMachineContainer.ts b/ui/src/shared/utils/TimeMachineContainer.ts index 66084ed228..9e5408f740 100644 --- a/ui/src/shared/utils/TimeMachineContainer.ts +++ b/ui/src/shared/utils/TimeMachineContainer.ts @@ -143,6 +143,28 @@ export class TimeMachineContainer extends Container { state = {...state, queryDrafts} } + // prevents "DROP" or "DELETE" queries from being persisted. + const savable = getDeep(state, 'queryDrafts', []).filter( + ({query, type}) => { + if (type !== 'influxql') { + return true + } + + const queries = query.split(';') + let isSavable = true + for (let i = 0; i <= queries.length; i++) { + const qs = getDeep(queries, `${i}`, '').toLocaleLowerCase() + if (qs.startsWith('drop') || qs.startsWith('delete')) { + isSavable = false + } + } + + return isSavable + } + ) + + state = {...state, queryDrafts: savable} + return this.setAndPersistState(state) }