npm package diff
Package: @forge/cli
Versions: 10.13.6 - 11.0.0-next.18
File: package/out/service/installation-service.d.ts
Index: package/out/service/installation-service.d.ts
===================================================================
--- package/out/service/installation-service.d.ts
+++ package/out/service/installation-service.d.ts
@@ -1,15 +1,17 @@
/// <reference types="node" />
-import { AppConfigProvider, AppEnvironmentType, AppEnvironmentVersion, Maybe } from '@forge/cli-shared';
+import { AppConfigProvider, AppEnvironmentType, AppEnvironmentVersion, Maybe, SupportedProduct, BaseError } from '@forge/cli-shared';
import { URL } from 'url';
import { AppInstallSiteDetails } from '../installations/install-app-site';
export interface Installation {
id: string;
product: string;
+ secondaryProducts?: string[];
site: string;
environmentKey: string;
environmentType: AppEnvironmentType;
context: string;
+ secondaryContexts?: string[];
version: {
isLatest: boolean;
version: string;
};
@@ -19,17 +21,18 @@
}
export interface AppEnvironmentVersionPermissions {
scopes: string[];
egressAddresses: string[];
+ primaryProduct?: string;
}
export interface AppEnvironmentPermissions extends AppEnvironmentVersionPermissions {
addedScopes: string[];
environmentType: AppEnvironmentType;
hasDeployments: boolean;
}
interface InstallationFilterOptions {
- site?: string;
- product?: 'Jira' | 'Confluence';
+ site?: URL;
+ product?: SupportedProduct;
environment?: string;
}
export interface AppEnvironmentVersionData {
nodes?: Array<Maybe<AppEnvironmentVersion>> | null;
@@ -41,16 +44,27 @@
}
export interface UpgradeAppInstallationsClient {
upgradeInstallation({ site, product, environmentKey, appId }: AppInstallSiteDetails): Promise<void>;
}
+export interface HasNoAppInstallationsForEnvClient {
+ hasNoAppInstallationsForEnv(appId: string, appEnv: AppEnvironmentType): Promise<boolean>;
+}
+export declare class MultipleMatchingInstallationsError extends BaseError {
+ constructor();
+}
export declare class InstallationService {
private readonly getAppConfig;
private readonly listInstallationsClient;
private readonly upgradeAppInstallationsClient;
- constructor(getAppConfig: AppConfigProvider, listInstallationsClient: ListAppInstallationsClient, upgradeAppInstallationsClient: UpgradeAppInstallationsClient);
+ private readonly hasNoAppInstallationsForEnvClient;
+ constructor(getAppConfig: AppConfigProvider, listInstallationsClient: ListAppInstallationsClient, upgradeAppInstallationsClient: UpgradeAppInstallationsClient, hasNoAppInstallationsForEnvClient: HasNoAppInstallationsForEnvClient);
+ private comparePossibleInstallations;
+ private matchSiteForProduct;
private filterInstallations;
listAppInstallations(filter?: InstallationFilterOptions): Promise<AppInstallation>;
+ hasNoAppInstallationsForEnv(appEnv: AppEnvironmentType): Promise<boolean>;
listNonTechnicalAppInstallations(filter?: InstallationFilterOptions): Promise<AppInstallation>;
+ findOnlyMatchingInstallation(filter: InstallationFilterOptions): Promise<Installation>;
hasOutdatedProductInstallation(environment: string): Promise<boolean>;
upgradeInstallation(site: URL, product: string, environmentKey: string, appId: string): Promise<boolean>;
private getPermissionsFromAppEnvironmentVersion;
getAppEnvironmentPermissions(appId: string, environmentKey: string): Promise<AppEnvironmentPermissions | undefined>;