From 92e13a3dc0ca751737d782430f5e902f1ec20c14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <git@minelli.me> Date: Fri, 15 Mar 2024 14:46:13 +0100 Subject: [PATCH] Sonar => Resolve issues --- helpers/Dojo/SharedAssignmentHelper.ts | 2 +- managers/SharedGitlabManager.ts | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/helpers/Dojo/SharedAssignmentHelper.ts b/helpers/Dojo/SharedAssignmentHelper.ts index 5b11a38..c729540 100644 --- a/helpers/Dojo/SharedAssignmentHelper.ts +++ b/helpers/Dojo/SharedAssignmentHelper.ts @@ -23,7 +23,7 @@ class SharedAssignmentHelper { const pipelines = await GlobalHelper.sharedGitlabManager.getRepositoryPipelines(repositoryId, 'main'); if ( pipelines.length > 0 ) { const lastPipeline = pipelines[0]; - if ( lastPipeline.status != GitlabPipelineStatus.SUCCESS.valueOf() ) { + if ( lastPipeline.status !== GitlabPipelineStatus.SUCCESS.valueOf() ) { return { isPublishable: false, lastPipeline : lastPipeline, diff --git a/managers/SharedGitlabManager.ts b/managers/SharedGitlabManager.ts index 014ac40..4cea2ee 100644 --- a/managers/SharedGitlabManager.ts +++ b/managers/SharedGitlabManager.ts @@ -23,14 +23,14 @@ class SharedGitlabManager { this.setToken(token); } - private async executeGitlabRequest<T>(request: () => Promise<T>): Promise<T> { + private async executeGitlabRequest<T>(request: () => Promise<T>, refreshTokenIfNeeded: boolean = true): Promise<T> { try { return await request(); } catch ( error ) { - if ( this.refreshTokenFunction && error instanceof GitbeakerRequestError && error.cause?.response.status === StatusCodes.UNAUTHORIZED ) { + if ( this.refreshTokenFunction && refreshTokenIfNeeded && error instanceof GitbeakerRequestError && error.cause?.response.status === StatusCodes.UNAUTHORIZED ) { this.setToken(await this.refreshTokenFunction()); - return await request(); + return this.executeGitlabRequest(request, false); } else { throw error; } @@ -84,11 +84,7 @@ class SharedGitlabManager { } async getRepositoryPipelines(repoId: number, branch: string = 'main'): Promise<Array<PipelineSchema>> { - return await this.executeGitlabRequest(async () => { - return await this.api.Pipelines.all(repoId, { - ref: branch - }); - }); + return this.executeGitlabRequest(() => this.api.Pipelines.all(repoId, { ref: branch })); } } -- GitLab