Add findNodes Object Explorer API (#916)

This commit is contained in:
Matt Irvine
2018-03-16 13:37:24 -07:00
committed by GitHub
parent 75ab5c1a36
commit 38bedea0bd
9 changed files with 72 additions and 0 deletions

View File

@@ -68,6 +68,8 @@ export interface IObjectExplorerService {
getServerTreeView(): ServerTreeView;
findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames?: string[]): Thenable<sqlops.NodeInfo[]>;
getActiveConnectionNodes(): TreeNode[];
getTreeNode(connectionId: string, nodePath: string): Thenable<TreeNode>;
@@ -447,6 +449,24 @@ export class ObjectExplorerService implements IObjectExplorerService {
return this._serverTreeView;
}
public findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames?: string[]): Thenable<sqlops.NodeInfo[]> {
let rootNode = this._activeObjectExplorerNodes[connectionId];
if (!rootNode) {
return Promise.resolve([]);
}
let sessionId = rootNode.session.sessionId;
return this._providers[this._sessions[sessionId].connection.providerName].findNodes({
type: type,
name: name,
schema: schema,
database: database,
parentObjectNames: parentObjectNames,
sessionId: sessionId
}).then(response => {
return response.nodes;
});
}
public getActiveConnectionNodes(): TreeNode[] {
return Object.values(this._activeObjectExplorerNodes);
}