@jsforce/jsforce-node
Version:
Salesforce API Library for JavaScript
48 lines (47 loc) • 1.45 kB
TypeScript
/**
* @file Registry for connection information, cached in local file system
* @author Shinichi Tomita <shinichi.tomita@gmail.com>
*/
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<string[]>;
getConnection<S extends Schema = Schema>(name?: string): Promise<Connection<S> | null>;
getConnectionConfig(name?: string): Promise<ConnectionConfig | null>;
saveConnectionConfig(name: string, connConfig: ConnectionConfig): Promise<void>;
setDefaultConnection(name: string): Promise<void>;
removeConnectionConfig(name: string): Promise<void>;
getClientConfig(name: string): Promise<ClientConfig | null>;
getClientNames(): Promise<string[]>;
registerClientConfig(name: string, clientConfig: ClientConfig): Promise<void>;
};