trm-core
Version:
TRM (Transport Request Manager) Core
107 lines (106 loc) • 2.99 kB
TypeScript
import { R3trans, R3transOptions } from "node-r3trans";
import { Registry } from "../../registry";
import { Transport } from "../../transport";
import { TransportBinary, TrmArtifact, TrmPackage } from "../../trmPackage";
import { Manifest, TrmManifest, TrmManifestDependency } from "../../manifest";
import { IActionContext } from "..";
import { DEVCLASS, E071, NAMESPACE, TADIR, TDEVC, TDEVCT } from "../../client";
import { PackageHierarchy } from "../../commons";
export type InstallPackageReplacements = {
originalDevclass: string;
installDevclass: string;
};
export type InstallActionInputContextData = {
systemPackages?: TrmPackage[];
r3transOptions?: R3transOptions;
noR3transInfo?: boolean;
noInquirer?: boolean;
};
export type InstallActionInputInstallData = {
import?: {
timeout?: number;
noLang?: boolean;
noCust?: boolean;
};
checks?: {
safe?: boolean;
noSapEntries?: boolean;
noObjectTypes?: boolean;
noDependencies?: boolean;
};
installDevclass?: {
keepOriginal?: boolean;
transportLayer?: string;
replacements?: InstallPackageReplacements[];
};
installTransport?: {
create?: boolean;
targetSystem?: string;
};
};
export interface InstallActionInput {
contextData?: InstallActionInputContextData;
packageData: {
name: string;
version?: string;
integrity?: string;
registry: Registry;
overwrite?: boolean;
};
installData?: InstallActionInputInstallData;
}
type TransportRuntime = {
binaries?: TransportBinary;
instance?: Transport;
};
type WorkflowRuntime = {
registry: Registry;
update: boolean;
rollback: boolean;
remotePackageData: {
version: string;
trmPackage: TrmPackage;
artifact: TrmArtifact;
manifest: Manifest;
trmManifest: TrmManifest;
integrity: string;
};
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[];
transport?: Transport;
};
generatedData: {
devclass: DEVCLASS[];
namespace: NAMESPACE;
};
};
export type InstallActionOutput = {
trmPackage: TrmPackage;
registry: Registry;
installTransport?: Transport;
};
export interface InstallWorkflowContext extends IActionContext {
rawInput: InstallActionInput;
runtime?: WorkflowRuntime;
output?: InstallActionOutput;
}
export declare function install(inputData: InstallActionInput): Promise<InstallActionOutput>;
export {};