@vtex/api
Version:
VTEX I/O API client
94 lines (93 loc) • 4.94 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import { IncomingMessage } from 'http';
import { Readable, Writable } from 'stream';
import { ZlibOptions } from 'zlib';
import { InstanceOptions, RequestTracingConfig } from '../../HttpClient';
import { AppFilesList, AppManifest } from '../../responses';
import { IOContext } from '../../service/worker/runtime/typings';
import { InfraClient } from './InfraClient';
export declare class Apps extends InfraClient {
private _routes;
private diskCache;
private memoryCache;
private get routes();
constructor(context: IOContext, options?: InstanceOptions);
installApp: (descriptor: string, tracingConfig?: RequestTracingConfig) => Promise<void> | Promise<AppInstallResponse>;
uninstallApp: (app: string, tracingConfig?: RequestTracingConfig) => Promise<import("../..").IOResponse<void>>;
acknowledgeApp: (app: string, service: string, tracingConfig?: RequestTracingConfig) => Promise<void>;
link: (app: string, files: Change[], { zlib }?: ZipOptions, tracingConfig?: RequestTracingConfig) => Promise<import("../..").AppBundleResponse & {
bundleSize?: number | undefined;
}>;
patch: (app: string, changes: Change[], { zlib }?: ZipOptions, tracingConfig?: RequestTracingConfig) => Promise<void>;
unlink: (app: string, tracingConfig?: RequestTracingConfig) => Promise<import("../..").IOResponse<void>>;
unlinkAll: (tracingConfig?: RequestTracingConfig) => Promise<import("../..").IOResponse<void>>;
saveAppSettings: (app: string, settings: any, tracingConfig?: RequestTracingConfig) => Promise<void>;
listApps: ({ oldVersion, since, service }?: ListAppsOptions, tracingConfig?: RequestTracingConfig) => Promise<AppsList>;
listAppFiles: (app: string, { prefix, nextMarker }?: ListFilesOptions, tracingConfig?: RequestTracingConfig) => Promise<AppFilesList>;
listLinks: (tracingConfig?: RequestTracingConfig) => Promise<string[]>;
getAppFile: (app: string, path: string, staleIfError?: boolean, tracingConfig?: RequestTracingConfig) => Promise<{
data: Buffer;
headers: any;
}>;
getAppJSON: <T extends object | null>(app: string, path: string, nullIfNotFound?: boolean, tracingConfig?: RequestTracingConfig) => Promise<T>;
getFileFromApps: <T extends object | null>(app: string, path: string, nullIfNotFound?: boolean, tracingConfig?: RequestTracingConfig) => Promise<T>;
getAppFileStream: (app: string, path: string, tracingConfig?: RequestTracingConfig) => Promise<IncomingMessage>;
getApp: (app: string, tracingConfig?: RequestTracingConfig) => Promise<AppManifest>;
getAppSettings: (app: string, tracingConfig?: RequestTracingConfig) => Promise<any>;
getAllAppsSettings: (listAppsOptions?: ListAppsOptions, tracingConfig?: RequestTracingConfig) => Promise<AppsSettings>;
getAppBundle: (app: string, bundlePath: string, generatePackageJson: boolean, tracingConfig?: RequestTracingConfig) => Promise<Readable>;
unpackAppBundle: (app: string, bundlePath: string, unpackPath: string, generatePackageJson: boolean, tracingConfig?: RequestTracingConfig) => Promise<Writable>;
getAppsMetaInfos: (filter?: string, staleWhileRevalidate?: boolean, tracingConfig?: RequestTracingConfig) => Promise<AppMetaInfo[]>;
getDependencies: (filter?: string, tracingConfig?: RequestTracingConfig) => Promise<Record<string, string[]>>;
updateDependencies: (tracingConfig?: RequestTracingConfig) => Promise<Record<string, string[]>>;
updateDependency: (name: string, version: string, registry: string, tracingConfig?: RequestTracingConfig) => Promise<void>;
resolveDependencies: (apps: string[], registries: string[], filter?: string, tracingConfig?: RequestTracingConfig) => Promise<any>;
resolveDependenciesWithManifest: (manifest: AppManifest, filter?: string, tracingConfig?: RequestTracingConfig) => Promise<Record<string, string[]>>;
private installRuntime;
}
interface ZipOptions {
zlib?: ZlibOptions;
}
export interface AppMetaInfo {
id: string;
settingsSchema?: Record<string, any>;
_resolvedDependencies: Record<string, string>;
_isRoot: boolean;
_buildFeatures: Record<string, string[]>;
}
export interface WorkspaceMetaInfo {
apps: AppMetaInfo[];
}
export interface AppsListItem {
app: string;
id: string;
location: string;
}
export interface AppsList {
data: AppsListItem[];
}
export interface Change {
path: string;
content: string | Readable | Buffer;
}
export interface ListAppsOptions {
oldVersion?: string;
context?: string[];
since?: string;
service?: string;
}
export interface ListFilesOptions {
prefix?: string;
context?: string[];
nextMarker?: string;
}
export interface AppsSettings {
[app: string]: any;
}
export interface AppInstallResponse {
message: string;
}
export {};