]> source.dussan.org Git - sonarqube.git/commitdiff
Improve code quality
authorWouter Admiraal <wouter.admiraal@sonarsource.com>
Mon, 15 Feb 2021 09:06:17 +0000 (10:06 +0100)
committersonartech <sonartech@sonarsource.com>
Mon, 15 Feb 2021 20:07:04 +0000 (20:07 +0000)
server/sonar-web/src/main/js/api/rules.ts
server/sonar-web/src/main/js/apps/quality-gates/components/CopyQualityGateForm.tsx
server/sonar-web/src/main/js/types/issues.ts

index 2f6beb58407aae41e6be7a32ad937da260c1eea2..3dd2448d96e1fb462d6c68af2d5a9a11fb50384b 100644 (file)
@@ -25,12 +25,39 @@ export function getRulesApp(): Promise<GetRulesAppResponse> {
   return getJSON('/api/rules/app').catch(throwGlobalError);
 }
 
-export function searchRules(data: { [x: string]: any }): Promise<SearchRulesResponse> {
+export function searchRules(data: {
+  activation?: boolean | string;
+  active_severities?: string;
+  asc?: boolean | string;
+  available_since?: string;
+  cwe?: string;
+  f?: string;
+  facets?: string;
+  include_external?: boolean | string;
+  inheritance?: string;
+  is_template?: boolean | string;
+  languages?: string;
+  owaspTop10?: string;
+  p?: number;
+  ps?: number;
+  q?: string;
+  qprofile?: string;
+  repositories?: string;
+  rule_key?: string;
+  s?: string;
+  sansTop25?: string;
+  severities?: string;
+  sonarsourceSecurity?: string;
+  statuses?: string;
+  tags?: string;
+  template_key?: string;
+  types?: string;
+}): Promise<SearchRulesResponse> {
   return getJSON('/api/rules/search', data).catch(throwGlobalError);
 }
 
-export function takeFacet(response: any, property: string) {
-  const facet = response.facets.find((facet: any) => facet.property === property);
+export function takeFacet(response: SearchRulesResponse, property: string) {
+  const facet = response.facets?.find(f => f.property === property);
   return facet ? facet.values : [];
 }
 
index 4c72bb926a24c0e47699c73fa46313d8626df951..d8d950846bc9edd68a9b6965ad664bb2e8e2e686 100644 (file)
@@ -53,9 +53,9 @@ export class CopyQualityGateForm extends React.PureComponent<Props, State> {
       return undefined;
     }
 
-    return copyQualityGate({ id: qualityGate.id, name }).then(qualityGate => {
+    return copyQualityGate({ id: qualityGate.id, name }).then(newQualityGate => {
       this.props.onCopy();
-      this.props.router.push(getQualityGateUrl(String(qualityGate.id)));
+      this.props.router.push(getQualityGateUrl(String(newQualityGate.id)));
     });
   };
 
index 0e137ef40597cf9e21e259e51f197c07a514c53b..b7252e20dadd5605667733a9bb0d2d938ddd6096 100644 (file)
@@ -30,16 +30,15 @@ export enum IssueScope {
 }
 
 interface Comment {
+  createdAt: string;
+  htmlText: string;
+  key: string;
   login: string;
-  [x: string]: any;
+  markdown: string;
+  updatable: boolean;
 }
 
-interface IssueBase {
-  severity: string;
-  [x: string]: any;
-}
-
-export interface RawIssue extends IssueBase {
+export interface RawIssue {
   assignee?: string;
   author?: string;
   comments?: Array<Comment>;
@@ -52,6 +51,7 @@ export interface RawIssue extends IssueBase {
   line?: number;
   project: string;
   rule: string;
+  severity: string;
   status: string;
   subProject?: string;
   textRange?: T.TextRange;