diff --git a/src/modules/git/Git.service.ts b/src/modules/git/Git.service.ts index 0cbceb3..9ef657f 100644 --- a/src/modules/git/Git.service.ts +++ b/src/modules/git/Git.service.ts @@ -1,10 +1,15 @@ +import {constants} from 'http2'; import * as codeCore from '@modal/code-core'; +import {HttpError} from '../../packages/fastify-compliant-http-errors'; export interface GitService { createRepo(options: codeCore.git.CreateRepoData, user?: codeCore.common.User): Promise; deleteRepo(repoId: codeCore.git.Repo['id'], user?: codeCore.common.User): Promise } +export class UnableToCreateRepoError extends HttpError(constants.HTTP_STATUS_UNAUTHORIZED, 'Unable to Create Repo') {} +export class UnableToDeleteRepoError extends HttpError(constants.HTTP_STATUS_UNAUTHORIZED, 'Unable to Delete Repo') {} + export class GitServiceImpl implements GitService { private readonly coreGitService: codeCore.git.GitService; @@ -16,13 +21,13 @@ export class GitServiceImpl implements GitService { if (user) { return this.coreGitService.create(options, user); } - throw new Error('Unauthorized'); + throw new UnableToCreateRepoError('Unauthorized'); } async deleteRepo(repoId: codeCore.git.Repo['id'], user?: codeCore.common.User): Promise { if (user) { await this.coreGitService.delete(repoId, user); } - throw new Error('Unauthorized'); + throw new UnableToDeleteRepoError('Unauthorized'); } }