mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-30 18:34:01 +00:00
feat: add typing for listVariables, listProccess, killProccess, update server summary typings
This commit is contained in:
124
packages/types/engines.d.ts
vendored
124
packages/types/engines.d.ts
vendored
@@ -99,6 +99,25 @@ export interface SupportedDbKeyType {
|
|||||||
showItemList?: boolean;
|
showItemList?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type DatabaseProcess = {
|
||||||
|
processId: number;
|
||||||
|
connectionId: number;
|
||||||
|
client: string;
|
||||||
|
operation?: string;
|
||||||
|
namespace?: string;
|
||||||
|
command?: any;
|
||||||
|
runningTime: number;
|
||||||
|
state?: any;
|
||||||
|
waitingFor?: boolean;
|
||||||
|
locks?: any;
|
||||||
|
progress?: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DatabaseVariable = {
|
||||||
|
variable: string;
|
||||||
|
value: any;
|
||||||
|
};
|
||||||
|
|
||||||
export interface SqlBackupDumper {
|
export interface SqlBackupDumper {
|
||||||
run();
|
run();
|
||||||
}
|
}
|
||||||
@@ -110,7 +129,8 @@ export interface SummaryColumn {
|
|||||||
}
|
}
|
||||||
export interface ServerSummaryDatabase {}
|
export interface ServerSummaryDatabase {}
|
||||||
export interface ServerSummary {
|
export interface ServerSummary {
|
||||||
columns: SummaryColumn[];
|
processes: DatabaseProcess[];
|
||||||
|
variables: DatabaseVariable[];
|
||||||
databases: ServerSummaryDatabase[];
|
databases: ServerSummaryDatabase[];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,12 +181,12 @@ export interface FilterBehaviourProvider {
|
|||||||
getFilterBehaviour(dataType: string, standardFilterBehaviours: { [id: string]: FilterBehaviour }): FilterBehaviour;
|
getFilterBehaviour(dataType: string, standardFilterBehaviours: { [id: string]: FilterBehaviour }): FilterBehaviour;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DatabaseHandle<TClient = any> {
|
export interface DatabaseHandle<TClient = any, TDataBase = any> {
|
||||||
client: TClient;
|
client: TClient;
|
||||||
database?: string;
|
database?: string;
|
||||||
conid?: string;
|
conid?: string;
|
||||||
feedback?: (message: any) => void;
|
feedback?: (message: any) => void;
|
||||||
getDatabase?: () => any;
|
getDatabase?: () => TDataBase;
|
||||||
connectionType?: string;
|
connectionType?: string;
|
||||||
treeKeySeparator?: string;
|
treeKeySeparator?: string;
|
||||||
}
|
}
|
||||||
@@ -196,7 +216,7 @@ export interface RestoreDatabaseSettings extends BackupRestoreSettingsBase {
|
|||||||
inputFile: string;
|
inputFile: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
|
export interface EngineDriver<TClient = any, TDataBase = any> extends FilterBehaviourProvider {
|
||||||
engine: string;
|
engine: string;
|
||||||
title: string;
|
title: string;
|
||||||
defaultPort?: number;
|
defaultPort?: number;
|
||||||
@@ -242,61 +262,86 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
|
|||||||
defaultSocketPath?: string;
|
defaultSocketPath?: string;
|
||||||
authTypeLabel?: string;
|
authTypeLabel?: string;
|
||||||
importExportArgs?: any[];
|
importExportArgs?: any[];
|
||||||
connect({ server, port, user, password, database, connectionDefinition }): Promise<DatabaseHandle<TClient>>;
|
connect({
|
||||||
close(dbhan: DatabaseHandle<TClient>): Promise<any>;
|
server,
|
||||||
query(dbhan: DatabaseHandle<TClient>, sql: string, options?: QueryOptions): Promise<QueryResult>;
|
port,
|
||||||
stream(dbhan: DatabaseHandle<TClient>, sql: string, options: StreamOptions);
|
user,
|
||||||
readQuery(dbhan: DatabaseHandle<TClient>, sql: string, structure?: TableInfo): Promise<StreamResult>;
|
password,
|
||||||
readJsonQuery(dbhan: DatabaseHandle<TClient>, query: any, structure?: TableInfo): Promise<StreamResult>;
|
database,
|
||||||
|
connectionDefinition,
|
||||||
|
}): Promise<DatabaseHandle<TClient, TDataBase>>;
|
||||||
|
close(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<any>;
|
||||||
|
query(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, options?: QueryOptions): Promise<QueryResult>;
|
||||||
|
stream(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, options: StreamOptions);
|
||||||
|
readQuery(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, structure?: TableInfo): Promise<StreamResult>;
|
||||||
|
readJsonQuery(dbhan: DatabaseHandle<TClient, TDataBase>, query: any, structure?: TableInfo): Promise<StreamResult>;
|
||||||
// eg. PostgreSQL COPY FROM stdin
|
// eg. PostgreSQL COPY FROM stdin
|
||||||
writeQueryFromStream(dbhan: DatabaseHandle<TClient>, sql: string): Promise<StreamResult>;
|
writeQueryFromStream(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string): Promise<StreamResult>;
|
||||||
writeTable(dbhan: DatabaseHandle<TClient>, name: NamedObjectInfo, options: WriteTableOptions): Promise<StreamResult>;
|
writeTable(
|
||||||
|
dbhan: DatabaseHandle<TClient, TDataBase>,
|
||||||
|
name: NamedObjectInfo,
|
||||||
|
options: WriteTableOptions
|
||||||
|
): Promise<StreamResult>;
|
||||||
analyseSingleObject(
|
analyseSingleObject(
|
||||||
dbhan: DatabaseHandle<TClient>,
|
dbhan: DatabaseHandle<TClient, TDataBase>,
|
||||||
name: NamedObjectInfo,
|
name: NamedObjectInfo,
|
||||||
objectTypeField: keyof DatabaseInfo
|
objectTypeField: keyof DatabaseInfo
|
||||||
): Promise<TableInfo | ViewInfo | ProcedureInfo | FunctionInfo | TriggerInfo>;
|
): Promise<TableInfo | ViewInfo | ProcedureInfo | FunctionInfo | TriggerInfo>;
|
||||||
analyseSingleTable(dbhan: DatabaseHandle<TClient>, name: NamedObjectInfo): Promise<TableInfo>;
|
analyseSingleTable(dbhan: DatabaseHandle<TClient, TDataBase>, name: NamedObjectInfo): Promise<TableInfo>;
|
||||||
getVersion(dbhan: DatabaseHandle<TClient>): Promise<{ version: string; versionText?: string }>;
|
getVersion(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<{ version: string; versionText?: string }>;
|
||||||
listDatabases(dbhan: DatabaseHandle<TClient>): Promise<
|
listDatabases(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<
|
||||||
{
|
{
|
||||||
name: string;
|
name: string;
|
||||||
}[]
|
}[]
|
||||||
>;
|
>;
|
||||||
loadKeys(dbhan: DatabaseHandle<TClient>, root: string, filter?: string): Promise;
|
loadKeys(dbhan: DatabaseHandle<TClient, TDataBase>, root: string, filter?: string): Promise;
|
||||||
scanKeys(dbhan: DatabaseHandle<TClient>, root: string, pattern: string, cursor: string, count: number): Promise;
|
scanKeys(
|
||||||
exportKeys(dbhan: DatabaseHandle<TClient>, options: {}): Promise;
|
dbhan: DatabaseHandle<TClient, TDataBase>,
|
||||||
loadKeyInfo(dbhan: DatabaseHandle<TClient>, key): Promise;
|
root: string,
|
||||||
loadKeyTableRange(dbhan: DatabaseHandle<TClient>, key, cursor, count): Promise;
|
pattern: string,
|
||||||
|
cursor: string,
|
||||||
|
count: number
|
||||||
|
): Promise;
|
||||||
|
exportKeys(dbhan: DatabaseHandle<TClient, TDataBase>, options: {}): Promise;
|
||||||
|
loadKeyInfo(dbhan: DatabaseHandle<TClient, TDataBase>, key): Promise;
|
||||||
|
loadKeyTableRange(dbhan: DatabaseHandle<TClient, TDataBase>, key, cursor, count): Promise;
|
||||||
loadFieldValues(
|
loadFieldValues(
|
||||||
dbhan: DatabaseHandle<TClient>,
|
dbhan: DatabaseHandle<TClient, TDataBase>,
|
||||||
name: NamedObjectInfo,
|
name: NamedObjectInfo,
|
||||||
field: string,
|
field: string,
|
||||||
search: string,
|
search: string,
|
||||||
dataType: string
|
dataType: string
|
||||||
): Promise;
|
): Promise;
|
||||||
analyseFull(dbhan: DatabaseHandle<TClient>, serverVersion): Promise<DatabaseInfo>;
|
analyseFull(dbhan: DatabaseHandle<TClient, TDataBase>, serverVersion): Promise<DatabaseInfo>;
|
||||||
analyseIncremental(dbhan: DatabaseHandle<TClient>, structure: DatabaseInfo, serverVersion): Promise<DatabaseInfo>;
|
analyseIncremental(
|
||||||
|
dbhan: DatabaseHandle<TClient, TDataBase>,
|
||||||
|
structure: DatabaseInfo,
|
||||||
|
serverVersion
|
||||||
|
): Promise<DatabaseInfo>;
|
||||||
dialect: SqlDialect;
|
dialect: SqlDialect;
|
||||||
dialectByVersion(version): SqlDialect;
|
dialectByVersion(version): SqlDialect;
|
||||||
createDumper(options = null): SqlDumper;
|
createDumper(options = null): SqlDumper;
|
||||||
createBackupDumper(dbhan: DatabaseHandle<TClient>, options): Promise<SqlBackupDumper>;
|
createBackupDumper(dbhan: DatabaseHandle<TClient, TDataBase>, options): Promise<SqlBackupDumper>;
|
||||||
getAuthTypes(): EngineAuthType[];
|
getAuthTypes(): EngineAuthType[];
|
||||||
readCollection(dbhan: DatabaseHandle<TClient>, options: ReadCollectionOptions): Promise<any>;
|
readCollection(dbhan: DatabaseHandle<TClient, TDataBase>, options: ReadCollectionOptions): Promise<any>;
|
||||||
updateCollection(dbhan: DatabaseHandle<TClient>, changeSet: any): Promise<any>;
|
updateCollection(dbhan: DatabaseHandle<TClient, TDataBase>, changeSet: any): Promise<any>;
|
||||||
getCollectionUpdateScript(changeSet: any, collectionInfo: CollectionInfo): string;
|
getCollectionUpdateScript(changeSet: any, collectionInfo: CollectionInfo): string;
|
||||||
createDatabase(dbhan: DatabaseHandle<TClient>, name: string): Promise;
|
createDatabase(dbhan: DatabaseHandle<TClient, TDataBase>, name: string): Promise;
|
||||||
dropDatabase(dbhan: DatabaseHandle<TClient>, name: string): Promise;
|
dropDatabase(dbhan: DatabaseHandle<TClient, TDataBase>, name: string): Promise;
|
||||||
getQuerySplitterOptions(usage: 'stream' | 'script' | 'editor' | 'import'): any;
|
getQuerySplitterOptions(usage: 'stream' | 'script' | 'editor' | 'import'): any;
|
||||||
script(dbhan: DatabaseHandle<TClient>, sql: string, options?: RunScriptOptions): Promise;
|
script(dbhan: DatabaseHandle<TClient, TDataBase>, sql: string, options?: RunScriptOptions): Promise;
|
||||||
operation(dbhan: DatabaseHandle<TClient>, operation: CollectionOperationInfo, options?: RunScriptOptions): Promise;
|
operation(
|
||||||
|
dbhan: DatabaseHandle<TClient, TDataBase>,
|
||||||
|
operation: CollectionOperationInfo,
|
||||||
|
options?: RunScriptOptions
|
||||||
|
): Promise;
|
||||||
getNewObjectTemplates(): NewObjectTemplate[];
|
getNewObjectTemplates(): NewObjectTemplate[];
|
||||||
// direct call of dbhan.client method, only some methods could be supported, on only some drivers
|
// direct call of dbhan.client method, only some methods could be supported, on only some drivers
|
||||||
callMethod(dbhan: DatabaseHandle<TClient>, method, args);
|
callMethod(dbhan: DatabaseHandle<TClient, TDataBase>, method, args);
|
||||||
serverSummary(dbhan: DatabaseHandle<TClient>): Promise<ServerSummary>;
|
serverSummary(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<ServerSummary>;
|
||||||
summaryCommand(dbhan: DatabaseHandle<TClient>, command, row): Promise<void>;
|
summaryCommand(dbhan: DatabaseHandle<TClient, TDataBase>, command, row): Promise<void>;
|
||||||
startProfiler(dbhan: DatabaseHandle<TClient>, options): Promise<any>;
|
startProfiler(dbhan: DatabaseHandle<TClient, TDataBase>, options): Promise<any>;
|
||||||
stopProfiler(dbhan: DatabaseHandle<TClient>, profiler): Promise<void>;
|
stopProfiler(dbhan: DatabaseHandle<TClient, TDataBase>, profiler): Promise<void>;
|
||||||
getRedirectAuthUrl(connection, options): Promise<{ url: string; sid: string }>;
|
getRedirectAuthUrl(connection, options): Promise<{ url: string; sid: string }>;
|
||||||
getAuthTokenFromCode(connection, options): Promise<string>;
|
getAuthTokenFromCode(connection, options): Promise<string>;
|
||||||
getAccessTokenFromAuth(connection, req): Promise<string | null>;
|
getAccessTokenFromAuth(connection, req): Promise<string | null>;
|
||||||
@@ -313,7 +358,10 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
|
|||||||
adaptTableInfo(table: TableInfo): TableInfo;
|
adaptTableInfo(table: TableInfo): TableInfo;
|
||||||
// simple data type adapter
|
// simple data type adapter
|
||||||
adaptDataType(dataType: string): string;
|
adaptDataType(dataType: string): string;
|
||||||
listSchemas(dbhan: DatabaseHandle<TClient>): Promise<SchemaInfo[] | null>;
|
listSchemas(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<SchemaInfo[] | null>;
|
||||||
|
listProcesses(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<DatabaseProcess[] | null>;
|
||||||
|
listVariables(dbhan: DatabaseHandle<TClient, TDataBase>): Promise<DatabaseVariable[] | null>;
|
||||||
|
killProcess(dbhan: DatabaseHandle<TClient, TDataBase>, pid: number): Promise<any>;
|
||||||
backupDatabaseCommand(
|
backupDatabaseCommand(
|
||||||
connection: any,
|
connection: any,
|
||||||
settings: BackupDatabaseSettings,
|
settings: BackupDatabaseSettings,
|
||||||
@@ -337,7 +385,7 @@ export interface EngineDriver<TClient = any> extends FilterBehaviourProvider {
|
|||||||
analyserClass?: any;
|
analyserClass?: any;
|
||||||
dumperClass?: any;
|
dumperClass?: any;
|
||||||
singleConnectionOnly?: boolean;
|
singleConnectionOnly?: boolean;
|
||||||
getLogDbInfo(dbhan: DatabaseHandle<TClient>): {
|
getLogDbInfo(dbhan: DatabaseHandle<TClient, TDataBase>): {
|
||||||
database?: string;
|
database?: string;
|
||||||
engine: string;
|
engine: string;
|
||||||
conid?: string;
|
conid?: string;
|
||||||
|
|||||||
Reference in New Issue
Block a user