@intersystems-community/intersystems-servermanager
Version:
InterSystems Server Manager VS Code extension API interfaces and constants
67 lines (54 loc) • 1.39 kB
TypeScript
import * as vscode from 'vscode';
export const EXTENSION_ID: string;
export const AUTHENTICATION_PROVIDER: string;
export interface IServerName {
name: string;
description: string;
detail: string;
scope?: vscode.ConfigurationScope;
}
export interface IWebServerSpec {
scheme?: string;
host: string;
port: number;
pathPrefix?: string;
}
export interface ISuperServerSpec {
host?: string;
port: number;
}
export interface IJSONServerSpec {
webServer: IWebServerSpec;
superServer?: ISuperServerSpec;
username?: string;
password?: string;
description?: string;
}
export interface IServerSpec extends IJSONServerSpec {
name: string;
}
export interface ServerManagerAPI {
pickServer(
scope?: vscode.ConfigurationScope,
options?: vscode.QuickPickOptions,
): Promise<string | undefined>;
getServerNames(
scope?: vscode.ConfigurationScope,
sorted?: boolean,
): IServerName[];
getServerSummary(
name: string,
scope?: vscode.ConfigurationScope,
): IServerName | undefined;
getServerSpec(
name: string,
scope?: vscode.ConfigurationScope,
flushCredentialCache?: boolean,
options?: { hideFromRecents?: boolean, /* Obsolete */ noCredentials?: boolean },
): Promise<IServerSpec | undefined>;
getAccount(
serverSpec: IServerSpec
): vscode.AuthenticationSessionAccountInformation | undefined;
onDidChangePassword(
): vscode.Event<string>;
}