Use /rules to create tickscripts
parent
1b7fcfdb45
commit
9d5e1329c2
|
@ -19,6 +19,19 @@ export const createRule = (kapacitor, rule) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const createTickScript = async (kapacitor, rule) => {
|
||||||
|
try {
|
||||||
|
return await AJAX({
|
||||||
|
method: 'POST',
|
||||||
|
url: kapacitor.links.rules,
|
||||||
|
data: rule,
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export const getRules = kapacitor => {
|
export const getRules = kapacitor => {
|
||||||
return AJAX({
|
return AJAX({
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
|
@ -65,12 +78,12 @@ export const createTask = async (kapacitor, {id, dbrps, script, type}) => {
|
||||||
try {
|
try {
|
||||||
return await AJAX({
|
return await AJAX({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: kapacitor.links.tasks,
|
url: kapacitor.links.rules,
|
||||||
data: {
|
data: {
|
||||||
id,
|
id,
|
||||||
type,
|
type,
|
||||||
dbrps,
|
dbrps,
|
||||||
script,
|
tickscript: script,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
@ -2,34 +2,19 @@ import React, {PropTypes} from 'react'
|
||||||
import SourceIndicator from 'shared/components/SourceIndicator'
|
import SourceIndicator from 'shared/components/SourceIndicator'
|
||||||
import TickscriptType from 'src/kapacitor/components/TickscriptType'
|
import TickscriptType from 'src/kapacitor/components/TickscriptType'
|
||||||
import MultiSelectDBDropdown from 'shared/components/MultiSelectDBDropdown'
|
import MultiSelectDBDropdown from 'shared/components/MultiSelectDBDropdown'
|
||||||
import TickscrtiptNewID, {
|
|
||||||
TickscriptEditID,
|
|
||||||
} from 'src/kapacitor/components/TickscriptID'
|
|
||||||
const addName = list => list.map(l => ({...l, name: `${l.db}.${l.rp}`}))
|
const addName = list => list.map(l => ({...l, name: `${l.db}.${l.rp}`}))
|
||||||
|
|
||||||
const TickscriptHeader = ({
|
const TickscriptHeader = ({
|
||||||
task: {id, type, dbrps},
|
task: {type, dbrps},
|
||||||
source: {name},
|
source: {name},
|
||||||
onSave,
|
onSave,
|
||||||
isEditing,
|
|
||||||
onStopEdit,
|
|
||||||
onStartEdit,
|
|
||||||
onChangeType,
|
onChangeType,
|
||||||
onSelectDbrps,
|
onSelectDbrps,
|
||||||
isNewTickscript,
|
|
||||||
}) =>
|
}) =>
|
||||||
<div className="page-header">
|
<div className="page-header">
|
||||||
<div className="page-header__container">
|
<div className="page-header__container">
|
||||||
<div className="page-header__left">
|
<div className="page-header__left" />
|
||||||
{isNewTickscript
|
|
||||||
? <TickscrtiptNewID
|
|
||||||
isEditing={isEditing}
|
|
||||||
onStopEdit={onStopEdit}
|
|
||||||
onStartEdit={onStartEdit}
|
|
||||||
isNewTickscript={isNewTickscript}
|
|
||||||
/>
|
|
||||||
: <TickscriptEditID id={id} />}
|
|
||||||
</div>
|
|
||||||
<div className="page-header__right">
|
<div className="page-header__right">
|
||||||
<SourceIndicator sourceName={name} />
|
<SourceIndicator sourceName={name} />
|
||||||
<TickscriptType type={type} onChangeType={onChangeType} />
|
<TickscriptType type={type} onChangeType={onChangeType} />
|
||||||
|
@ -60,9 +45,6 @@ TickscriptHeader.propTypes = {
|
||||||
}),
|
}),
|
||||||
onChangeType: func.isRequired,
|
onChangeType: func.isRequired,
|
||||||
isEditing: bool.isRequired,
|
isEditing: bool.isRequired,
|
||||||
onStartEdit: func.isRequired,
|
|
||||||
onStopEdit: func.isRequired,
|
|
||||||
isNewTickscript: bool.isRequired,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default TickscriptHeader
|
export default TickscriptHeader
|
||||||
|
|
|
@ -59,17 +59,23 @@ class TickscriptPage extends Component {
|
||||||
} = this.props
|
} = this.props
|
||||||
|
|
||||||
let response
|
let response
|
||||||
if (this._isEditing()) {
|
|
||||||
response = await updateTask(kapacitor, task, ruleID)
|
|
||||||
} else {
|
|
||||||
response = await createTask(kapacitor, task)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (response && response.error) {
|
try {
|
||||||
return this.setState({validation: response.error})
|
if (this._isEditing()) {
|
||||||
}
|
response = await updateTask(kapacitor, task, ruleID)
|
||||||
|
} else {
|
||||||
|
response = await createTask(kapacitor, task)
|
||||||
|
}
|
||||||
|
|
||||||
router.push(`/sources/${source.id}/alert-rules`)
|
if (response && response.code === 500) {
|
||||||
|
return this.setState({validation: response.message})
|
||||||
|
}
|
||||||
|
|
||||||
|
router.push(`/sources/${source.id}/alert-rules`)
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
throw error
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
handleChangeScript = script => {
|
handleChangeScript = script => {
|
||||||
|
|
Loading…
Reference in New Issue