diff options
author | Grégoire Aubert <gregoire.aubert@sonarsource.com> | 2018-05-23 13:57:07 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2018-05-24 20:20:47 +0200 |
commit | b68330a93e71d9a2c3c6697213d78cdbcb99e739 (patch) | |
tree | e180e822c696aa3251f03a5a1a49319c9bb53287 | |
parent | a5484f56ceb467e5c0a2e3f705969c1822ea8109 (diff) | |
download | sonarqube-b68330a93e71d9a2c3c6697213d78cdbcb99e739.tar.gz sonarqube-b68330a93e71d9a2c3c6697213d78cdbcb99e739.zip |
fix Condition typing
4 files changed, 9 insertions, 11 deletions
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<Condition, 'id'> ): Promise<Condition> { 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<Props, State> { }; 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<Props, State> { }; getUpdatedCondition = (metric: Metric) => { - const data: Condition = { + const data: Omit<Condition, 'id'> = { metric: metric.key, op: metric.type === 'RATING' ? 'GT' : this.state.op, warning: this.state.warning, |