npm package diff
Package: @forge/cli
Versions: 10.12.1-next.2 - 10.13.0-next.18
File: package/out/eligibility/graphql-client.js
Index: package/out/eligibility/graphql-client.js
===================================================================
--- package/out/eligibility/graphql-client.js
+++ package/out/eligibility/graphql-client.js
@@ -0,0 +1,74 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.RoaEligibilityClient = exports.MissingAppEnvironmentError = exports.MissingTrustSignalError = exports.EnvironmentNotFoundError = exports.MissingAppError = void 0;
+const cli_shared_1 = require("@forge/cli-shared");
+class MissingAppError extends cli_shared_1.UserError {
+}
+exports.MissingAppError = MissingAppError;
+class EnvironmentNotFoundError extends cli_shared_1.UserError {
+ constructor(environmentKey) {
+ super(cli_shared_1.Text.env.error.envNotExist(environmentKey));
+ }
+}
+exports.EnvironmentNotFoundError = EnvironmentNotFoundError;
+class MissingTrustSignalError extends Error {
+}
+exports.MissingTrustSignalError = MissingTrustSignalError;
+class MissingAppEnvironmentError extends Error {
+}
+exports.MissingAppEnvironmentError = MissingAppEnvironmentError;
+class RoaEligibilityClient {
+ graphqlClient;
+ constructor(graphqlClient) {
+ this.graphqlClient = graphqlClient;
+ }
+ async getVersionEligibility(appId, environmentKey, majorVersion) {
+ const query = `
+ query forge_cli_getApplicationRoaEligibility($appId: ID!, $environmentKey: String!, $firstN: Int!, $majorVersion: Int) {
+ app(id: $appId) {
+ environmentByKey(key: $environmentKey) {
+ type
+ versions(first: $firstN, majorVersion: $majorVersion) {
+ nodes {
+ version
+ isLatest
+ trustSignal(key: "RUNS_ON_ATLASSIAN") @optIn(to: ["AppEnvironmentVersionTrustSignal"]) {
+ key
+ result
+ rules {
+ name
+ value
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ `;
+ const result = await this.graphqlClient.query(query, {
+ appId,
+ environmentKey,
+ firstN: 1,
+ majorVersion
+ });
+ if (!result.app) {
+ throw new MissingAppError();
+ }
+ if (!result.app.environmentByKey) {
+ throw new EnvironmentNotFoundError(environmentKey);
+ }
+ if (!result.app.environmentByKey.versions?.nodes?.length) {
+ throw new MissingAppEnvironmentError();
+ }
+ if (!result.app.environmentByKey.versions?.nodes?.[0]?.trustSignal) {
+ throw new MissingTrustSignalError();
+ }
+ return {
+ trustSignal: result.app.environmentByKey.versions?.nodes?.[0]?.trustSignal,
+ environmentType: result.app.environmentByKey.type,
+ appVersion: result.app.environmentByKey.versions?.nodes?.[0]?.version
+ };
+ }
+}
+exports.RoaEligibilityClient = RoaEligibilityClient;