From 4ab3c15032765b97828a6d30c2f3267ef0fef60d Mon Sep 17 00:00:00 2001 From: Joel von der Weid <joel.von-der-weid@hesge.ch> Date: Mon, 22 Apr 2024 15:41:13 +0200 Subject: [PATCH] Add sonar language utilities --- managers/SharedSonarManager.ts | 17 +++++++++++++++++ types/Sonar/SonarRoute.ts | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/managers/SharedSonarManager.ts b/managers/SharedSonarManager.ts index 5169202..00f623d 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 ecfab74..eb59406 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 -- GitLab