From fad9fffb59136f1fdbcef4645a0da3ccd2913233 Mon Sep 17 00:00:00 2001 From: Peter Somogyvari Date: Fri, 15 Jan 2021 14:04:43 -0800 Subject: [PATCH] fix(cockpit): compilation issues #496 The full build with frontend components included are now working once again. 1. The cockpit components no longer depend on the api-client package shipping the standard typescript-axios client types such as DefaultApi, Configuration and the likes. This is because we hollowed out the client-api package to only contain the extensions to these generated types mentioned above (provided via typescript-axios OpenAPI generator) This is part of a larger ongoing effort where we decoupled the api-client and the cmd-api-server packages where earlier there was some tangling between the two in the form of the cmd-api-server exporting it's openapi spec onto the api-client package which in hindsight didn't make much sense to be honest. Mistakes were made, but now are being fixed. 2. A related, but not strictly necessary, cleanup type of change is that we also deleted the remnants of the generated code from the api-client package, e.g. the whole ./generated/openapi/typescrit-axios/ folder is now gone properly (it didn't have any actual Typescript code at this point anyway due to the ongoing changes on other works streams that were pointed out above as well.) Fixes #496 Signed-off-by: Peter Somogyvari --- .../typescript/default-consortium-provider.ts | 6 +++-- .../openapi/typescript-axios/.gitignore | 4 --- .../.openapi-generator-ignore | 26 ------------------- .../typescript-axios/.openapi-generator/FILES | 5 ---- .../.openapi-generator/VERSION | 1 - .../default-consortium-provider.test.ts | 6 ++--- .../cactus-cockpit/src/app/app.component.ts | 17 +----------- .../consortium-inspector.page.ts | 22 ++++++++-------- 8 files changed, 19 insertions(+), 68 deletions(-) delete mode 100644 packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.gitignore delete mode 100644 packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator-ignore delete mode 100644 packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/FILES delete mode 100644 packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/VERSION diff --git a/packages/cactus-api-client/src/main/typescript/default-consortium-provider.ts b/packages/cactus-api-client/src/main/typescript/default-consortium-provider.ts index 2b19ef4329..22ff698faf 100644 --- a/packages/cactus-api-client/src/main/typescript/default-consortium-provider.ts +++ b/packages/cactus-api-client/src/main/typescript/default-consortium-provider.ts @@ -3,16 +3,18 @@ import { LogLevelDesc, LoggerProvider, } from "@hyperledger/cactus-common"; + import { Checks, IAsyncProvider } from "@hyperledger/cactus-common"; import { ConsortiumDatabase } from "@hyperledger/cactus-core-api"; + import { - DefaultApi, + DefaultApi as ConsortiumManualApi, GetConsortiumJwsResponse, } from "@hyperledger/cactus-plugin-consortium-manual"; export interface IDefaultConsortiumProviderOptions { logLevel?: LogLevelDesc; - apiClient: DefaultApi; + apiClient: ConsortiumManualApi; } export class DefaultConsortiumProvider diff --git a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.gitignore b/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.gitignore deleted file mode 100644 index 205d8013f4..0000000000 --- a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -wwwroot/*.js -node_modules -typings -dist \ No newline at end of file diff --git a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator-ignore b/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator-ignore deleted file mode 100644 index 6a6325b75c..0000000000 --- a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator-ignore +++ /dev/null @@ -1,26 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md - -git_push.sh -.npmignore diff --git a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/FILES b/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/FILES deleted file mode 100644 index 565ea4915d..0000000000 --- a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/FILES +++ /dev/null @@ -1,5 +0,0 @@ -.gitignore -api.ts -base.ts -configuration.ts -index.ts diff --git a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/VERSION b/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/VERSION deleted file mode 100644 index 1a487e1a2e..0000000000 --- a/packages/cactus-api-client/src/main/typescript/generated/openapi/typescript-axios/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -5.0.0-beta2 \ No newline at end of file diff --git a/packages/cactus-api-client/src/test/typescript/integration/default-consortium-provider.test.ts b/packages/cactus-api-client/src/test/typescript/integration/default-consortium-provider.test.ts index 18a504d0c2..73589a95b6 100644 --- a/packages/cactus-api-client/src/test/typescript/integration/default-consortium-provider.test.ts +++ b/packages/cactus-api-client/src/test/typescript/integration/default-consortium-provider.test.ts @@ -3,7 +3,7 @@ import { AddressInfo } from "net"; import test, { Test } from "tape"; // import { ApiClient } from "../../../main/typescript/public-api"; -import { DefaultApi as ConsortiumApi } from "@hyperledger/cactus-plugin-consortium-manual"; +import { DefaultApi as ConsortiumManualApi } from "@hyperledger/cactus-plugin-consortium-manual"; import { LogLevelDesc, Servers } from "@hyperledger/cactus-common"; import { DefaultConsortiumProvider } from "../../../main/typescript"; @@ -18,7 +18,7 @@ test("Reports failures with meaningful information", async (t: Test) => { const provider = new DefaultConsortiumProvider({ logLevel, - apiClient: new ConsortiumApi({ + apiClient: new ConsortiumManualApi({ basePath: apiHost, baseOptions: { timeout: 100, @@ -45,7 +45,7 @@ test("Reports failures with meaningful information", async (t: Test) => { test("Handles 4xx transparently", async (t2: Test) => { const provider = new DefaultConsortiumProvider({ logLevel, - apiClient: new ConsortiumApi({ + apiClient: new ConsortiumManualApi({ basePath: "https://httpbin.org/status/400", }), }); diff --git a/packages/cactus-cockpit/src/app/app.component.ts b/packages/cactus-cockpit/src/app/app.component.ts index 51d105646b..cd8641950e 100644 --- a/packages/cactus-cockpit/src/app/app.component.ts +++ b/packages/cactus-cockpit/src/app/app.component.ts @@ -5,8 +5,6 @@ import { SplashScreen } from "@ionic-native/splash-screen/ngx"; import { StatusBar } from "@ionic-native/status-bar/ngx"; import { LoggerProvider, Logger } from "@hyperledger/cactus-common"; -import { DefaultApi as DefaultApiConsortium } from "@hyperledger/cactus-plugin-consortium-manual"; -import { ApiClient, Configuration } from "@hyperledger/cactus-api-client"; import { CACTUS_API_URL } from "src/constants"; @Component({ @@ -48,18 +46,5 @@ export class AppComponent implements OnInit { }); } - ngOnInit() { - this.testApi(); - } - - async testApi(): Promise { - const configuration = new Configuration({ basePath: this.cactusApiUrl }); - const apiClient = new ApiClient(configuration).extendWith( - DefaultApiConsortium - ); - const res = await apiClient.getNodeJws(); - const resHealthCheck = await apiClient.apiV1ApiServerHealthcheckGet(); - this.log.info(`ConsortiumNodeJwtGet`, res.data); - this.log.info(`ApiServer HealthCheck Get:`, resHealthCheck.data); - } + ngOnInit() {} } diff --git a/packages/cactus-cockpit/src/app/consortium-inspector/consortium-inspector.page.ts b/packages/cactus-cockpit/src/app/consortium-inspector/consortium-inspector.page.ts index 9e44746f43..e888756f30 100644 --- a/packages/cactus-cockpit/src/app/consortium-inspector/consortium-inspector.page.ts +++ b/packages/cactus-cockpit/src/app/consortium-inspector/consortium-inspector.page.ts @@ -1,16 +1,21 @@ import { Component, Inject } from "@angular/core"; -import { CACTUS_API_URL } from "src/constants"; +import * as JwtDecode from "jwt-decode"; + import { Logger, LoggerProvider, ILoggerOptions, } from "@hyperledger/cactus-common"; -import { Configuration, ApiClient } from "@hyperledger/cactus-api-client"; + +import { ApiClient } from "@hyperledger/cactus-api-client"; + import { - DefaultApi as PluginConsortiumManualApi, + Configuration, + DefaultApi as ConsortiumManualApi, JWSGeneral, } from "@hyperledger/cactus-plugin-consortium-manual"; -import * as JwtDecode from "jwt-decode"; + +import { CACTUS_API_URL } from "src/constants"; @Component({ selector: "app-folder", @@ -44,13 +49,8 @@ export class ConsortiumInspectorPage { async onBtnClickInspect(): Promise { this.log.debug(`onBtnClickInspect() apiHost=${this.apiHost}`); - const configuration = new Configuration({ basePath: this.cactusApiUrl }); - const apiClient = new ApiClient(configuration).extendWith( - PluginConsortiumManualApi - ); - - const resHealthCheck = await apiClient.apiV1ApiServerHealthcheckGet(); - this.log.debug(`ApiServer HealthCheck Get:`, resHealthCheck.data); + const config = new Configuration({ basePath: this.cactusApiUrl }); + const apiClient = new ApiClient(config).extendWith(ConsortiumManualApi); const res = await apiClient.getConsortiumJws(); this.jws = res.data.jws;