diff --git a/ExpressAPI/src/managers/SonarManager.ts b/ExpressAPI/src/managers/SonarManager.ts index 3bfdc9e318cf313e0dc2e7e9fca3641f6a72a9d9..3a5808c072423bc1108b83d5f474ce1060668a47 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 3f6038304a478dbb03d56f6ec3786e61e75e8d45..786f3c554227028f1c7fc47c20ed438e1a730df9 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); }