From 28cf6fd788bca8040bd8875446907fa1ef46cd6a Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Thu, 13 Jul 2023 10:50:35 +0200 Subject: [PATCH] Update code generation for API update --- packages/databricks-sdk-js/package.json | 4 +-- .../src/.codegen/WorkspaceClient.ts.tmpl | 7 ---- .../src/.codegen/api.ts.tmpl | 35 ++++++++++++------- .../src/.codegen/model.ts.tmpl | 2 -- packages/databricks-sdk-js/src/types.ts | 2 ++ 5 files changed, 26 insertions(+), 24 deletions(-) diff --git a/packages/databricks-sdk-js/package.json b/packages/databricks-sdk-js/package.json index 457bbd9b9..2d390f607 100644 --- a/packages/databricks-sdk-js/package.json +++ b/packages/databricks-sdk-js/package.json @@ -20,8 +20,8 @@ "build": "tsc --build --force", "watch": "tsc --build --watch", "clean": "rm -rf dist node_modules", - "openapi:fetch": "./scripts/fetch_openapi.sh bc047bfe86e4852fed29d82a1a20fe03c64490a2", - "openapi:generate": "./scripts/generate_openapi.sh v0.10.1 && yarn run build", + "openapi:fetch": "./scripts/fetch_openapi.sh d4525bbc428d236f7508d3190f973fbf17fa5614", + "openapi:generate": "./scripts/generate_openapi.sh v0.12.0 && yarn run build", "generate-notice": "../../scripts/generate_notice.sh", "fix": "eslint src --ext ts --fix && prettier . --write", "test:lint": "eslint src --ext ts && prettier . -c", diff --git a/packages/databricks-sdk-js/src/.codegen/WorkspaceClient.ts.tmpl b/packages/databricks-sdk-js/src/.codegen/WorkspaceClient.ts.tmpl index cb5c53f91..b5d4f7b36 100644 --- a/packages/databricks-sdk-js/src/.codegen/WorkspaceClient.ts.tmpl +++ b/packages/databricks-sdk-js/src/.codegen/WorkspaceClient.ts.tmpl @@ -13,18 +13,11 @@ export class WorkspaceClient { readonly apiClient: ApiClient; {{range .Services}}{{if not .IsAccounts}} - {{- if eq .Name "CommandExecution" -}} - /** - * This API allows executing commands on running clusters. - */ - readonly commands: commands.CommandExecutionService; - {{else -}} /** {{.Comment "* " 80}} */ readonly {{.CamelName}}: {{.Package.Name}}.{{.PascalName}}Service; {{end -}}{{end}} - {{end}} constructor(config: ConfigOptions | Config, options: ClientOptions = {}) { if (!(config instanceof Config)) { diff --git a/packages/databricks-sdk-js/src/.codegen/api.ts.tmpl b/packages/databricks-sdk-js/src/.codegen/api.ts.tmpl index 6ad4f39fd..860404abd 100644 --- a/packages/databricks-sdk-js/src/.codegen/api.ts.tmpl +++ b/packages/databricks-sdk-js/src/.codegen/api.ts.tmpl @@ -6,7 +6,8 @@ */ import {ApiClient} from "../../api-client"; -import * as model from "./model"; +import * as {{.Name}} from "./model"; +import {EmptyResponse} from "../../types"; import Time from "../../retries/Time"; import retry from "../../retries/retries"; import {CancellationToken} from "../../types" @@ -14,8 +15,9 @@ import {ApiError, ApiRetriableError} from "../apiError"; import {context, Context} from "../../context" import {ExposedLoggers, withLogContext} from "../../logging"; import {Waiter, asWaiter} from "../../wait"; -{{range .ImportedEntities}} -import { {{.PascalName}} } from "../{{.Package.Name}}"{{end}} + +{{range .ImportedPackages}} +import * as {{.}} from "../{{.}}"{{end}} {{range $i, $s := .Services }} export class {{$s.PascalName}}RetriableError extends ApiRetriableError { @@ -38,7 +40,7 @@ export class {{$s.PascalName}}Service { {{- range $s.Methods}} @withLogContext(ExposedLoggers.SDK) - private async _{{.CamelName}}({{if .Request}}request: model.{{.Request.PascalName}},{{end}} + private async _{{.CamelName}}({{if .Request}}request: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}} @context context?: Context ): Promise<{{template "type_for_response" .}}> @@ -59,7 +61,7 @@ export class {{$s.PascalName}}Service { "{{.Verb}}", {{if .Request -}}request{{else}}undefined{{end}}, context - ) as {{if .Response}}{{if .Response.ArrayValue}}Array{{else}}model.{{.Response.PascalName}}{{end}}{{else}}model.EmptyResponse{{end}}) + ) as {{if .Response}}{{if .Response.ArrayValue}}Array<{{$s.Package.Name}}.{{.Response.ArrayValue.PascalName}}>{{else}}{{template "type_for_response" .}}{{end}}{{else}}EmptyResponse{{end}}) } {{if .Wait}} @@ -67,7 +69,7 @@ export class {{$s.PascalName}}Service { {{.Comment " * " 80}} */ @withLogContext(ExposedLoggers.SDK) - async {{.CamelName}}({{if .Request}}{{.Request.CamelName}}: model.{{.Request.PascalName}},{{end}} + async {{.CamelName}}({{if .Request}}{{.Request.CamelName}}: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}} @context context?: Context ): Promise> { let cancellationToken = context?.cancellationToken; @@ -117,9 +119,9 @@ export class {{$s.PascalName}}Service { {{.Comment " * " 80}} */ @withLogContext(ExposedLoggers.SDK) - async *{{.CamelName}}({{if .Request}}request: model.{{.Request.PascalName}},{{end}} + async *{{.CamelName}}({{if .Request}}request: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}} @context context?: Context - ): AsyncIterable { + ): AsyncIterable<{{$s.Package.Name}}.{{.Pagination.Entity.PascalName}}> { {{if .Pagination.MultiRequest}} {{if .Pagination.NeedsOffsetDedupe -}} // deduplicate items that may have been added during iteration @@ -184,7 +186,7 @@ export class {{$s.PascalName}}Service { {{.Comment " * " 80}} */ @withLogContext(ExposedLoggers.SDK) - async {{.CamelName}}({{if .Request}}request: model.{{.Request.PascalName}},{{end}} + async {{.CamelName}}({{if .Request}}request: {{$s.Package.Name}}.{{.Request.PascalName}},{{end}} @context context?: Context ): Promise<{{template "type_for_response" .}}> { @@ -196,17 +198,24 @@ export class {{$s.PascalName}}Service { {{end}} {{- define "type_for_response" -}} + {{if .Response}} {{if .Response.ArrayValue}} - Array + {{if .Response.ArrayValue.Package }} + Array<{{.Response.ArrayValue.Package.Name}}.{{.Response.ArrayValue.PascalName}}> + {{else}} + Array<{{.Service.Package.Name}}.{{.Response.ArrayValue.PascalName}}> + {{end}} + {{else if .Response.Package }} + {{.Response.Package.Name}}.{{.Response.PascalName}} {{else}} - model.{{.Response.PascalName}} + {{.Service.Package.Name}}.{{.Response.PascalName}} {{end}} {{else}} - model.EmptyResponse + EmptyResponse {{end}} {{- end -}} {{- define "type_for_poll_response" -}} -model.{{if .Wait.Poll.Response}}{{.Wait.Poll.Response.PascalName}}{{else}}{{.Wait.Poll.EmptyResponseName.PascalName}}{{end}} +{{.Service.Package.Name}}.{{if .Wait.Poll.Response}}{{.Wait.Poll.Response.PascalName}}{{else}}{{.Wait.Poll.EmptyResponseName.PascalName}}{{end}} {{- end -}} \ No newline at end of file diff --git a/packages/databricks-sdk-js/src/.codegen/model.ts.tmpl b/packages/databricks-sdk-js/src/.codegen/model.ts.tmpl index 64f8aa70b..63c5532e0 100644 --- a/packages/databricks-sdk-js/src/.codegen/model.ts.tmpl +++ b/packages/databricks-sdk-js/src/.codegen/model.ts.tmpl @@ -23,8 +23,6 @@ {{end}} {{end}} -export interface EmptyResponse {}; - {{- define "type" -}} {{- if not . }}any /* ERROR */ {{- else if .IsString}}string diff --git a/packages/databricks-sdk-js/src/types.ts b/packages/databricks-sdk-js/src/types.ts index 00f0b9e7a..59f9d9c93 100644 --- a/packages/databricks-sdk-js/src/types.ts +++ b/packages/databricks-sdk-js/src/types.ts @@ -10,3 +10,5 @@ export interface CancellationToken { export interface Provider { (): Promise; } + +export interface EmptyResponse {}