1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import {Client} from 'app/api';
- import {IncidentRule, SavedIncidentRule} from './types';
- function isSavedRule(rule: IncidentRule): rule is SavedIncidentRule {
- return !!rule.id;
- }
- export async function addOrUpdateRule(
- api: Client,
- orgId: string,
- projectId: string,
- rule: IncidentRule,
- query?: object | any
- ) {
- const isExisting = isSavedRule(rule);
- const endpoint = `/projects/${orgId}/${projectId}/alert-rules/${
- isSavedRule(rule) ? `${rule.id}/` : ''
- }`;
- const method = isExisting ? 'PUT' : 'POST';
- return api.requestPromise(endpoint, {
- method,
- data: rule,
- query,
- includeAllArgs: true,
- });
- }
- export function deleteRule(
- api: Client,
- orgId: string,
- rule: SavedIncidentRule
- ): Promise<void> {
- return api.requestPromise(`/organizations/${orgId}/alert-rules/${rule.id}/`, {
- method: 'DELETE',
- });
- }
|