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

Correct imports (from submodules)

parent 7b322f40
No related branches found
No related tags found
No related merge requests found
import axios, { AxiosError } from 'axios';
import ora from 'ora';
import ApiRoutes from '../sharedByClients/types/ApiRoutes';
import ApiRoute from '../sharedByClients/types/Dojo/ApiRoute';
import { StatusCodes } from 'http-status-codes';
import Enonce from '../sharedByClients/models/Enonce';
import GitlabUser from '../shared/types/Gitlab/GitlabUser';
......@@ -10,13 +10,13 @@ import ClientsSharedConfig from '../sharedByClients/config/ClientsSharedConfig
class DojoBackendManager {
public getApiUrl(route: ApiRoutes): string {
public getApiUrl(route: ApiRoute): string {
return `${ ClientsSharedConfig.apiURL }${ route }`;
}
public async getEnonce(nameOrUrl: string): Promise<Enonce | undefined> {
try {
return (await axios.get<DojoResponse<Enonce>>(this.getApiUrl(ApiRoutes.ENONCE_GET).replace('{{nameOrUrl}}', encodeURIComponent(nameOrUrl)))).data.data;
return (await axios.get<DojoResponse<Enonce>>(this.getApiUrl(ApiRoute.ENONCE_GET).replace('{{nameOrUrl}}', encodeURIComponent(nameOrUrl)))).data.data;
} catch ( error ) {
return undefined;
}
......@@ -31,7 +31,7 @@ class DojoBackendManager {
}
try {
await axios.get(this.getApiUrl(ApiRoutes.GITLAB_CHECK_TEMPLATE_ACCESS).replace('{{id}}', idOrNamespace));
await axios.get(this.getApiUrl(ApiRoute.GITLAB_CHECK_TEMPLATE_ACCESS).replace('{{id}}', idOrNamespace));
if ( verbose ) {
spinner.succeed('Template access granted');
......@@ -67,7 +67,7 @@ class DojoBackendManager {
}
try {
const response = await axios.post<DojoResponse<Enonce>>(this.getApiUrl(ApiRoutes.ENONCE_CREATE), Object.assign({
const response = await axios.post<DojoResponse<Enonce>>(this.getApiUrl(ApiRoute.ENONCE_CREATE), Object.assign({
name : name,
members: JSON.stringify(members)
}, templateIdOrNamespace ? { template: templateIdOrNamespace } : {}));
......@@ -104,7 +104,7 @@ class DojoBackendManager {
}
try {
const response = await axios.post<DojoResponse<Exercice>>(this.getApiUrl(ApiRoutes.EXERCICE_CREATE).replace('{{nameOrUrl}}', encodeURIComponent(enonceName)), { members: JSON.stringify(members) });
const response = await axios.post<DojoResponse<Exercice>>(this.getApiUrl(ApiRoute.EXERCICE_CREATE).replace('{{nameOrUrl}}', encodeURIComponent(enonceName)), { members: JSON.stringify(members) });
if ( verbose ) {
spinner.succeed(`Exercice successfully created`);
......@@ -138,7 +138,7 @@ class DojoBackendManager {
}
try {
await axios.patch<DojoResponse<null>>(this.getApiUrl(publish ? ApiRoutes.ENONCE_PUBLISH : ApiRoutes.ENONCE_UNPUBLISH).replace('{{nameOrUrl}}', encodeURIComponent(enonce.name)), {});
await axios.patch<DojoResponse<null>>(this.getApiUrl(publish ? ApiRoute.ENONCE_PUBLISH : ApiRoute.ENONCE_UNPUBLISH).replace('{{nameOrUrl}}', encodeURIComponent(enonce.name)), {});
if ( verbose ) {
spinner.succeed(`Enonce ${ enonce.name } successfully ${ publish ? 'published' : 'unpublished' }`);
......
......@@ -3,14 +3,14 @@ import LocalConfigKeys from '../types/LocalConfigKeys';
import axios from 'axios';
import ora from 'ora';
import GitlabUser from '../shared/types/Gitlab/GitlabUser';
import GitlabRoutes from '../shared/types/Gitlab/GitlabRoutes';
import GitlabRoute from '../shared/types/Gitlab/GitlabRoute';
import ClientsSharedConfig from '../sharedByClients/config/ClientsSharedConfig';
class GitlabManager {
private _token: string | null = null;
private getApiUrl(route: GitlabRoutes): string {
private getApiUrl(route: GitlabRoute): string {
return `${ ClientsSharedConfig.gitlab.apiURL }${ route }`;
}
......@@ -107,11 +107,11 @@ class GitlabManager {
}
public getNotificationSettings() {
return axios.get(this.getApiUrl(GitlabRoutes.NOTIFICATION_SETTINGS));
return axios.get(this.getApiUrl(GitlabRoute.NOTIFICATION_SETTINGS));
}
public setNotificationSettings(newSettings: any) {
return axios.put(this.getApiUrl(GitlabRoutes.NOTIFICATION_SETTINGS), { params: new URLSearchParams(newSettings) });
return axios.put(this.getApiUrl(GitlabRoute.NOTIFICATION_SETTINGS), { params: new URLSearchParams(newSettings) });
}
private async getGitlabUsers(paramsToSearch: Array<string | number>, paramName: string, verbose: boolean = false, verboseIndent: number = 0): Promise<Array<GitlabUser | undefined>> {
......@@ -126,7 +126,7 @@ class GitlabManager {
}
const params: any = {};
params[paramName] = param;
const user = await axios.get<Array<GitlabUser>>(this.getApiUrl(GitlabRoutes.USERS_GET), { params: params });
const user = await axios.get<Array<GitlabUser>>(this.getApiUrl(GitlabRoute.USERS_GET), { params: params });
if ( user.data[0] ) {
const gitlabUser = user.data[0];
......@@ -155,7 +155,7 @@ class GitlabManager {
}
public async getRepository(repoId: number): Promise<any> {
return await axios.get(this.getApiUrl(GitlabRoutes.REPOSITORY_GET).replace('{{id}}', repoId.toString()));
return await axios.get(this.getApiUrl(GitlabRoute.REPOSITORY_GET).replace('{{id}}', repoId.toString()));
}
public async fetchMembers(options: any): Promise<Array<GitlabUser> | false> {
......
......@@ -6,7 +6,7 @@ import axios, { AxiosError } from 'axios';
import HttpManager from './HttpManager';
import ora from 'ora';
import Permissions from '../types/Permissions';
import ApiRoutes from '../sharedByClients/types/ApiRoutes';
import ApiRoute from '../sharedByClients/types/Dojo/ApiRoute';
import DojoBackendManager from './DojoBackendManager';
import { StatusCodes } from 'http-status-codes';
......@@ -45,7 +45,7 @@ class SessionManager {
try {
this.profile = undefined;
const response = await axios.post(DojoBackendManager.getApiUrl(ApiRoutes.LOGIN), {
const response = await axios.post(DojoBackendManager.getApiUrl(ApiRoute.LOGIN), {
user : user,
password: password
});
......@@ -108,7 +108,7 @@ class SessionManager {
}
try {
await axios.get(DojoBackendManager.getApiUrl(ApiRoutes.TEST_SESSION), {});
await axios.get(DojoBackendManager.getApiUrl(ApiRoute.TEST_SESSION), {});
if ( verbose ) {
spinner.succeed(`The session is valid`);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment