@forge/cli

12.16.1-next.6-experimental-13a01c212.17.0-next.7
out/devspace/devspace-service.js
~out/devspace/devspace-service.jsModified
+32−1
Index: package/out/devspace/devspace-service.js
===================================================================
--- package/out/devspace/devspace-service.js
+++ package/out/devspace/devspace-service.js
@@ -1,14 +1,17 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.DevSpaceService = void 0;
 const cli_shared_1 = require("@forge/cli-shared");
+const ari_1 = require("@forge/util/packages/ari");
 class DevSpaceService {
     devSpaceClient;
     analyticsClient;
-    constructor(devSpaceClient, analyticsClient) {
+    statsigService;
+    constructor(devSpaceClient, analyticsClient, statsigService) {
         this.devSpaceClient = devSpaceClient;
         this.analyticsClient = analyticsClient;
+        this.statsigService = statsigService;
     }
     async fetchAllDevSpaces() {
         const devSpaceIds = await this.devSpaceClient.getDevSpacesWithLinkingAccess();
         if (!devSpaceIds || devSpaceIds.length === 0) {
@@ -80,7 +83,35 @@
             }
             throw error;
         }
     }
+    async displayEnforcementWarningsIfNeeded(ui, appAri, command) {
+        const isEnforcementFlowEnabled = await this.statsigService.isDeveloperSpaceEnforcementFlowEnabled();
+        if (!isEnforcementFlowEnabled) {
+            return;
+        }
+        const appIdUuid = ari_1.EcosystemAppAri.parse(appAri).appId;
+        try {
+            const result = await this.devSpaceClient.getAppEnforcementMetadata(appIdUuid);
+            if (!result) {
+                return;
+            }
+            if (result.error) {
+                return;
+            }
+            const metadata = result.metadata;
+            if (!metadata || !metadata.developerSpaceId) {
+                ui.warn(cli_shared_1.Text.devSpace.appEnforcementsWarnings.appNotAssignedToDeveloperSpaceWarning);
+                ui.emptyLine();
+            }
+            else if (!metadata.ccpEntitlementId) {
+                ui.warn(cli_shared_1.Text.devSpace.appEnforcementsWarnings.developerSpaceSetupIncomplete(command));
+                ui.info(cli_shared_1.Text.devSpace.appEnforcementsWarnings.developerSpaceSetupIncompleteLink(metadata.developerSpaceId));
+                ui.emptyLine();
+            }
+        }
+        catch {
+        }
+    }
 }
 exports.DevSpaceService = DevSpaceService;
 //# sourceMappingURL=devspace-service.js.map
\ No newline at end of file