From c574fcaf9abd344df06d4f88873d8cd21c6b7483 Mon Sep 17 00:00:00 2001 From: Joel von der Weid <joel.von-der-weid@hesge.ch> Date: Mon, 22 Apr 2024 15:42:50 +0200 Subject: [PATCH] Add languages to sonar route --- ExpressAPI/src/managers/SonarManager.ts | 16 +++++++++++++--- ExpressAPI/src/routes/BaseRoutes.ts | 4 +++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ExpressAPI/src/managers/SonarManager.ts b/ExpressAPI/src/managers/SonarManager.ts index 3bfdc9e..3a5808c 100644 --- a/ExpressAPI/src/managers/SonarManager.ts +++ b/ExpressAPI/src/managers/SonarManager.ts @@ -34,9 +34,7 @@ class SonarManager { } private async executePostRequest<T>(url: string, data?: FormData) { - console.log("dhdidid"); await this.setPAT(); // Always set PAT to be sure it has been set - console.log("hehe",btoa(SharedConfig.sonar.token)); return (await this.instance.post<T>(url, data, { headers: { @@ -45,14 +43,26 @@ class SonarManager { })).data; } + private async executeGetRequest<T>(url: string) { + return (await this.instance.get<T>(url, { + headers: { + Authorization: `Basic ${ btoa(SharedConfig.sonar.token + ":") }` + } + })).data; + } + async createProjectFromGitlab(projectId: number) { const formData = new FormData(); formData.append('almSetting', 'dojo'); formData.append('gitlabProjectId', projectId.toString()); - console.log(formData); return await this.executePostRequest<SonarProjectCreation>(this.getApiUrl(SonarRoute.PROJECT_CREATE_GITLAB), formData) } + + async getLanguages() { + const resp = await this.executeGetRequest<{ languages: { key: string, name: string }[]}>(this.getApiUrl(SonarRoute.GET_LANGUAGES)) + return resp.languages.map(l => l.key) + } } export default new SonarManager(); \ No newline at end of file diff --git a/ExpressAPI/src/routes/BaseRoutes.ts b/ExpressAPI/src/routes/BaseRoutes.ts index 3f60383..786f3c5 100644 --- a/ExpressAPI/src/routes/BaseRoutes.ts +++ b/ExpressAPI/src/routes/BaseRoutes.ts @@ -6,6 +6,7 @@ import Config from '../config/Config'; import SharedConfig from '../shared/config/SharedConfig'; import GlobalHelper from '../helpers/GlobalHelper'; import SharedSonarManager from '../shared/managers/SharedSonarManager'; +import SonarManager from '../managers/SonarManager'; class BaseRoutes implements RoutesManager { @@ -38,7 +39,8 @@ class BaseRoutes implements RoutesManager { private async sonar(req: express.Request, res: express.Response) { const data = { - sonarEnabled: await SharedSonarManager.isSonarSupported() + sonarEnabled: await SharedSonarManager.isSonarSupported(), + languages: await SonarManager.getLanguages() }; return req.session.sendResponse(res, StatusCodes.OK, data); } -- GitLab