@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;
}
}