Skip to content
Snippets Groups Projects
Commit ed57c9f0 authored by michael.minelli's avatar michael.minelli
Browse files

Update shared

parent 537e215d
No related branches found
No related tags found
No related merge requests found
......@@ -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 {
......
......@@ -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> {
......
Subproject commit 3d6136619804a215db7488756a7bea4f5ff56513
Subproject commit aa038f29e4595c631084935ea5e3e4846ceea1b1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment