diff --git a/managers/SharedSonarManager.ts b/managers/SharedSonarManager.ts index 51692021a4e10692d6bec76510926473016861c3..00f623dca2c4a4c5f7aa078b527b44118780bda6 100644 --- a/managers/SharedSonarManager.ts +++ b/managers/SharedSonarManager.ts @@ -1,6 +1,7 @@ import axios from 'axios'; import https from 'https'; import SharedConfig from '../config/SharedConfig'; +import { Language } from '@prisma/client'; class SharedSonarManager { @@ -22,6 +23,22 @@ class SharedSonarManager { return false; } } + + /** + * Map a language name to the equivalent language ID in Sonar + * Most language have the same name, so by default the same name is returned, even for languages that doesn't exist in sonar. + * @param language + */ + mapLanguage(language: Language): string { + switch (language) { + case Language.csharp: + return "cs"; + case Language.python: + return "py"; + default: + return language; + } + } } export default new SharedSonarManager(); \ No newline at end of file diff --git a/types/Sonar/SonarRoute.ts b/types/Sonar/SonarRoute.ts index ecfab74c2775e56e0d5f816c8ade9af4794c52d3..eb59406dd6fde17507a37dbd7067eb4aec058c10 100644 --- a/types/Sonar/SonarRoute.ts +++ b/types/Sonar/SonarRoute.ts @@ -1,6 +1,7 @@ enum SonarRoute { SET_PAT = '/api/alm_integrations/set_pat', - PROJECT_CREATE_GITLAB = '/api/alm_integrations/import_gitlab_project' + PROJECT_CREATE_GITLAB = '/api/alm_integrations/import_gitlab_project', + GET_LANGUAGES = '/api/languages/list' } export default SonarRoute; \ No newline at end of file