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

Remove direct references to SharedGitlabManager

parent 76a0b6d6
No related branches found
No related tags found
No related merge requests found
Pipeline #30679 passed
import express from 'express';
import logger from '../shared/logging/WinstonLogger';
import GitlabManager from '../managers/GitlabManager';
import { AxiosError } from 'axios';
import { StatusCodes } from 'http-status-codes';
import DojoStatusCode from '../shared/types/Dojo/DojoStatusCode';
import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
import Config from '../config/Config';
import * as Gitlab from '@gitbeaker/rest';
import express from 'express';
import logger from '../shared/logging/WinstonLogger';
import GitlabManager from '../managers/GitlabManager';
import { AxiosError } from 'axios';
import { StatusCodes } from 'http-status-codes';
import DojoStatusCode from '../shared/types/Dojo/DojoStatusCode';
import * as Gitlab from '@gitbeaker/rest';
class GlobalHelper {
readonly sharedGitlabManager = new SharedGitlabManager(Config.gitlab.account.token);
async repositoryCreationError(message: string, error: unknown, req: express.Request, res: express.Response, gitlabError: DojoStatusCode, internalError: DojoStatusCode, repositoryToRemove?: Gitlab.ProjectSchema): Promise<void> {
logger.error(message);
logger.error(error);
......
import { Prisma, UserRole } from '@prisma/client';
import LazyVal from '../../../shared/helpers/LazyVal';
import * as Gitlab from '@gitbeaker/rest';
import GlobalHelper from '../../GlobalHelper';
import GitlabManager from '../../../managers/GitlabManager';
export default Prisma.defineExtension(client => {
......@@ -26,7 +26,7 @@ export default Prisma.defineExtension(client => {
},
gitlabProfile : {
compute(user) {
return new LazyVal<Gitlab.UserSchema | undefined>(() => GlobalHelper.sharedGitlabManager.getUserById(user.id));
return new LazyVal<Gitlab.UserSchema | undefined>(() => GitlabManager.getUserById(user.id));
}
}
}
......
......@@ -6,21 +6,20 @@ import SharedConfig
import { CommitSchema, ExpandedUserSchema, Gitlab, MemberSchema, ProjectBadgeSchema, ProjectSchema, ReleaseSchema, RepositoryFileExpandedSchema, RepositoryFileSchema, RepositoryTreeSchema } from '@gitbeaker/rest';
import logger from '../shared/logging/WinstonLogger';
import { AccessLevel, EditProjectOptions, ProjectVariableSchema, ProtectedBranchAccessLevel, ProtectedBranchSchema } from '@gitbeaker/core';
import GlobalHelper from '../helpers/GlobalHelper';
import DojoStatusCode from '../shared/types/Dojo/DojoStatusCode';
import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
class GitlabManager {
private readonly api = new Gitlab({
host : SharedConfig.gitlab.URL,
token: Config.gitlab.account.token
});
class GitlabManager extends SharedGitlabManager {
constructor() {
super(Config.gitlab.account.token);
}
public async getUserProfile(token: string): Promise<ExpandedUserSchema | undefined> {
try {
const profileApi = new Gitlab({
host : SharedConfig.gitlab.URL,
token: token
host : SharedConfig.gitlab.URL,
oauthToken: token
});
return await profileApi.Users.showCurrentUser();
......@@ -108,7 +107,7 @@ class GitlabManager {
async checkTemplateAccess(projectIdOrNamespace: string, req: express.Request, res?: express.Response): Promise<boolean> {
// Get the Gitlab project and check if it have public or internal visibility
try {
const project: ProjectSchema = await GlobalHelper.sharedGitlabManager.getRepository(projectIdOrNamespace);
const project: ProjectSchema = await this.getRepository(projectIdOrNamespace);
if ( [ 'public', 'internal' ].includes(project.visibility) ) {
req.session.sendResponse(res, StatusCodes.OK);
......
......@@ -9,7 +9,6 @@ import GitlabManager from '../managers/GitlabManager';
import UserManager from '../managers/UserManager';
import DojoStatusCode from '../shared/types/Dojo/DojoStatusCode';
import Config from '../config/Config';
import GlobalHelper from '../helpers/GlobalHelper';
class SessionRoutes implements RoutesManager {
......@@ -64,7 +63,7 @@ class SessionRoutes implements RoutesManager {
refreshToken: string
} = req.body;
const gitlabTokens = await GlobalHelper.sharedGitlabManager.getTokens(params.refreshToken, true, Config.login.gitlab.client.secret);
const gitlabTokens = await GitlabManager.getTokens(params.refreshToken, true, Config.login.gitlab.client.secret);
req.session.sendResponse(res, StatusCodes.OK, gitlabTokens);
} catch ( error ) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment