From 3a3cdfb1ca41be3410ccb5f5c5273a3d39e5e75c Mon Sep 17 00:00:00 2001 From: Erik Larsson Date: Sun, 24 Jan 2021 01:55:36 +0100 Subject: [PATCH] Backwards compatible scaffolder --- packages/backend/package.json | 1 - packages/backend/src/plugins/scaffolder.ts | 4 +--- .../default-app/packages/backend/package.json.hbs | 1 - .../default-app/packages/backend/src/plugins/scaffolder.ts | 4 +--- plugins/catalog/src/CatalogClientWrapper.test.ts | 4 +++- .../src/lib/catalog/CatalogEntityClient.ts | 7 +++++-- 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/packages/backend/package.json b/packages/backend/package.json index 8d215d5137..aa00407952 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -28,7 +28,6 @@ }, "dependencies": { "@backstage/backend-common": "^0.5.1", - "@backstage/catalog-client": "^0.3.5", "@backstage/catalog-model": "^0.7.0", "@backstage/config": "^0.1.2", "@backstage/plugin-app-backend": "^0.3.5", diff --git a/packages/backend/src/plugins/scaffolder.ts b/packages/backend/src/plugins/scaffolder.ts index bd3616116b..4e2257a46c 100644 --- a/packages/backend/src/plugins/scaffolder.ts +++ b/packages/backend/src/plugins/scaffolder.ts @@ -24,7 +24,6 @@ import { CatalogEntityClient, } from '@backstage/plugin-scaffolder-backend'; import { SingleHostDiscovery } from '@backstage/backend-common'; -import { CatalogClient } from '@backstage/catalog-client'; import type { PluginEnvironment } from '../types'; import Docker from 'dockerode'; @@ -45,8 +44,7 @@ export default async function createPlugin({ const dockerClient = new Docker(); const discovery = SingleHostDiscovery.fromConfig(config); - const catalogClient = new CatalogClient({ discoveryApi: discovery }); - const entityClient = new CatalogEntityClient({ catalogClient }); + const entityClient = new CatalogEntityClient({ discovery }); return await createRouter({ preparers, diff --git a/packages/create-app/templates/default-app/packages/backend/package.json.hbs b/packages/create-app/templates/default-app/packages/backend/package.json.hbs index 81f73768ca..3fed72f07b 100644 --- a/packages/create-app/templates/default-app/packages/backend/package.json.hbs +++ b/packages/create-app/templates/default-app/packages/backend/package.json.hbs @@ -19,7 +19,6 @@ "dependencies": { "app": "0.0.0", "@backstage/backend-common": "^{{version '@backstage/backend-common'}}", - "@backstage/catalog-client": "^{{version '@backstage/catalog-client'}}", "@backstage/catalog-model": "^{{version '@backstage/catalog-model'}}", "@backstage/config": "^{{version '@backstage/config'}}", "@backstage/plugin-app-backend": "^{{version '@backstage/plugin-app-backend'}}", diff --git a/packages/create-app/templates/default-app/packages/backend/src/plugins/scaffolder.ts b/packages/create-app/templates/default-app/packages/backend/src/plugins/scaffolder.ts index 72f0f5099a..c8bd3e5012 100644 --- a/packages/create-app/templates/default-app/packages/backend/src/plugins/scaffolder.ts +++ b/packages/create-app/templates/default-app/packages/backend/src/plugins/scaffolder.ts @@ -8,7 +8,6 @@ import { CatalogEntityClient, } from '@backstage/plugin-scaffolder-backend'; import { SingleHostDiscovery } from '@backstage/backend-common'; -import { CatalogClient } from '@backstage/catalog-client'; import type { PluginEnvironment } from '../types'; import Docker from 'dockerode'; @@ -29,8 +28,7 @@ export default async function createPlugin({ const dockerClient = new Docker(); const discovery = SingleHostDiscovery.fromConfig(config); - const catalogClient = new CatalogClient({ discoveryApi: discovery }); - const entityClient = new CatalogEntityClient({ catalogClient }); + const entityClient = new CatalogEntityClient({ discovery }); return await createRouter({ preparers, diff --git a/plugins/catalog/src/CatalogClientWrapper.test.ts b/plugins/catalog/src/CatalogClientWrapper.test.ts index e2aea16526..8ed53bddb0 100644 --- a/plugins/catalog/src/CatalogClientWrapper.test.ts +++ b/plugins/catalog/src/CatalogClientWrapper.test.ts @@ -58,7 +58,9 @@ describe('CatalogClientWrapper', () => { expect.assertions(2); await client.getEntities(); const getEntities = MockedCatalogClient.mock.instances[0].getEntities; - expect(getEntities).toHaveBeenCalledWith('fake-id-token', undefined); + expect(getEntities).toHaveBeenCalledWith(undefined, { + token: 'fake-id-token', + }); expect(getEntities).toHaveBeenCalledTimes(1); }); }); diff --git a/plugins/scaffolder-backend/src/lib/catalog/CatalogEntityClient.ts b/plugins/scaffolder-backend/src/lib/catalog/CatalogEntityClient.ts index 0440a45f66..7afbdd3fb9 100644 --- a/plugins/scaffolder-backend/src/lib/catalog/CatalogEntityClient.ts +++ b/plugins/scaffolder-backend/src/lib/catalog/CatalogEntityClient.ts @@ -16,6 +16,7 @@ import { TemplateEntityV1alpha1 } from '@backstage/catalog-model'; import { CatalogClient } from '@backstage/catalog-client'; +import { DiscoveryApi } from '@backstage/core'; import { ConflictError, NotFoundError } from '@backstage/backend-common'; /** @@ -24,8 +25,10 @@ import { ConflictError, NotFoundError } from '@backstage/backend-common'; export class CatalogEntityClient { private readonly catalogClient: CatalogClient; - constructor(options: { catalogClient: CatalogClient }) { - this.catalogClient = options.catalogClient; + constructor(options: { discovery: DiscoveryApi }) { + this.catalogClient = new CatalogClient({ + discoveryApi: options.discovery, + }); } /**