trm-core
Version:
TRM (Transport Request Manager) Core
113 lines (112 loc) • 3.36 kB
TypeScript
import { R3trans, R3transOptions } from "node-r3trans";
import { Transport } from "../../transport";
import { TransportBinary, TrmArtifact, TrmPackage, TrmPackageInstallTransport } from "../../trmPackage";
import { TrmManifest, TrmManifestDependency } from "../../manifest";
import { IActionContext } from "..";
import { DEVCLASS, E071, NAMESPACE, TADIR, TDEVC, TDEVCT } from "../../client";
import { PackageHierarchy } from "../../commons";
import { AbstractRegistry } from "../../registry";
import { Package } from "trm-registry-types";
import { Lockfile } from "../../lockfile/Lockfile";
export type InstallPackageReplacements = {
originalDevclass: string;
installDevclass: string;
};
export type InstallActionInputContextData = {
systemPackages?: TrmPackage[];
r3transOptions?: R3transOptions;
noR3transInfo?: boolean;
noInquirer?: boolean;
noStopWarning?: boolean;
};
export type InstallActionInputInstallData = {
import?: {
noLang?: boolean;
noCust?: boolean;
replaceExistingTransports?: boolean;
};
checks?: {
lockfile?: Lockfile;
noSapEntries?: boolean;
noObjectTypes?: boolean;
noDependencies?: boolean;
noExistingObjects?: boolean;
};
installDevclass?: {
keepOriginal?: boolean;
transportLayer?: string;
replacements?: InstallPackageReplacements[];
skipNamespace?: boolean;
};
installTransport?: {
create?: boolean;
targetSystem?: string;
};
skipPostActivities?: boolean;
};
export interface InstallActionInput {
contextData?: InstallActionInputContextData;
packageData: {
name: string;
version?: string;
registry: AbstractRegistry;
overwrite?: boolean;
};
installData?: InstallActionInputInstallData;
}
type TransportRuntime = {
binaries?: TransportBinary;
instance?: Transport;
};
type WorkflowRuntime = {
stopWarningShown: boolean;
registry: AbstractRegistry;
update: boolean;
isTrmServerRest: boolean;
remotePackageData: {
data: Package;
manifest: TrmManifest;
artifact: TrmArtifact;
contents: boolean;
};
packageTransports: {
devc: TransportRuntime;
tadir: TransportRuntime;
lang: TransportRuntime;
cust: TransportRuntime[];
};
packageTransportsData: {
tdevc: TDEVC[];
tdevct: TDEVCT[];
tadir: TADIR[];
e071: E071[];
};
dependenciesToInstall: TrmManifestDependency[];
r3trans: R3trans;
originalData: {
hierarchy: PackageHierarchy;
};
installData: {
namespace: string;
entries: E071[];
transports: TrmPackageInstallTransport[];
upgradingPackage?: TrmPackage;
};
generatedData: {
devclass: DEVCLASS[];
namespace: NAMESPACE;
tmsTxtRefresh: Transport[];
};
};
export type InstallActionOutput = {
manifest: TrmManifest;
registry: AbstractRegistry;
installTransports?: TrmPackageInstallTransport[];
};
export interface InstallWorkflowContext extends IActionContext {
rawInput: InstallActionInput;
runtime?: WorkflowRuntime;
output?: InstallActionOutput;
}
export declare function install(inputData: InstallActionInput): Promise<InstallActionOutput>;
export {};