@forge/cli

14.1.0-next.21-experimental-554d41714.1.0-next.19-experimental-fd0ebbc
out/deployments/deployments-graphql-client.js
~out/deployments/deployments-graphql-client.jsModified
+45−38
Index: package/out/deployments/deployments-graphql-client.js
===================================================================
--- package/out/deployments/deployments-graphql-client.js
+++ package/out/deployments/deployments-graphql-client.js
@@ -1,7 +1,35 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.DeploymentsGraphqlClient = void 0;
+exports.DeploymentsGraphqlClient = exports.GET_APP_DEPLOYMENTS = void 0;
+const cli_shared_1 = require("@forge/cli-shared");
+exports.GET_APP_DEPLOYMENTS = (0, cli_shared_1.graphql)(`
+  query getAppDeployments($appId: ID!, $interval: IntervalInput!, $first: Int, $after: String) {
+    app(id: $appId) {
+      deployments(interval: $interval, first: $first, after: $after)
+        @optIn(to: ["xls-deployments-by-interval", "xls-deployments-major-version"]) {
+        nodes {
+          status
+          environmentKey
+          buildTag
+          majorVersion {
+            version
+          }
+          createdBy {
+            accountId
+            accountStatus
+            name
+          }
+          createdAt
+        }
+        pageInfo {
+          hasNextPage
+          endCursor
+        }
+      }
+    }
+  }
+`);
 class DeploymentsGraphqlClient {
     graphqlClient;
     constructor(graphqlClient) {
         this.graphqlClient = graphqlClient;
@@ -10,45 +38,18 @@
         const deployments = await this.getAllDeployments(appId, interval, filter);
         return deployments;
     }
     async getAllDeployments(appId, interval, filter) {
-        const query = `
-      query getAppDeployments($appId: ID!, $interval: IntervalInput!, $first: Int, $after: String) {
-        app(id: $appId) {
-          deployments(interval: $interval, first: $first, after: $after) @optIn(to: ["xls-deployments-by-interval", "xls-deployments-major-version"]) {
-            nodes {
-              status
-              environmentKey
-              buildTag
-              majorVersion {
-                version
-              }
-              createdBy {
-                accountId
-                accountStatus
-                name
-              }
-              createdAt
-            }
-            pageInfo {
-              hasNextPage
-              endCursor
-            }
-          }
-        }
-      }
-    `;
         const output = [];
         let cursor = filter?.after;
         let hasNext = true;
         do {
-            const graphqlInterval = {
-                startTime: interval.startTimeUtc,
-                endTime: interval.endTimeUtc
-            };
-            const { app } = await this.graphqlClient.query(query, {
+            const { app } = await this.graphqlClient.query(exports.GET_APP_DEPLOYMENTS, {
                 appId,
-                interval: graphqlInterval,
+                interval: {
+                    startTime: interval.startTimeUtc,
+                    endTime: interval.endTimeUtc
+                },
                 first: filter?.first || 100,
                 after: cursor
             });
             if (!app?.deployments?.nodes) {
@@ -59,17 +60,23 @@
                 if (node) {
                     output.push({
                         environmentKey: node.environmentKey,
                         status: node.status,
-                        buildTag: node.buildTag,
-                        majorVersion: node.majorVersion,
-                        createdBy: node.createdBy,
+                        buildTag: node.buildTag ?? undefined,
+                        majorVersion: node.majorVersion ?? undefined,
+                        createdBy: node.createdBy
+                            ? {
+                                accountId: node.createdBy.accountId,
+                                accountStatus: node.createdBy.accountStatus ?? '',
+                                name: node.createdBy.name
+                            }
+                            : undefined,
                         createdAt: node.createdAt
                     });
                 }
             }
-            cursor = pageInfo.endCursor;
-            hasNext = pageInfo.hasNextPage;
+            cursor = pageInfo?.endCursor ?? undefined;
+            hasNext = pageInfo?.hasNextPage ?? false;
         } while (hasNext && cursor);
         return output;
     }
 }