/** * @file Registry for connection information, cached in local file system * @author Shinichi Tomita */ import { Connection } from '..'; import { Schema } from '../types'; export type ConnectionConfig = { instanceUrl?: string; accessToken?: string; refreshToken?: string; loginUrl?: string; oauth2?: ClientConfig; }; export type PersistConnectionConfig = { client?: string; instanceUrl?: string; accessToken?: string; }; export type ClientConfig = { clientId?: string; clientSecret?: string; redirectUri?: string; loginUrl?: string; }; export type RegistryConfig = { default?: string; clients?: { [name: string]: ClientConfig; }; connections?: { [name: string]: PersistConnectionConfig; }; }; /** * */ export type Registry = { getConnectionNames(): Promise; getConnection(name?: string): Promise | null>; getConnectionConfig(name?: string): Promise; saveConnectionConfig(name: string, connConfig: ConnectionConfig): Promise; setDefaultConnection(name: string): Promise; removeConnectionConfig(name: string): Promise; getClientConfig(name: string): Promise; getClientNames(): Promise; registerClientConfig(name: string, clientConfig: ClientConfig): Promise; };