@forge/cli

14.2.0-next.11-experimental-e03cc8514.2.0-next.19
out/command-line/dependency-injection.js
~out/command-line/dependency-injection.jsModified
+7−5
Index: package/out/command-line/dependency-injection.js
===================================================================
--- package/out/command-line/dependency-injection.js
+++ package/out/command-line/dependency-injection.js
@@ -108,11 +108,11 @@
     const cachedConf = cli_shared_1.CachedConf.getCache(cli_shared_1.CONFIG_PROJECT_NAME);
     const cachedConfigService = new cached_config_service_1.CachedConfigService(cachedConf);
     const ui = new cli_shared_1.CommandLineUI(() => cmd.verbose, undefined, undefined, undefined, () => cachedConfigService.getCustomEffects());
     const graphqlGateway = (0, cli_shared_1.getGraphqlGateway)();
-    const createGraphQLClient = (auth) => {
-        const minimalGraphQLRunner = new cli_shared_1.MinimalGraphQLRunner(auth, graphqlGateway, cliDetails);
-        const graphQLRunner = new cli_shared_1.DebuggingGraphqlRunner(minimalGraphQLRunner, graphqlGateway, ui);
+    const createGraphQLClient = (auth, endpoint = graphqlGateway) => {
+        const minimalGraphQLRunner = new cli_shared_1.MinimalGraphQLRunner(auth, endpoint, cliDetails);
+        const graphQLRunner = new cli_shared_1.DebuggingGraphqlRunner(minimalGraphQLRunner, endpoint, ui);
         return new cli_shared_1.MutationAwareGraphQLClient(graphQLRunner);
     };
     const userRepository = new cli_shared_1.UserRepositoryImpl(createGraphQLClient, ui);
     const credentialStore = (0, cli_shared_1.getCredentialStore)(ui, userRepository);
@@ -137,8 +137,9 @@
     const preCommandController = new pre_command_controller_1.PreCommandController(liteLintService, liteLintView, configFile, cachedConfigService, analyticsSettingsView, settingsView, statsigService);
     const authenticator = new cli_shared_1.PersonalTokenAuthenticator(credentialStore);
     (0, sentry_1.initialiseSentry)({ cliDetails, cachedConfigService });
     const graphQLClient = createGraphQLClient(authenticator);
+    const pathBasedGraphQLClientResolver = new cli_shared_1.PathBasedGraphQLClientResolver(graphQLClient, (endpoint) => createGraphQLClient(authenticator, endpoint));
     const fileUploader = new cli_shared_1.HttpFileUploader(fileReader);
     const feedbackPostClient = new cli_shared_1.HttpsFeedbackPostClient();
     const zipAccessor = new cli_shared_1.AdmZipAccessor();
     const loginCommand = new cli_shared_1.LoginCommand(userRepository, credentialStore);
@@ -182,13 +183,14 @@
     const listEntitiesIndexesCommand = new list_indexes_1.ListEntitiesIndexesCommand(customEntitiesService);
     const bitbucketTranslation = new site_translation_1.BitbucketTranslator();
     const cloudProductTranslation = new site_translation_1.SitedProductTranslator(graphQLClient);
     const installationsClient = new graphql_client_6.InstallationsGraphqlClient(graphQLClient, cloudProductTranslation, bitbucketTranslation, cli_shared_1.pause, ui);
-    const extensionsService = new extensions_service_1.ExtensionsService(assertiveAppConfigReader, appEnvironmentClient, graphQLClient, installationsClient);
+    const getTenantBasedGraphQLClient = (installation) => pathBasedGraphQLClientResolver.resolve(installation.site);
+    const extensionsService = new extensions_service_1.ExtensionsService(assertiveAppConfigReader, appEnvironmentClient, getTenantBasedGraphQLClient, installationsClient);
     const installAppSiteCommand = new install_app_site_1.InstallAppSiteCommand(assertiveAppConfigReader, installationsClient);
     const uninstallAppCommand = new uninstall_app_1.UninstallAppCommand(assertiveAppConfigReader, installationsClient);
     const deployMonitorClient = new deploy_1.DeployMonitorGraphqlClient(graphQLClient);
-    const webTriggerGraphqlClient = new graphql_client_7.WebTriggerGraphQLClient(graphQLClient);
+    const webTriggerGraphqlClient = new graphql_client_7.WebTriggerGraphQLClient(getTenantBasedGraphQLClient);
     const archiverFactory = (options) => (0, deploy_1.makeArchiver)({ logger: ui, ...options });
     const uploaderArtifactClient = new deploy_1.ArtifactGraphQLClient(graphQLClient);
     const triggerDeployClient = new deploy_1.TriggerDeployGraphQLClient(graphQLClient);
     const archiveUploader = new deploy_1.AppArchiveUploader(assertiveAppConfigReader, uploaderArtifactClient, fileUploader, ui, archiverFactory, fileReader, process.cwd(), new resources_uploader_service_1.ResourcesUploaderService(fileReader));