From: Grégoire Aubert Date: Wed, 23 May 2018 11:57:07 +0000 (+0200) Subject: fix Condition typing X-Git-Tag: 7.5~1151 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b68330a93e71d9a2c3c6697213d78cdbcb99e739;p=sonarqube.git fix Condition typing --- diff --git a/server/sonar-web/src/main/js/api/quality-gates.ts b/server/sonar-web/src/main/js/api/quality-gates.ts index 490b48c22b1..d2f212bd457 100644 --- a/server/sonar-web/src/main/js/api/quality-gates.ts +++ b/server/sonar-web/src/main/js/api/quality-gates.ts @@ -19,7 +19,7 @@ */ import { getJSON, post, postJSON } from '../helpers/request'; import throwGlobalError from '../app/utils/throwGlobalError'; -import { Condition, Metric, QualityGate } from '../app/types'; +import { Condition, Metric, QualityGate, Omit } from '../app/types'; export function fetchQualityGates(data: { organization?: string; @@ -78,7 +78,7 @@ export function createCondition( data: { gateId: number; organization?: string; - } & Condition + } & Omit ): Promise { return postJSON('/api/qualitygates/create_condition', data); } diff --git a/server/sonar-web/src/main/js/app/types.ts b/server/sonar-web/src/main/js/app/types.ts index 1967bb2497e..11e29502c06 100644 --- a/server/sonar-web/src/main/js/app/types.ts +++ b/server/sonar-web/src/main/js/app/types.ts @@ -84,7 +84,7 @@ interface ComponentConfiguration { export interface Condition { error: string; - id?: number; + id: number; metric: string; op?: string; period?: number; diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx index 587ce6af15f..284a0e876d5 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/Condition.tsx @@ -81,12 +81,10 @@ export default class Condition extends React.PureComponent { }; removeCondition = (condition: ICondition) => { - if (condition.id !== undefined) { - deleteCondition({ id: condition.id, organization: this.props.organization }).then( - () => this.props.onRemoveCondition(condition), - () => {} - ); - } + deleteCondition({ id: condition.id, organization: this.props.organization }).then( + () => this.props.onRemoveCondition(condition), + () => {} + ); }; render() { diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx index 7071337a79b..536fe76f0d1 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/ConditionModal.tsx @@ -23,7 +23,7 @@ import ConditionOperator from './ConditionOperator'; import ThresholdInput from './ThresholdInput'; import Period from './Period'; import { translate, getLocalizedMetricName } from '../../../helpers/l10n'; -import { Metric, QualityGate, Condition } from '../../../app/types'; +import { Metric, QualityGate, Condition, Omit } from '../../../app/types'; import { createCondition, updateCondition } from '../../../api/quality-gates'; import { isDiffMetric } from '../../../helpers/measures'; import { parseError } from '../../../helpers/request'; @@ -87,7 +87,7 @@ export default class ConditionModal extends React.PureComponent { }; getUpdatedCondition = (metric: Metric) => { - const data: Condition = { + const data: Omit = { metric: metric.key, op: metric.type === 'RATING' ? 'GT' : this.state.op, warning: this.state.warning,