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

SharedGitlabManager => Adapt to new config usage

parent 22127072
No related branches found
No related tags found
No related merge requests found
import axios from 'axios'; import axios from 'axios';
import SharedConfig from '../config/SharedConfig.js';
import * as GitlabCore from '@gitbeaker/core'; import * as GitlabCore from '@gitbeaker/core';
import { GitbeakerRequestError } from '@gitbeaker/requester-utils'; import { GitbeakerRequestError } from '@gitbeaker/requester-utils';
import { Gitlab, PipelineSchema, ProjectSchema, UserSchema } from '@gitbeaker/rest'; import { Gitlab, PipelineSchema, ProjectSchema, UserSchema } from '@gitbeaker/rest';
...@@ -12,11 +11,11 @@ class SharedGitlabManager { ...@@ -12,11 +11,11 @@ class SharedGitlabManager {
setToken(token: string) { setToken(token: string) {
this.api = new Gitlab(Object.assign({ this.api = new Gitlab(Object.assign({
host: SharedConfig.gitlab.URL host: this.gitlabUrl ?? ''
}, this.refreshTokenFunction ? { oauthToken: token } : { token: token })); }, this.refreshTokenFunction ? { oauthToken: token } : { token: token }));
} }
constructor(token: string, refreshTokenFunction?: () => Promise<string>) { constructor(public gitlabUrl: string, token: string, public clientId?: string, public urlRedirect?: string, public urlToken?: string, refreshTokenFunction?: () => Promise<string>) {
this.refreshTokenFunction = refreshTokenFunction; this.refreshTokenFunction = refreshTokenFunction;
this.setToken(token); this.setToken(token);
} }
...@@ -36,13 +35,17 @@ class SharedGitlabManager { ...@@ -36,13 +35,17 @@ class SharedGitlabManager {
} }
async getTokens(codeOrRefresh: string, isRefresh: boolean = false, clientSecret: string = ''): Promise<GitlabToken> { async getTokens(codeOrRefresh: string, isRefresh: boolean = false, clientSecret: string = ''): Promise<GitlabToken> {
const response = await axios.post<GitlabToken>(SharedConfig.login.gitlab.url.token, { if ( !this.urlToken ) {
client_id : SharedConfig.login.gitlab.client.id, throw new Error('Error when initializing GitlabManager');
}
const response = await axios.post<GitlabToken>(this.urlToken, {
client_id : this.clientId,
client_secret: clientSecret, client_secret: clientSecret,
grant_type : isRefresh ? 'refresh_token' : 'authorization_code', grant_type : isRefresh ? 'refresh_token' : 'authorization_code',
refresh_token: codeOrRefresh, refresh_token: codeOrRefresh,
code : codeOrRefresh, code : codeOrRefresh,
redirect_uri : SharedConfig.login.gitlab.url.redirect redirect_uri : this.urlRedirect
}); });
return response.data; return response.data;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment