diff --git a/packages/http-client-csharp/emitter/src/lib/client-converter.ts b/packages/http-client-csharp/emitter/src/lib/client-converter.ts index 5db150751f8..ff75e604ce2 100644 --- a/packages/http-client-csharp/emitter/src/lib/client-converter.ts +++ b/packages/http-client-csharp/emitter/src/lib/client-converter.ts @@ -24,7 +24,7 @@ import { getParameterDefaultValue, } from "./operation-converter.js"; import { fromSdkType } from "./type-converter.js"; -import { isReadOnly } from "./utils.js"; +import { isMultiServiceClient, isReadOnly } from "./utils.js"; type SdkClientType = SdkClientTypeOfT; @@ -79,6 +79,7 @@ function fromSdkClient( apiVersions: client.apiVersions, parent: undefined, children: undefined, + isMultiServiceClient: isMultiServiceClient(client), }; sdkContext.__typeCache.updateSdkClientReferences(client, inputClient); diff --git a/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts b/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts index abfd0fefb05..203a5995a2a 100644 --- a/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts +++ b/packages/http-client-csharp/emitter/src/lib/client-model-builder.ts @@ -1,7 +1,12 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. -import { UsageFlags } from "@azure-tools/typespec-client-generator-core"; +import { + SdkClientType, + SdkEnumType, + SdkHttpOperation, + UsageFlags, +} from "@azure-tools/typespec-client-generator-core"; import { CSharpEmitterContext } from "../sdk-context.js"; import { CodeModel } from "../type/code-model.js"; import { InputEnumType, InputLiteralType, InputModelType } from "../type/input-type.js"; @@ -9,7 +14,11 @@ import { fromSdkClients } from "./client-converter.js"; import { fromSdkNamespaces } from "./namespace-converter.js"; import { processServiceAuthentication } from "./service-authentication.js"; import { fromSdkType } from "./type-converter.js"; -import { firstLetterToUpperCase, getClientNamespaceString } from "./utils.js"; +import { + containsMultiServiceClient, + firstLetterToUpperCase, + getClientNamespaceString, +} from "./utils.js"; /** * Creates the code model from the SDK context. @@ -31,13 +40,8 @@ export function createModel(sdkContext: CSharpEmitterContext): CodeModel { types.filter((type) => type.kind === "enum") as InputEnumType[], ]; - const sdkApiVersionEnums = sdkPackage.enums.filter((e) => e.usage === UsageFlags.ApiVersionEnum); const rootClients = sdkPackage.clients; - const rootApiVersions = - sdkApiVersionEnums.length > 0 - ? sdkApiVersionEnums[0].values.map((v) => v.value as string).flat() - : (rootClients[0]?.apiVersions ?? []); - + const rootApiVersions = parseApiVersions(sdkPackage.enums, rootClients); const inputClients = fromSdkClients(sdkContext, rootClients, rootApiVersions); // TODO -- TCGC now does not have constants field in its sdkPackage, they might add it in the future. @@ -61,6 +65,30 @@ export function createModel(sdkContext: CSharpEmitterContext): CodeModel { return clientModel; } +/** + * Parses and returns the correct API versions for the library. + * Handles both regular and multiservice client libraries. + * + * @param enums - Array of enums from the SDK package + * @param rootClients - Array of root clients from the SDK package + * @returns Array of API version strings + */ +function parseApiVersions( + enums: SdkEnumType[], + rootClients: SdkClientType[], +): string[] { + if (containsMultiServiceClient(rootClients)) { + return rootClients[0]?.apiVersions ?? []; + } + + const apiVersionEnum = enums.find((e) => (e.usage & UsageFlags.ApiVersionEnum) !== 0); + if (apiVersionEnum) { + return apiVersionEnum.values.map((v) => v.value as string); + } + + return rootClients[0]?.apiVersions ?? []; +} + /** * Fixes naming conflicts for constants, enums, and models. * diff --git a/packages/http-client-csharp/emitter/src/lib/utils.ts b/packages/http-client-csharp/emitter/src/lib/utils.ts index 54edf8a4f84..93001017bea 100644 --- a/packages/http-client-csharp/emitter/src/lib/utils.ts +++ b/packages/http-client-csharp/emitter/src/lib/utils.ts @@ -1,5 +1,7 @@ import { listAllServiceNamespaces, + SdkClientType, + SdkHttpOperation, SdkHttpParameter, SdkMethodParameter, SdkModelPropertyType, @@ -139,10 +141,19 @@ export async function execAsync( } export function getClientNamespaceString(context: CSharpEmitterContext): string | undefined { - return getClientNamespaceStringHelper( - context.emitContext.options["package-name"], - listAllServiceNamespaces(context)[0], - ); + const packageName = context.emitContext.options["package-name"]; + const serviceNamespaces = listAllServiceNamespaces(context); + const firstNamespace = serviceNamespaces.length > 0 ? serviceNamespaces[0] : undefined; + + if (packageName) { + return getClientNamespaceStringHelper(packageName, firstNamespace); + } + + if (containsMultiServiceClient(context.sdkPackage.clients)) { + return getClientNamespaceStringHelper(context.sdkPackage.clients[0].namespace); + } + + return getClientNamespaceStringHelper(undefined, firstNamespace); } export function getClientNamespaceStringHelper( @@ -186,3 +197,33 @@ export function isReadOnly( return false; } } + +/** + * Determines if the library contains a multiservice client. + * + * @param rootClients - Array of root clients from the SDK package + * @returns True if this is a multiservice client library, false otherwise + * @beta + */ +export function containsMultiServiceClient( + rootClients: SdkClientType[], +): boolean { + if (rootClients.length === 0) { + return false; + } + + return isMultiServiceClient(rootClients[0]); +} + +/** + * Determines if a client is a multiservice client. + * A multiservice client is one where the underlying service is an array of services + * with more than one element. + * + * @param client - The SDK client to check + * @returns True if this is a multiservice client, false otherwise + * @beta + */ +export function isMultiServiceClient(client: SdkClientType): boolean { + return Array.isArray(client.__raw.service) && client.__raw.service.length > 1; +} diff --git a/packages/http-client-csharp/emitter/src/type/input-type.ts b/packages/http-client-csharp/emitter/src/type/input-type.ts index 628aad29e37..b4008677dd8 100644 --- a/packages/http-client-csharp/emitter/src/type/input-type.ts +++ b/packages/http-client-csharp/emitter/src/type/input-type.ts @@ -43,6 +43,7 @@ export interface InputClient extends DecoratedType { crossLanguageDefinitionId: string; parent?: InputClient; children?: InputClient[]; + isMultiServiceClient: boolean; } /** diff --git a/packages/http-client-csharp/emitter/test/Unit/client-converter.test.ts b/packages/http-client-csharp/emitter/test/Unit/client-converter.test.ts new file mode 100644 index 00000000000..ab683388071 --- /dev/null +++ b/packages/http-client-csharp/emitter/test/Unit/client-converter.test.ts @@ -0,0 +1,253 @@ +vi.resetModules(); + +import { TestHost } from "@typespec/compiler/testing"; +import { ok, strictEqual } from "assert"; +import { beforeEach, describe, it, vi } from "vitest"; +import { createModel } from "../../src/lib/client-model-builder.js"; +import { + createCSharpSdkContext, + createEmitterContext, + createEmitterTestHost, + typeSpecCompile, +} from "./utils/test-util.js"; + +describe("isMultiServiceClient", () => { + let runner: TestHost; + + beforeEach(async () => { + runner = await createEmitterTestHost(); + }); + + it("should be false for single service client", async () => { + const program = await typeSpecCompile( + ` + @route("/test") + op test(): void; + `, + runner, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + + const client = root.clients[0]; + ok(client, "Client should exist"); + strictEqual( + client.isMultiServiceClient, + false, + "Single service client should not be multiservice", + ); + }); + + it("should be true for multiservice client combining multiple services using subclients", async () => { + const program = await typeSpecCompile( + ` + @versioned(VersionsA) + namespace ServiceA { + enum VersionsA { + av1, + } + + @route("/a") + interface AI { + @route("test") + op aTest(): void; + } + } + + @versioned(VersionsB) + namespace ServiceB { + enum VersionsB { + bv1, + bv2, + } + + @route("/b") + interface BI { + @route("test") + op bTest(): void; + } + } + + @client({ + name: "CombinedClient", + service: [ServiceA, ServiceB], + }) + @useDependency(ServiceA.VersionsA.av1, ServiceB.VersionsB.bv2) + namespace Service.MultiService {} + `, + runner, + { IsNamespaceNeeded: false, IsTCGCNeeded: true }, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + strictEqual(root.name, "Service.MultiService", "Root namespace should be Service.MultiService"); + + const client = root.clients[0]; + ok(client, "Client should exist"); + strictEqual(client.name, "CombinedClient", "Client should be named CombinedClient"); + strictEqual( + client.namespace, + "Service.MultiService", + "Client namespace should be Service.MultiService", + ); + strictEqual( + client.isMultiServiceClient, + true, + "Multi-service client should have isMultiServiceClient=true", + ); + + // Verify sub-clients are NOT multiservice clients + ok(client.children, "Client should have children"); + ok(client.children.length > 0, "Client should have at least one child"); + for (const childClient of client.children) { + strictEqual( + childClient.isMultiServiceClient, + false, + `Child client '${childClient.name}' should not be a multiservice client`, + ); + } + }); + + it("should be true for multiservice root client", async () => { + const program = await typeSpecCompile( + ` + @versioned(VersionsA) + namespace ServiceA { + enum VersionsA { + av1, + } + + + @route("/test") + op testOne(@query("api-version") apiVersion: VersionsA): void; + } + + @versioned(VersionsB) + namespace ServiceB { + enum VersionsB { + bv1, + bv2, + } + + @route("/test") + op testTwo(@query("api-version") apiVersion: VersionsB): void; + } + + @client({ + name: "CombinedClient", + service: [ServiceA, ServiceB], + }) + + namespace Service.MultiService {} + `, + runner, + { IsNamespaceNeeded: false, IsTCGCNeeded: true }, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + strictEqual(root.name, "Service.MultiService", "Root namespace should be Service.MultiService"); + + const client = root.clients[0]; + ok(client, "Client should exist"); + strictEqual(client.name, "CombinedClient", "Client should be named CombinedClient"); + strictEqual( + client.namespace, + "Service.MultiService", + "Client namespace should be Service.MultiService", + ); + strictEqual( + client.isMultiServiceClient, + true, + "Multi-service client should have isMultiServiceClient=true", + ); + + ok(!client.children || client.children.length === 0, "Client should not have any children"); + }); + + it("should be true for multiservice mixed clients", async () => { + const program = await typeSpecCompile( + ` + @versioned(VersionsA) + namespace ServiceA { + enum VersionsA { + av1, + av2, + } + + @route("/test") + op testA(@query("api-version") apiVersion: VersionsA): void; + + @route("foo") + interface Foo { + @route("/test") + testB(@query("api-version") apiVersion: VersionsA): void; + } + } + + /** + * Second service definition in a multi-service package with versioning + */ + @versioned(VersionsB) + namespace ServiceB { + enum VersionsB { + bv1, + bv2, + } + + @route("/test") + op testC(@query("api-version") apiVersion: VersionsB): void; + + @route("bar") + interface Bar { + @route("/test") + testD(@query("api-version") apiVersion: VersionsB): void; + } + } + + @client({ + name: "CombinedClient", + service: [ServiceA, ServiceB], + }) + + namespace Service.MultiService {} + `, + runner, + { IsNamespaceNeeded: false, IsTCGCNeeded: true }, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + strictEqual(root.name, "Service.MultiService", "Root namespace should be Service.MultiService"); + + const clients = root.clients; + strictEqual(clients.length, 1, "There should be one root client"); + + const client = root.clients[0]; + ok(client, "Client should exist"); + strictEqual(client.name, "CombinedClient", "Client should be named CombinedClient"); + strictEqual( + client.namespace, + "Service.MultiService", + "Client namespace should be Service.MultiService", + ); + strictEqual( + client.isMultiServiceClient, + true, + "Multi-service client should have isMultiServiceClient=true", + ); + + // Verify sub-clients are NOT multiservice clients + ok(client.children, "Client should have children"); + ok(client.children.length > 0, "Client should have at least one child"); + for (const childClient of client.children) { + strictEqual( + childClient.isMultiServiceClient, + false, + `Child client '${childClient.name}' should not be a multiservice client`, + ); + } + }); +}); diff --git a/packages/http-client-csharp/emitter/test/Unit/client-model-builder.test.ts b/packages/http-client-csharp/emitter/test/Unit/client-model-builder.test.ts index 8207603f30b..611fafc9ec9 100644 --- a/packages/http-client-csharp/emitter/test/Unit/client-model-builder.test.ts +++ b/packages/http-client-csharp/emitter/test/Unit/client-model-builder.test.ts @@ -176,3 +176,268 @@ describe("fixNamingConflicts", () => { ); }); }); + +describe("parseApiVersions", () => { + let runner: TestHost; + + beforeEach(async () => { + runner = await createEmitterTestHost(); + }); + + it("should pick up apiVersion enum used as input parameter in root apiVersions", async () => { + const program = await typeSpecCompile( + ` + @route("/test") + op test(@query apiVersion: Versions): void; + `, + runner, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + + // The root apiVersions should include the version from the Versions enum + // which is defined in the default namespace with version "2023-01-01-preview" + ok(root.apiVersions.length > 0, "Root apiVersions should not be empty"); + ok( + root.apiVersions.includes("2023-01-01-preview"), + "Root apiVersions should include the version from the Versions enum", + ); + }); + + it("should pick up apiVersion enum with multiple versions in root apiVersions", async () => { + const program = await typeSpecCompile( + ` + @service(#{ + title: "Test Service", + }) + @versioned(TestVersions) + namespace TestService; + + enum TestVersions { + v1: "2023-01-01", + v2: "2023-06-01", + v3: "2024-01-01", + } + + @route("/test") + op test(@query apiVersion: TestVersions): void; + `, + runner, + { IsNamespaceNeeded: false }, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + + // The root apiVersions should include all versions from the TestVersions enum + strictEqual(root.apiVersions.length, 3, "Root apiVersions should have 3 versions"); + ok(root.apiVersions.includes("2023-01-01"), "Root apiVersions should include 2023-01-01"); + ok(root.apiVersions.includes("2023-06-01"), "Root apiVersions should include 2023-06-01"); + ok(root.apiVersions.includes("2024-01-01"), "Root apiVersions should include 2024-01-01"); + }); + + it("should have apiVersions for single service client", async () => { + const program = await typeSpecCompile( + ` + @route("/test") + op test(): void; + `, + runner, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + + // Single service client should have apiVersions from the @versioned decorator + ok(root.apiVersions.length > 0, "Root apiVersions should not be empty for single service"); + ok( + root.apiVersions.includes("2023-01-01-preview"), + "Root apiVersions should include the service version", + ); + }); + + it("should have apiVersions for multiservice client combining multiple services using subclients", async () => { + const program = await typeSpecCompile( + ` + @versioned(VersionsA) + namespace ServiceA { + enum VersionsA { + av1, + } + + @route("/a") + interface AI { + @route("test") + op aTest(): void; + } + } + + @versioned(VersionsB) + namespace ServiceB { + enum VersionsB { + bv1, + bv2, + } + + @route("/b") + interface BI { + @route("test") + op bTest(): void; + } + } + + @client({ + name: "CombinedClient", + service: [ServiceA, ServiceB], + }) + @useDependency(ServiceA.VersionsA.av1, ServiceB.VersionsB.bv2) + namespace Service.MultiService {} + `, + runner, + { IsNamespaceNeeded: false, IsTCGCNeeded: true }, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + + ok(root.apiVersions.length === 0, "Root apiVersions should be empty for multiservice"); + + // each child client should have its own apiVersions + const client = root.clients[0]; + ok(client, "Client should exist"); + ok(client.children, "Client should have children"); + ok(client.children.length > 0, "Client should have at least one child"); + + const serviceAClient = client.children.find((c) => c.name === "AI"); + ok(serviceAClient, "ServiceA client should exist"); + strictEqual(serviceAClient.apiVersions.length, 1, "ServiceA client should have 1 apiVersion"); + ok(serviceAClient.apiVersions.includes("av1"), "ServiceA client should include av1"); + + const serviceBClient = client.children.find((c) => c.name === "BI"); + ok(serviceBClient, "ServiceB client should exist"); + strictEqual(serviceBClient.apiVersions.length, 2, "ServiceB client should have 2 apiVersions"); + ok(serviceBClient.apiVersions.includes("bv1"), "ServiceB client should include bv1"); + ok(serviceBClient.apiVersions.includes("bv2"), "ServiceB client should include bv2"); + }); + + it("should have apiVersions for multiservice root client", async () => { + const program = await typeSpecCompile( + ` + @versioned(VersionsA) + namespace ServiceA { + enum VersionsA { + av1, + } + + + @route("/test") + op testOne(@query("api-version") apiVersion: VersionsA): void; + } + + @versioned(VersionsB) + namespace ServiceB { + enum VersionsB { + bv1, + bv2, + } + + @route("/test") + op testTwo(@query("api-version") apiVersion: VersionsB): void; + } + + @client({ + name: "CombinedClient", + service: [ServiceA, ServiceB], + }) + + namespace Service.MultiService {} + `, + runner, + { IsNamespaceNeeded: false, IsTCGCNeeded: true }, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + + ok(root.apiVersions.length === 0, "Root apiVersions should be empty for multiservice"); + }); + + it("should have apiVersions for multiservice mixed clients", async () => { + const program = await typeSpecCompile( + ` + @versioned(VersionsA) + namespace ServiceA { + enum VersionsA { + av1, + av2, + } + + @route("/test") + op testA(@query("api-version") apiVersion: VersionsA): void; + + @route("foo") + interface Foo { + @route("/test") + testB(@query("api-version") apiVersion: VersionsA): void; + } + } + + /** + * Second service definition in a multi-service package with versioning + */ + @versioned(VersionsB) + namespace ServiceB { + enum VersionsB { + bv1, + bv2, + } + + @route("/test") + op testC(@query("api-version") apiVersion: VersionsB): void; + + @route("bar") + interface Bar { + @route("/test") + testD(@query("api-version") apiVersion: VersionsB): void; + } + } + + @client({ + name: "CombinedClient", + service: [ServiceA, ServiceB], + }) + + namespace Service.MultiService {} + `, + runner, + { IsNamespaceNeeded: false, IsTCGCNeeded: true }, + ); + const context = createEmitterContext(program); + const sdkContext = await createCSharpSdkContext(context); + const root = createModel(sdkContext); + + ok( + root.apiVersions.length === 0, + "Root apiVersions should not be empty for multiservice mixed clients", + ); + + // each child client should have its own apiVersions + const client = root.clients[0]; + ok(client, "Client should exist"); + ok(client.children, "Client should have children"); + ok(client.children.length > 0, "Client should have at least one child"); + + const fooClient = client.children.find((c) => c.name === "Foo"); + ok(fooClient, "Foo client should exist"); + strictEqual(fooClient.apiVersions.length, 2, "Foo client should have 2 apiVersions"); + ok(fooClient.apiVersions.includes("av1"), "Foo client should include av1"); + ok(fooClient.apiVersions.includes("av2"), "Foo client should include av2"); + + const barClient = client.children.find((c) => c.name === "Bar"); + ok(barClient, "Bar client should exist"); + strictEqual(barClient.apiVersions.length, 2, "Bar client should have 2 apiVersions"); + ok(barClient.apiVersions.includes("bv1"), "Bar client should include bv1"); + ok(barClient.apiVersions.includes("bv2"), "Bar client should include bv2"); + }); +}); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderSubClientTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderSubClientTests.cs index d973be30e0a..6de8507f420 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderSubClientTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderSubClientTests.cs @@ -71,7 +71,7 @@ public void SubClientWithMultipleSubClients() public void SubClientSummaryIsPopulatedWithDefaultDocs() { var mockGenerator = MockHelpers.LoadMockGenerator( - clients: () => [new InputClient("test", @namespace: "test", string.Empty, null, null, [], [], InputFactory.Client("parentClient"), null, null)]); + clients: () => [new InputClient("test", @namespace: "test", string.Empty, null, null, false, [], [], InputFactory.Client("parentClient"), null, null)]); var client = mockGenerator.Object.OutputLibrary.TypeProviders.OfType().SingleOrDefault(); Assert.IsNotNull(client); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs index aae9cb41c92..a2b1caf8ed1 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/ClientProviders/ClientProviderTests.cs @@ -197,7 +197,7 @@ public void TestBuildAuthFields_WithAuth(List inputParameters) [TestCaseSource(nameof(BuildOAuth2FlowsFieldTestCases))] public void TestBuildOAuth2FlowsField(IEnumerable inputFlows) { - var oauth2Auth = new InputOAuth2Auth([ ..inputFlows]); + var oauth2Auth = new InputOAuth2Auth([.. inputFlows]); Func? inputAuth = () => new InputAuth(null, oauth2Auth); MockHelpers.LoadMockGenerator(auth: inputAuth); @@ -1287,7 +1287,7 @@ public void ClientProviderSummaryIsPopulated() public void ClientProviderSummaryIsPopulatedWithDefaultDocs() { var mockGenerator = MockHelpers.LoadMockGenerator( - clients: () => [new InputClient("testClient", @namespace: "test", string.Empty, null, null, [], [], null, null, null)]); + clients: () => [new InputClient("testClient", @namespace: "test", string.Empty, null, null, false, [], [], null, null, null)]); var client = mockGenerator.Object.OutputLibrary.TypeProviders.OfType().SingleOrDefault(); Assert.IsNotNull(client); @@ -2759,7 +2759,7 @@ public void ServerTemplateWithBasePathOnly_DoesNotDuplicateBasePath() // - operation.Uri = "{endpoint}/contentsafety" (same as server template, no additional segments) // - operation.Path = "/text:analyze" (actual operation path) // Expected: Should append both the base path from server template and the operation path - + MockHelpers.LoadMockGenerator(); var serverTemplate = "{endpoint}/contentsafety"; @@ -2783,7 +2783,7 @@ public void ServerTemplateWithBasePathOnly_DoesNotDuplicateBasePath() var fullText = string.Join("\n", bodyText); var contentsafetyCount = System.Text.RegularExpressions.Regex.Matches(fullText, "contentsafety", System.Text.RegularExpressions.RegexOptions.IgnoreCase).Count; - + var analyzeTextCount = System.Text.RegularExpressions.Regex.Matches(fullText, "text:analyze", System.Text.RegularExpressions.RegexOptions.IgnoreCase).Count; Assert.AreEqual(1, contentsafetyCount, "Should append /contentsafety path segment from Uri (after endpoint)"); @@ -2798,7 +2798,7 @@ public void ServerTemplateWithPathParameter_OnlyAppendsSegmentsAfterEndpoint() // - operation.Uri = "{endpoint}/{apiVersion}" (path parameter in Uri) // - operation.Path = "/users/{userId}" (actual operation path with its own parameter) // Expected: Should append apiVersion parameter and then the operation path - + MockHelpers.LoadMockGenerator(); var serverTemplate = "{endpoint}/{apiVersion}"; @@ -2825,12 +2825,12 @@ public void ServerTemplateWithPathParameter_OnlyAppendsSegmentsAfterEndpoint() var bodyText = methodBody.Select(s => s.ToDisplayString()).ToArray(); var fullText = string.Join("\n", bodyText); - Assert.IsTrue(fullText.Contains("AppendPath(") && fullText.Contains("apiVersion"), + Assert.IsTrue(fullText.Contains("AppendPath(") && fullText.Contains("apiVersion"), "Should append apiVersion path parameter from Uri"); - - Assert.IsTrue(fullText.Contains("/users/"), + + Assert.IsTrue(fullText.Contains("/users/"), "Should append the operation path /users/"); - Assert.IsTrue(fullText.Contains("userId"), + Assert.IsTrue(fullText.Contains("userId"), "Should append userId path parameter from operation path"); } @@ -2842,7 +2842,7 @@ public void ServerTemplateWithMultipleSegments_HandlesCorrectly() // - operation.Uri = "{endpoint}/v1/services" (multiple static segments after endpoint) // - operation.Path = "/operations/{operationId}" // Expected: Should append /v1/services and then the operation path - + MockHelpers.LoadMockGenerator(); var serverTemplate = "{endpoint}/v1/services"; @@ -2869,12 +2869,12 @@ public void ServerTemplateWithMultipleSegments_HandlesCorrectly() var fullText = string.Join("\n", bodyText); // Should append /v1/services from Uri - Assert.IsTrue(fullText.Contains("/v1/services"), + Assert.IsTrue(fullText.Contains("/v1/services"), "Should append server template path segments /v1/services"); - - Assert.IsTrue(fullText.Contains("/operations/"), + + Assert.IsTrue(fullText.Contains("/operations/"), "Should append the operation path /operations/"); - Assert.IsTrue(fullText.Contains("operationId"), + Assert.IsTrue(fullText.Contains("operationId"), "Should append operationId path parameter"); } @@ -2886,7 +2886,7 @@ public void ServerTemplateEqualsEndpoint_OnlyAppendsOperationPath() // - operation.Uri = "{endpoint}" (same as server template) // - operation.Path = "/items" // Expected: Should only append the operation path - + MockHelpers.LoadMockGenerator(); var serverTemplate = "{endpoint}"; @@ -2910,10 +2910,10 @@ public void ServerTemplateEqualsEndpoint_OnlyAppendsOperationPath() var fullText = string.Join("\n", bodyText); var appendPathCount = System.Text.RegularExpressions.Regex.Matches(fullText, "AppendPath\\(").Count; - - Assert.GreaterOrEqual(appendPathCount, 1, + + Assert.GreaterOrEqual(appendPathCount, 1, "Should have at least one AppendPath call for the operation path"); - Assert.IsTrue(fullText.Contains("/items"), + Assert.IsTrue(fullText.Contains("/items"), "Should append the operation path /items"); } } diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/InputClient.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/InputClient.cs index a013c13f8ba..ca001c8a192 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/InputClient.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/InputClient.cs @@ -16,6 +16,7 @@ public InputClient( string crossLanguageDefinitionId, string? summary, string? doc, + bool isMultiServiceClient, IReadOnlyList methods, IReadOnlyList parameters, InputClient? parent, @@ -34,13 +35,14 @@ public InputClient( ApiVersions = apiVersions ?? []; } - public InputClient() : this(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, Array.Empty(), Array.Empty(), null, null, null) { } + public InputClient() : this(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, Array.Empty(), Array.Empty(), null, null, null) { } public string Name { get; internal set; } public string Namespace { get; internal set; } public string CrossLanguageDefinitionId { get; internal set; } public string? Summary { get; internal set; } public string? Doc { get; internal set; } + public bool IsMultiServiceClient { get; internal set; } public IReadOnlyList Methods { get; internal set; } public IReadOnlyList Parameters { get; internal set; } public InputClientInitializedBy InitializedBy { get; internal set; } @@ -74,6 +76,7 @@ public void Update( string? crossLanguageDefinitionId = null, string? summary = null, string? doc = null, + bool? isMultiServiceClient = null, IEnumerable? methods = null, IEnumerable? parameters = null, InputClient? parent = null, @@ -105,6 +108,11 @@ public void Update( Doc = doc; } + if (isMultiServiceClient != null) + { + IsMultiServiceClient = isMultiServiceClient.Value; + } + if (methods != null) { Methods = [.. methods]; diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/Serialization/InputClientConverter.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/Serialization/InputClientConverter.cs index b3824f68998..54e10bf1cb2 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/Serialization/InputClientConverter.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/src/InputTypes/Serialization/InputClientConverter.cs @@ -38,6 +38,7 @@ public override void Write(Utf8JsonWriter writer, InputClient value, JsonSeriali string? @namespace = null; string? summary = null; string? doc = null; + bool isMultiServiceClient = false; IReadOnlyList? methods = null; IReadOnlyList? parameters = null; int initializedByValue = 0; @@ -53,6 +54,7 @@ public override void Write(Utf8JsonWriter writer, InputClient value, JsonSeriali || reader.TryReadString("namespace", ref @namespace) || reader.TryReadString("summary", ref summary) || reader.TryReadString("doc", ref doc) + || reader.TryReadBoolean("isMultiServiceClient", ref isMultiServiceClient) || reader.TryReadComplexType("methods", options, ref methods) || reader.TryReadComplexType("parameters", options, ref parameters) || reader.TryReadInt32("initializedBy", ref initializedByValue) @@ -73,6 +75,7 @@ public override void Write(Utf8JsonWriter writer, InputClient value, JsonSeriali client.CrossLanguageDefinitionId = crossLanguageDefinitionId ?? string.Empty; client.Summary = summary; client.Doc = doc; + client.IsMultiServiceClient = isMultiServiceClient; client.Methods = methods ?? []; client.Parameters = parameters ?? []; client.InitializedBy = (InputClientInitializedBy)initializedByValue; diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/test/InputClientApiVersionsTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/test/InputClientApiVersionsTests.cs index 8e2d809f8a4..509732d52f2 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/test/InputClientApiVersionsTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.Input/test/InputClientApiVersionsTests.cs @@ -14,10 +14,11 @@ public void InputClient_ApiVersions_PropertyExists() // Act var client = new InputClient( "TestClient", - "TestNamespace", + "TestNamespace", "TestNamespace.TestClient", "Test summary", "Test documentation", + false, [], [], null, @@ -37,10 +38,11 @@ public void InputClient_ApiVersions_DefaultEmpty() // Act var client = new InputClient( "TestClient", - "TestNamespace", + "TestNamespace", "TestNamespace.TestClient", "Test summary", "Test documentation", + false, [], [], null, @@ -58,10 +60,11 @@ public void InputClient_ApiVersions_EmptyCollection() // Act var client = new InputClient( "TestClient", - "TestNamespace", + "TestNamespace", "TestNamespace.TestClient", "Test summary", "Test documentation", + false, [], [], null, @@ -82,10 +85,11 @@ public void InputClient_Constructor_SetsApiVersions() // Act var client = new InputClient( "TestClient", - "TestNamespace", + "TestNamespace", "TestNamespace.TestClient", "Test summary", "Test documentation", + false, [], [], null, @@ -105,10 +109,11 @@ public void InputClient_Constructor_HandlesNullApiVersions() // Act var client = new InputClient( "TestClient", - "TestNamespace", + "TestNamespace", "TestNamespace.TestClient", "Test summary", "Test documentation", + false, [], [], null, @@ -131,4 +136,4 @@ public void InputClient_DefaultConstructor_HasEmptyApiVersions() Assert.AreEqual(0, client.ApiVersions.Count); } } -} \ No newline at end of file +} diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/test/common/InputFactory.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/test/common/InputFactory.cs index 3492ce53eed..51335bbf84e 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/test/common/InputFactory.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator/test/common/InputFactory.cs @@ -668,7 +668,7 @@ public static InputServiceMethodResponse ServiceMethodResponse(InputType? type, private static readonly Dictionary> _childClientsCache = new(); - public static InputClient Client(string name, string clientNamespace = "Sample", string? doc = null, IEnumerable? methods = null, IEnumerable? parameters = null, InputClient? parent = null, string? crossLanguageDefinitionId = null, IEnumerable? apiVersions = null, InputClientInitializedBy initializedBy = InputClientInitializedBy.Default) + public static InputClient Client(string name, string clientNamespace = "Sample", string? doc = null, IEnumerable? methods = null, IEnumerable? parameters = null, InputClient? parent = null, string? crossLanguageDefinitionId = null, IEnumerable? apiVersions = null, InputClientInitializedBy initializedBy = InputClientInitializedBy.Default, bool? isMultiServiceClient = false) { // when this client has parent, we add the constructed client into the `children` list of the parent var clientChildren = new List(); @@ -678,6 +678,7 @@ public static InputClient Client(string name, string clientNamespace = "Sample", crossLanguageDefinitionId ?? $"{clientNamespace}.{name}", string.Empty, doc ?? $"{name} description", + isMultiServiceClient ?? false, methods is null ? [] : [.. methods], parameters is null ? [] : [.. parameters], parent, diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/tspCodeModel.json index 32651351eef..42e9762adf7 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/tspCodeModel.json @@ -8718,7 +8718,8 @@ ], "parent": { "$ref": "368" - } + }, + "isMultiServiceClient": false }, { "$id": "636", @@ -9080,7 +9081,8 @@ ], "parent": { "$ref": "368" - } + }, + "isMultiServiceClient": false }, { "$id": "655", @@ -9281,7 +9283,8 @@ ], "parent": { "$ref": "368" - } + }, + "isMultiServiceClient": false }, { "$id": "666", @@ -9444,9 +9447,11 @@ ], "parent": { "$ref": "368" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ], "auth": { diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/tspCodeModel.json index b626ce960b4..81608214ea7 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/api-key/tspCodeModel.json @@ -163,7 +163,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Authentication.ApiKey", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ], "auth": { diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/tspCodeModel.json index 6f358b85bbe..5034f4006e6 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/http/custom/tspCodeModel.json @@ -163,7 +163,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Authentication.Http.Custom", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ], "auth": { diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/noauth/union/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/noauth/union/tspCodeModel.json index d8c20c59a8d..9050aa1d8d4 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/noauth/union/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/noauth/union/tspCodeModel.json @@ -126,7 +126,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Authentication.Noauth.Union", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ], "auth": { diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/tspCodeModel.json index 5b2a5968dab..9095bf4638b 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/oauth2/tspCodeModel.json @@ -163,7 +163,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Authentication.OAuth2", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ], "auth": { diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/tspCodeModel.json index eae391acb19..9043d5eefdb 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/authentication/union/tspCodeModel.json @@ -126,7 +126,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Authentication.Union", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ], "auth": { diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/tspCodeModel.json index 2efe60bb279..2f83772b919 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/client-operation-group/tspCodeModel.json @@ -309,7 +309,8 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false }, { "$id": "22", @@ -402,9 +403,11 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "28", @@ -587,9 +590,11 @@ "apiVersions": [], "parent": { "$ref": "28" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/tspCodeModel.json index f55bfdb27a1..ac4438a258a 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/default/tspCodeModel.json @@ -365,9 +365,11 @@ "apiVersions": [], "parent": { "$ref": "16" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "26", @@ -553,9 +555,11 @@ "apiVersions": [], "parent": { "$ref": "26" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "38", @@ -685,7 +689,8 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false }, { "$id": "46", @@ -815,9 +820,11 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/tspCodeModel.json index 04b3df4d83d..8c6edc1ceef 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/multi-client/tspCodeModel.json @@ -253,7 +253,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Client.Structure.MultiClient.ClientA", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false }, { "$id": "18", @@ -417,7 +418,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Client.Structure.MultiClient.ClientB", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/tspCodeModel.json index ca7d3d77caf..fc407489fff 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/renamed-operation/tspCodeModel.json @@ -420,9 +420,11 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/tspCodeModel.json index b2c6fde754d..92badf98eca 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/client/structure/two-operation-group/tspCodeModel.json @@ -308,7 +308,8 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false }, { "$id": "22", @@ -475,9 +476,11 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/tspCodeModel.json index d40b6cafc86..bfcdaeec6b0 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/documentation/tspCodeModel.json @@ -433,7 +433,8 @@ "apiVersions": [], "parent": { "$ref": "12" - } + }, + "isMultiServiceClient": false }, { "$id": "30", @@ -597,9 +598,11 @@ "apiVersions": [], "parent": { "$ref": "12" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/tspCodeModel.json index d748bcd4b36..7820bc1b0d2 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/array/tspCodeModel.json @@ -987,9 +987,11 @@ "apiVersions": [], "parent": { "$ref": "27" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/tspCodeModel.json index 93af3e62c79..be16b0baa22 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/bytes/tspCodeModel.json @@ -994,7 +994,8 @@ "apiVersions": [], "parent": { "$ref": "67" - } + }, + "isMultiServiceClient": false }, { "$id": "97", @@ -1665,7 +1666,8 @@ "apiVersions": [], "parent": { "$ref": "67" - } + }, + "isMultiServiceClient": false }, { "$id": "133", @@ -2032,7 +2034,8 @@ "apiVersions": [], "parent": { "$ref": "67" - } + }, + "isMultiServiceClient": false }, { "$id": "159", @@ -2680,7 +2683,8 @@ "apiVersions": [], "parent": { "$ref": "67" - } + }, + "isMultiServiceClient": false }, { "$id": "203", @@ -3199,9 +3203,11 @@ "apiVersions": [], "parent": { "$ref": "67" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/tspCodeModel.json index 885fde54685..3fa8dd349c0 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/datetime/tspCodeModel.json @@ -955,7 +955,8 @@ "apiVersions": [], "parent": { "$ref": "44" - } + }, + "isMultiServiceClient": false }, { "$id": "88", @@ -1782,7 +1783,8 @@ "apiVersions": [], "parent": { "$ref": "44" - } + }, + "isMultiServiceClient": false }, { "$id": "132", @@ -2287,7 +2289,8 @@ "apiVersions": [], "parent": { "$ref": "44" - } + }, + "isMultiServiceClient": false }, { "$id": "172", @@ -2562,9 +2565,11 @@ "apiVersions": [], "parent": { "$ref": "44" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/tspCodeModel.json index 06cabf75f40..b0e62bf7a58 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/duration/tspCodeModel.json @@ -2570,7 +2570,8 @@ "apiVersions": [], "parent": { "$ref": "119" - } + }, + "isMultiServiceClient": false }, { "$id": "241", @@ -4801,7 +4802,8 @@ "apiVersions": [], "parent": { "$ref": "119" - } + }, + "isMultiServiceClient": false }, { "$id": "357", @@ -6216,9 +6218,11 @@ "apiVersions": [], "parent": { "$ref": "119" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/tspCodeModel.json index 6774f9010c6..7542ab11348 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/encode/numeric/tspCodeModel.json @@ -771,9 +771,11 @@ "apiVersions": [], "parent": { "$ref": "22" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/tspCodeModel.json index ca9b51261b2..b657055228e 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/basic/tspCodeModel.json @@ -314,7 +314,8 @@ "apiVersions": [], "parent": { "$ref": "11" - } + }, + "isMultiServiceClient": false }, { "$id": "25", @@ -478,9 +479,11 @@ "apiVersions": [], "parent": { "$ref": "11" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/tspCodeModel.json index 0723769e274..a94e8f27313 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/body-optionality/tspCodeModel.json @@ -653,9 +653,11 @@ "apiVersions": [], "parent": { "$ref": "12" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/tspCodeModel.json index 19eac4aceec..6872ea8cefc 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/collection-format/tspCodeModel.json @@ -404,7 +404,8 @@ "apiVersions": [], "parent": { "$ref": "1" - } + }, + "isMultiServiceClient": false }, { "$id": "27", @@ -527,9 +528,11 @@ "apiVersions": [], "parent": { "$ref": "1" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/tspCodeModel.json index bdb31ab5be8..7c3ae400989 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/path/tspCodeModel.json @@ -214,7 +214,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Parameters.Path", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/tspCodeModel.json index fd10ca858ab..8599f433030 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/query/tspCodeModel.json @@ -202,9 +202,11 @@ "apiVersions": [], "parent": { "$ref": "5" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/tspCodeModel.json index 16d4ddce1f6..870b1189c76 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/parameters/spread/tspCodeModel.json @@ -1367,7 +1367,8 @@ "apiVersions": [], "parent": { "$ref": "50" - } + }, + "isMultiServiceClient": false }, { "$id": "110", @@ -2423,9 +2424,11 @@ "apiVersions": [], "parent": { "$ref": "50" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/tspCodeModel.json index 35e1a27ca50..45f58199781 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/content-negotiation/tspCodeModel.json @@ -550,7 +550,8 @@ "apiVersions": [], "parent": { "$ref": "31" - } + }, + "isMultiServiceClient": false }, { "$id": "49", @@ -781,9 +782,11 @@ "apiVersions": [], "parent": { "$ref": "31" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/tspCodeModel.json index 1a3db1c7798..b577291e9ff 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/json-merge-patch/tspCodeModel.json @@ -1107,7 +1107,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Payload.JsonMergePatch", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/tspCodeModel.json index b58fcc04d1b..551aaeb33b5 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/media-type/tspCodeModel.json @@ -649,9 +649,11 @@ "apiVersions": [], "parent": { "$ref": "17" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/tspCodeModel.json index 654b074b5fe..aca01b6f369 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/multipart/tspCodeModel.json @@ -3589,7 +3589,8 @@ "apiVersions": [], "parent": { "$ref": "219" - } + }, + "isMultiServiceClient": false }, { "$id": "251", @@ -3749,13 +3750,17 @@ "apiVersions": [], "parent": { "$ref": "219" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/tspCodeModel.json index be4a5cc8bb8..491f9b9668d 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/payload/pageable/tspCodeModel.json @@ -2768,9 +2768,11 @@ "apiVersions": [], "parent": { "$ref": "81" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "199", @@ -3042,9 +3044,11 @@ "apiVersions": [], "parent": { "$ref": "77" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/tspCodeModel.json index 7cda299454d..e51ba133a2b 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v1/tspCodeModel.json @@ -345,7 +345,8 @@ "crossLanguageDefinitionId": "Resiliency.ServiceDriven", "apiVersions": [ "v1" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/tspCodeModel.json index cb0150079cb..528d49145e9 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/resiliency/srv-driven/v2/tspCodeModel.json @@ -536,7 +536,8 @@ "apiVersions": [ "v1", "v2" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/tspCodeModel.json index 3f6cf9c2e14..3c3d5b614c5 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/response/status-code-range/tspCodeModel.json @@ -317,7 +317,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Response.StatusCodeRange", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/tspCodeModel.json index 18099b5ed80..09225167e9c 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/routes/tspCodeModel.json @@ -594,7 +594,8 @@ "apiVersions": [], "parent": { "$ref": "7" - } + }, + "isMultiServiceClient": false }, { "$id": "45", @@ -947,7 +948,8 @@ "apiVersions": [], "parent": { "$ref": "45" - } + }, + "isMultiServiceClient": false }, { "$id": "72", @@ -1227,9 +1229,11 @@ "apiVersions": [], "parent": { "$ref": "45" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "90", @@ -1555,7 +1559,8 @@ "apiVersions": [], "parent": { "$ref": "90" - } + }, + "isMultiServiceClient": false }, { "$id": "112", @@ -1835,9 +1840,11 @@ "apiVersions": [], "parent": { "$ref": "90" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "130", @@ -2163,7 +2170,8 @@ "apiVersions": [], "parent": { "$ref": "130" - } + }, + "isMultiServiceClient": false }, { "$id": "152", @@ -2443,9 +2451,11 @@ "apiVersions": [], "parent": { "$ref": "130" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "170", @@ -2771,7 +2781,8 @@ "apiVersions": [], "parent": { "$ref": "170" - } + }, + "isMultiServiceClient": false }, { "$id": "192", @@ -3051,11 +3062,14 @@ "apiVersions": [], "parent": { "$ref": "170" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "210", @@ -3659,7 +3673,8 @@ "apiVersions": [], "parent": { "$ref": "232" - } + }, + "isMultiServiceClient": false }, { "$id": "254", @@ -3930,9 +3945,11 @@ "apiVersions": [], "parent": { "$ref": "232" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "272", @@ -4249,7 +4266,8 @@ "apiVersions": [], "parent": { "$ref": "272" - } + }, + "isMultiServiceClient": false }, { "$id": "294", @@ -4520,11 +4538,14 @@ "apiVersions": [], "parent": { "$ref": "272" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "312", @@ -4608,9 +4629,11 @@ "apiVersions": [], "parent": { "$ref": "1" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/tspCodeModel.json index f668470ab70..6d3d4efcf0c 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/serialization/encoded-name/json/tspCodeModel.json @@ -360,9 +360,11 @@ "apiVersions": [], "parent": { "$ref": "8" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/tspCodeModel.json index 4997ff6ac68..ada5277b8f8 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/endpoint/not-defined/tspCodeModel.json @@ -76,7 +76,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Server.Endpoint.NotDefined", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/tspCodeModel.json index 2af4d7eefa8..be1805d3428 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/multiple/tspCodeModel.json @@ -229,7 +229,8 @@ "crossLanguageDefinitionId": "Server.Path.Multiple", "apiVersions": [ "v1.0" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/tspCodeModel.json index edb753e6884..4cbca1ef729 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/path/single/tspCodeModel.json @@ -76,7 +76,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Server.Path.Single", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/tspCodeModel.json index e789fd54875..6ddf39922b8 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/not-versioned/tspCodeModel.json @@ -239,7 +239,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Server.Versions.NotVersioned", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/tspCodeModel.json index 3c0577ba125..018b4f1792e 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/server/versions/versioned/tspCodeModel.json @@ -378,7 +378,8 @@ "apiVersions": [ "2021-01-01-preview", "2022-12-01-preview" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/tspCodeModel.json index e88aeadaed2..9b6408fc83b 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/conditional-request/tspCodeModel.json @@ -416,7 +416,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "SpecialHeaders.ConditionalRequest", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/tspCodeModel.json index 63467af4711..40f123ec483 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-headers/repeatability/tspCodeModel.json @@ -243,7 +243,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "SpecialHeaders.Repeatability", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/tspCodeModel.json index b89ad09e2fb..ebb741bba11 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/special-words/tspCodeModel.json @@ -5871,7 +5871,8 @@ "apiVersions": [], "parent": { "$ref": "194" - } + }, + "isMultiServiceClient": false }, { "$id": "400", @@ -6145,7 +6146,8 @@ "apiVersions": [], "parent": { "$ref": "194" - } + }, + "isMultiServiceClient": false }, { "$id": "416", @@ -7414,7 +7416,8 @@ "apiVersions": [], "parent": { "$ref": "194" - } + }, + "isMultiServiceClient": false }, { "$id": "486", @@ -10182,9 +10185,11 @@ "apiVersions": [], "parent": { "$ref": "194" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/tspCodeModel.json index c09d5af4996..855cfbbc47a 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/array/tspCodeModel.json @@ -817,7 +817,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "82", @@ -1071,7 +1072,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "98", @@ -1325,7 +1327,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "114", @@ -1579,7 +1582,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "130", @@ -1833,7 +1837,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "146", @@ -2095,7 +2100,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "163", @@ -2357,7 +2363,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "180", @@ -2611,7 +2618,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "196", @@ -2854,7 +2862,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "210", @@ -3113,7 +3122,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "227", @@ -3372,7 +3382,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "244", @@ -3631,7 +3642,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "261", @@ -3890,7 +3902,8 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false }, { "$id": "278", @@ -4145,9 +4158,11 @@ "apiVersions": [], "parent": { "$ref": "62" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/tspCodeModel.json index 42db82b8c7c..54c8511c188 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/dictionary/tspCodeModel.json @@ -731,7 +731,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "72", @@ -990,7 +991,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "89", @@ -1249,7 +1251,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "106", @@ -1508,7 +1511,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "123", @@ -1767,7 +1771,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "140", @@ -2034,7 +2039,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "158", @@ -2301,7 +2307,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "176", @@ -2560,7 +2567,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "193", @@ -2803,7 +2811,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "207", @@ -3046,7 +3055,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "221", @@ -3310,9 +3320,11 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/tspCodeModel.json index 942e411bfd6..acead53f75a 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/extensible/tspCodeModel.json @@ -744,9 +744,11 @@ "apiVersions": [], "parent": { "$ref": "26" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/tspCodeModel.json index 7364dc8a8d0..f7adc23b9da 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/enum/fixed/tspCodeModel.json @@ -632,9 +632,11 @@ "apiVersions": [], "parent": { "$ref": "22" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/tspCodeModel.json index 005de7878b6..6be9ee9af23 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/empty/tspCodeModel.json @@ -498,7 +498,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Empty", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/tspCodeModel.json index 44274175219..eebd88c2424 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/enum-discriminator/tspCodeModel.json @@ -1297,7 +1297,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Inheritance.EnumDiscriminator", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/tspCodeModel.json index d4d18fcfe64..4f94383f20a 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/nested-discriminator/tspCodeModel.json @@ -1104,7 +1104,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Inheritance.NestedDiscriminator", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/tspCodeModel.json index 0c111b63ec2..46694a7ea9e 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/not-discriminated/tspCodeModel.json @@ -582,7 +582,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Inheritance.NotDiscriminated", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/tspCodeModel.json index 28862ccf662..80548524bd8 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/recursive/tspCodeModel.json @@ -357,7 +357,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Inheritance.Recursive", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/tspCodeModel.json index f60046c387f..cdcc40520b6 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/inheritance/single-discriminator/tspCodeModel.json @@ -1295,7 +1295,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Inheritance.SingleDiscriminator", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/tspCodeModel.json index af361f5ce12..6805dd93b07 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/usage/tspCodeModel.json @@ -576,7 +576,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Usage", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/tspCodeModel.json index a9b93b39913..ffd55f83009 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/model/visibility/tspCodeModel.json @@ -1346,7 +1346,8 @@ "initializedBy": 1, "decorators": [], "crossLanguageDefinitionId": "Type.Model.Visibility", - "apiVersions": [] + "apiVersions": [], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/tspCodeModel.json index d3ea7c0beff..440dae9853d 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/additional-properties/tspCodeModel.json @@ -3281,7 +3281,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "299", @@ -3529,7 +3530,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "313", @@ -3777,7 +3779,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "327", @@ -4025,7 +4028,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "341", @@ -4273,7 +4277,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "355", @@ -4521,7 +4526,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "369", @@ -4769,7 +4775,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "383", @@ -5017,7 +5024,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "397", @@ -5265,7 +5273,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "411", @@ -5513,7 +5522,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "425", @@ -5761,7 +5771,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "439", @@ -6009,7 +6020,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "453", @@ -6257,7 +6269,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "467", @@ -6505,7 +6518,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "481", @@ -6753,7 +6767,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "495", @@ -7001,7 +7016,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "509", @@ -7249,7 +7265,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "523", @@ -7497,7 +7514,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "537", @@ -7745,7 +7763,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "551", @@ -7993,7 +8012,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "565", @@ -8241,7 +8261,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "579", @@ -8489,7 +8510,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "593", @@ -8737,7 +8759,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "607", @@ -8985,7 +9008,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "621", @@ -9233,7 +9257,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "635", @@ -9481,7 +9506,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "649", @@ -9729,7 +9755,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "663", @@ -9977,7 +10004,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "677", @@ -10225,7 +10253,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "691", @@ -10473,7 +10502,8 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false }, { "$id": "705", @@ -10721,9 +10751,11 @@ "apiVersions": [], "parent": { "$ref": "281" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/tspCodeModel.json index 12920965491..82a06227994 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/nullable/tspCodeModel.json @@ -1722,7 +1722,8 @@ "apiVersions": [], "parent": { "$ref": "134" - } + }, + "isMultiServiceClient": false }, { "$id": "162", @@ -2167,7 +2168,8 @@ "apiVersions": [], "parent": { "$ref": "134" - } + }, + "isMultiServiceClient": false }, { "$id": "186", @@ -2612,7 +2614,8 @@ "apiVersions": [], "parent": { "$ref": "134" - } + }, + "isMultiServiceClient": false }, { "$id": "210", @@ -3057,7 +3060,8 @@ "apiVersions": [], "parent": { "$ref": "134" - } + }, + "isMultiServiceClient": false }, { "$id": "234", @@ -3502,7 +3506,8 @@ "apiVersions": [], "parent": { "$ref": "134" - } + }, + "isMultiServiceClient": false }, { "$id": "258", @@ -3947,7 +3952,8 @@ "apiVersions": [], "parent": { "$ref": "134" - } + }, + "isMultiServiceClient": false }, { "$id": "282", @@ -4392,9 +4398,11 @@ "apiVersions": [], "parent": { "$ref": "134" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/tspCodeModel.json index b5395ecd876..909a4000c4b 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/optionality/tspCodeModel.json @@ -2421,7 +2421,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "229", @@ -2866,7 +2867,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "253", @@ -3311,7 +3313,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "277", @@ -3756,7 +3759,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "301", @@ -4201,7 +4205,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "325", @@ -4646,7 +4651,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "349", @@ -5091,7 +5097,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "373", @@ -5536,7 +5543,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "397", @@ -5981,7 +5989,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "421", @@ -6426,7 +6435,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "445", @@ -6871,7 +6881,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "469", @@ -7316,7 +7327,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "493", @@ -7761,7 +7773,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "517", @@ -8206,7 +8219,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "541", @@ -8651,7 +8665,8 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false }, { "$id": "565", @@ -9097,9 +9112,11 @@ "apiVersions": [], "parent": { "$ref": "201" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/tspCodeModel.json index 0c8e502244f..9251942174e 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/property/value-types/tspCodeModel.json @@ -2720,7 +2720,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "253", @@ -2968,7 +2969,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "267", @@ -3216,7 +3218,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "281", @@ -3464,7 +3467,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "295", @@ -3712,7 +3716,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "309", @@ -3960,7 +3965,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "323", @@ -4208,7 +4214,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "337", @@ -4456,7 +4463,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "351", @@ -4704,7 +4712,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "365", @@ -4952,7 +4961,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "379", @@ -5200,7 +5210,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "393", @@ -5448,7 +5459,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "407", @@ -5696,7 +5708,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "421", @@ -5944,7 +5957,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "435", @@ -6192,7 +6206,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "449", @@ -6440,7 +6455,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "463", @@ -6688,7 +6704,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "477", @@ -6936,7 +6953,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "491", @@ -7184,7 +7202,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "505", @@ -7432,7 +7451,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "519", @@ -7680,7 +7700,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "533", @@ -7928,7 +7949,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "547", @@ -8176,7 +8198,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "561", @@ -8424,7 +8447,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "575", @@ -8672,7 +8696,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "589", @@ -8920,7 +8945,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "603", @@ -9168,7 +9194,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "617", @@ -9416,7 +9443,8 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false }, { "$id": "631", @@ -9664,9 +9692,11 @@ "apiVersions": [], "parent": { "$ref": "235" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/tspCodeModel.json index 694d0269634..d36421f0166 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/scalar/tspCodeModel.json @@ -713,7 +713,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "72", @@ -979,7 +980,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "89", @@ -1245,7 +1247,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "106", @@ -1586,7 +1589,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "129", @@ -1927,7 +1931,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "152", @@ -2187,7 +2192,8 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false }, { "$id": "170", @@ -2404,9 +2410,11 @@ "apiVersions": [], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/discriminated/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/discriminated/tspCodeModel.json index eab4e132739..509b7f9d97b 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/discriminated/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/discriminated/tspCodeModel.json @@ -793,7 +793,8 @@ "apiVersions": [], "parent": { "$ref": "43" - } + }, + "isMultiServiceClient": false }, { "$id": "68", @@ -1131,11 +1132,14 @@ "apiVersions": [], "parent": { "$ref": "43" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false }, { "$id": "89", @@ -1519,7 +1523,8 @@ "apiVersions": [], "parent": { "$ref": "89" - } + }, + "isMultiServiceClient": false }, { "$id": "114", @@ -1857,11 +1862,14 @@ "apiVersions": [], "parent": { "$ref": "89" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/tspCodeModel.json index 3e5a7701e23..59315302693 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/type/union/tspCodeModel.json @@ -2228,7 +2228,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "177", @@ -2471,7 +2472,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "191", @@ -2714,7 +2716,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "205", @@ -2957,7 +2960,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "219", @@ -3200,7 +3204,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "233", @@ -3443,7 +3448,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "247", @@ -3686,7 +3692,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "261", @@ -3929,7 +3936,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "275", @@ -4172,7 +4180,8 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false }, { "$id": "289", @@ -4415,9 +4424,11 @@ "apiVersions": [], "parent": { "$ref": "159" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/tspCodeModel.json index 9eedb2d2d22..12e48308e43 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v1/tspCodeModel.json @@ -388,7 +388,8 @@ "crossLanguageDefinitionId": "Versioning.Added", "apiVersions": [ "v1" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/tspCodeModel.json index 19c32f67d05..36ff20a6d78 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/added/v2/tspCodeModel.json @@ -1085,9 +1085,11 @@ ], "parent": { "$ref": "41" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/tspCodeModel.json index 7ac3dee87ec..13a7b66ac6e 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v1/tspCodeModel.json @@ -400,7 +400,8 @@ "crossLanguageDefinitionId": "Versioning.MadeOptional", "apiVersions": [ "v1" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/tspCodeModel.json index ec32083ed9d..6b505194c2d 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/madeOptional/v2/tspCodeModel.json @@ -417,7 +417,8 @@ "apiVersions": [ "v1", "v2" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/tspCodeModel.json index 96737162302..7afc263d6d4 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v1/tspCodeModel.json @@ -1398,9 +1398,11 @@ ], "parent": { "$ref": "55" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/tspCodeModel.json index 11dd0f6f687..be153d14433 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2/tspCodeModel.json @@ -760,7 +760,8 @@ "v1", "v2preview", "v2" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/tspCodeModel.json index 016ebbe3362..295629a52e2 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/removed/v2Preview/tspCodeModel.json @@ -1352,9 +1352,11 @@ ], "parent": { "$ref": "51" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/tspCodeModel.json index ac464bc31cd..e01a0b0e7cf 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v1/tspCodeModel.json @@ -734,9 +734,11 @@ ], "parent": { "$ref": "24" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/tspCodeModel.json index c6fe7809d10..61736e32e6b 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/renamedFrom/v2/tspCodeModel.json @@ -753,9 +753,11 @@ ], "parent": { "$ref": "25" - } + }, + "isMultiServiceClient": false } - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/tspCodeModel.json index 0a43cc2d0ac..001a69fb017 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v1/tspCodeModel.json @@ -347,7 +347,8 @@ "crossLanguageDefinitionId": "Versioning.ReturnTypeChangedFrom", "apiVersions": [ "v1" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/tspCodeModel.json index 4ac2b2076d5..e449424adf9 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/returnTypeChangedFrom/v2/tspCodeModel.json @@ -364,7 +364,8 @@ "apiVersions": [ "v1", "v2" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/tspCodeModel.json index d36f274f272..89077752c05 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v1/tspCodeModel.json @@ -400,7 +400,8 @@ "crossLanguageDefinitionId": "Versioning.TypeChangedFrom", "apiVersions": [ "v1" - ] + ], + "isMultiServiceClient": false } ] } diff --git a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/tspCodeModel.json b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/tspCodeModel.json index 93566622684..b48a68ad6ff 100644 --- a/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/tspCodeModel.json +++ b/packages/http-client-csharp/generator/TestProjects/Spector/http/versioning/typeChangedFrom/v2/tspCodeModel.json @@ -417,7 +417,8 @@ "apiVersions": [ "v1", "v2" - ] + ], + "isMultiServiceClient": false } ] }