From 850ca8eb106b24a834f73fab5073ab3d65506395 Mon Sep 17 00:00:00 2001 From: Anton Ganhammar Date: Fri, 18 Aug 2023 07:07:39 +0200 Subject: [PATCH] fix: use fetchapi to automatically handle authentication Signed-off-by: Anton Ganhammar --- .changeset/nice-forks-remain.md | 2 +- plugins/code-coverage/src/api.ts | 13 +++++-------- plugins/code-coverage/src/plugin.ts | 8 ++++---- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/.changeset/nice-forks-remain.md b/.changeset/nice-forks-remain.md index 1545c88745..6d833ff283 100644 --- a/.changeset/nice-forks-remain.md +++ b/.changeset/nice-forks-remain.md @@ -2,4 +2,4 @@ '@backstage/plugin-code-coverage': patch --- -Include authorization token (if one exists) when fetching code-coverage data +Use fetchApi to ensure authorization is used when fetching code-coverage data diff --git a/plugins/code-coverage/src/api.ts b/plugins/code-coverage/src/api.ts index 34e55b5cba..9947891006 100644 --- a/plugins/code-coverage/src/api.ts +++ b/plugins/code-coverage/src/api.ts @@ -23,7 +23,7 @@ import { JsonCodeCoverage, JsonCoverageHistory } from './types'; import { createApiRef, DiscoveryApi, - IdentityApi, + FetchApi, } from '@backstage/core-plugin-api'; export type CodeCoverageApi = { @@ -46,16 +46,16 @@ export const codeCoverageApiRef = createApiRef({ export class CodeCoverageRestApi implements CodeCoverageApi { private readonly discoveryApi: DiscoveryApi; - private readonly identityApi: IdentityApi; + private readonly fetchApi: FetchApi; private url: string = ''; public constructor(options: { discoveryApi: DiscoveryApi; - identityApi: IdentityApi; + fetchApi: FetchApi; }) { this.discoveryApi = options.discoveryApi; - this.identityApi = options.identityApi; + this.fetchApi = options.fetchApi; } private async fetch( @@ -64,10 +64,7 @@ export class CodeCoverageRestApi implements CodeCoverageApi { if (!this.url) { this.url = await this.discoveryApi.getBaseUrl('code-coverage'); } - const { token } = await this.identityApi.getCredentials(); - const resp = await fetch(`${this.url}${path}`, { - headers: token ? { Authorization: `Bearer ${token}` } : {}, - }); + const resp = await this.fetchApi.fetch(`${this.url}${path}`); if (!resp.ok) { throw await ResponseError.fromResponse(resp); } diff --git a/plugins/code-coverage/src/plugin.ts b/plugins/code-coverage/src/plugin.ts index 22b59fd50a..391595f142 100644 --- a/plugins/code-coverage/src/plugin.ts +++ b/plugins/code-coverage/src/plugin.ts @@ -21,7 +21,7 @@ import { createPlugin, createRoutableExtension, discoveryApiRef, - identityApiRef, + fetchApiRef, } from '@backstage/core-plugin-api'; /** @@ -35,9 +35,9 @@ export const codeCoveragePlugin = createPlugin({ apis: [ createApiFactory({ api: codeCoverageApiRef, - deps: { discoveryApi: discoveryApiRef, identityApi: identityApiRef }, - factory: ({ discoveryApi, identityApi }) => - new CodeCoverageRestApi({ discoveryApi, identityApi }), + deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef }, + factory: ({ discoveryApi, fetchApi }) => + new CodeCoverageRestApi({ discoveryApi, fetchApi }), }), ], });