From ed57c9f001c5bde678a37f4af6b40ffc8b1f312a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Mon, 3 Jul 2023 16:47:13 +0200 Subject: [PATCH] Update shared --- .../commander/enonce/EnonceCreateCommand.ts | 2 +- NodeApp/src/managers/GitlabManager.ts | 19 ++++++++++++------- NodeApp/src/shared | 2 +- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts index ec43c65..262dcc3 100644 --- a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts +++ b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts @@ -5,8 +5,8 @@ import GitlabManager from '../../managers/GitlabManager'; import SessionManager from '../../managers/SessionManager'; import GitlabUser from '../../shared/types/Gitlab/GitlabUser'; import DojoBackendManager from '../../managers/DojoBackendManager'; -import Toolbox from '../../shared/Toolbox'; import Enonce from '../../types/Enonce'; +import Toolbox from '../../shared/helpers/Toolbox'; class EnonceCreateCommand extends CommanderCommand { diff --git a/NodeApp/src/managers/GitlabManager.ts b/NodeApp/src/managers/GitlabManager.ts index bb12aeb..70007fb 100644 --- a/NodeApp/src/managers/GitlabManager.ts +++ b/NodeApp/src/managers/GitlabManager.ts @@ -4,6 +4,7 @@ import axios from 'axios'; import Config from '../config/Config'; import ora from 'ora'; import GitlabUser from '../shared/types/Gitlab/GitlabUser'; +import GitlabRoutes from '../shared/types/Gitlab/GitlabRoutes'; class GitlabManager { @@ -21,6 +22,10 @@ class GitlabManager { return GitlabManager._instance; } + private getApiUrl(route: GitlabRoutes): string { + return `${ Config.gitlab.apiURL }${ route }`; + } + get isLogged(): boolean { return this._token !== null; } @@ -114,14 +119,14 @@ class GitlabManager { } public getNotificationSettings() { - return axios.get(`${ Config.gitlab.apiURL }/notification_settings`); + return axios.get(this.getApiUrl(GitlabRoutes.NOTIFICATION_SETTINGS)); } public setNotificationSettings(newSettings: any) { - return axios.put(`${ Config.gitlab.apiURL }/notification_settings`, { params: new URLSearchParams(newSettings) }); + return axios.put(this.getApiUrl(GitlabRoutes.NOTIFICATION_SETTINGS), { params: new URLSearchParams(newSettings) }); } - private async getGitlabUser(paramsToSearch: Array<string | number>, paramName: string, verbose: boolean = false, verboseIndent: number = 0): Promise<Array<GitlabUser | undefined>> { + private async getGitlabUsers(paramsToSearch: Array<string | number>, paramName: string, verbose: boolean = false, verboseIndent: number = 0): Promise<Array<GitlabUser | undefined>> { try { return await Promise.all(paramsToSearch.map(async param => { const spinner: ora.Ora = ora({ @@ -133,7 +138,7 @@ class GitlabManager { } const params: any = {}; params[paramName] = param; - const user = await axios.get<Array<GitlabUser>>(`${ Config.gitlab.apiURL }/users`, { params: params }); + const user = await axios.get<Array<GitlabUser>>(this.getApiUrl(GitlabRoutes.USERS_GET), { params: params }); if ( user.data[0] ) { const gitlabUser = user.data[0]; @@ -154,15 +159,15 @@ class GitlabManager { } public async getUsersById(ids: Array<number>, verbose: boolean = false, verboseIndent: number = 0): Promise<Array<GitlabUser | undefined>> { - return await this.getGitlabUser(ids, 'id', verbose, verboseIndent); + return await this.getGitlabUsers(ids, 'id', verbose, verboseIndent); } public async getUsersByUsername(usernames: Array<string>, verbose: boolean = false, verboseIndent: number = 0): Promise<Array<GitlabUser | undefined>> { - return await this.getGitlabUser(usernames, 'search', verbose, verboseIndent); + return await this.getGitlabUsers(usernames, 'search', verbose, verboseIndent); } public async getRepository(repoId: number): Promise<any> { - return await axios.get(`${ Config.gitlab.apiURL }/projects/${ repoId }`); + return await axios.get(this.getApiUrl(GitlabRoutes.REPOSITORY_GET).replace('{{id}}', repoId.toString())); } public async fetchMembers(options: any): Promise<Array<GitlabUser> | false> { diff --git a/NodeApp/src/shared b/NodeApp/src/shared index 3d61366..aa038f2 160000 --- a/NodeApp/src/shared +++ b/NodeApp/src/shared @@ -1 +1 @@ -Subproject commit 3d6136619804a215db7488756a7bea4f5ff56513 +Subproject commit aa038f29e4595c631084935ea5e3e4846ceea1b1 -- GitLab