Set original database for connection done through connection dialog (#17266)

* check if database connection

* Change name of isMaster and remove import

* Set to false

* take out connecttodatabase

* remove connecttodatabase

* Original database

* remove empty string check

* clean

* set original database for when saving connection

* pass unit test

* map -> find

* PR changes

* Comments for original database
This commit is contained in:
nasc17
2021-10-08 13:10:28 -07:00
committed by GitHub
parent a25dd2c03b
commit 75d6847a65
6 changed files with 37 additions and 28 deletions

View File

@@ -150,7 +150,7 @@ export class AsmtResultsViewComponent extends TabChild implements IAssessmentCom
let self = this;
const profile = this._commonService.connectionManagementService.connectionInfo.connectionProfile;
this.isServerMode = !profile.databaseName || Utils.isMaster(profile);
this.isServerMode = !profile.databaseName || Utils.isServerConnection(profile);
if (this.isServerMode) {
this.placeholderNoResultsLabel = nls.localize('asmt.TargetInstanceComplient', "Instance {0} is totally compliant with the best practices. Good job!", profile.serverName);

View File

@@ -40,7 +40,7 @@ export class DashboardComponent extends AngularDisposable implements OnInit {
this._register(this.themeService.onDidColorThemeChange(this.updateTheme, this));
this.updateTheme(this.themeService.getColorTheme());
const profile: IConnectionProfile = this._bootstrapService.getOriginalConnectionProfile();
if (profile && (!profile.databaseName || Utils.isMaster(profile))) {
if (profile && (!profile.databaseName || Utils.isServerConnection(profile))) {
// Route to the server page as this is the default database
this._router.navigate(['server-dashboard']).catch(onUnexpectedError);
}

View File

@@ -47,7 +47,7 @@ suite('Connection Utilities tests', () => {
test('isMaster - test if isMaster recognizes Connection Profile as server connection', () => {
assert(ConnectionUtils.isMaster(connection));
assert(ConnectionUtils.isServerConnection(connection));
});
test('parseTimeString - test if time is parsed correctly', () => {

View File

@@ -472,6 +472,9 @@ export class ConnectionManagementService extends Disposable implements IConnecti
if (!tokenFillSuccess) {
throw new Error(nls.localize('connection.noAzureAccount', "Failed to get Azure account token for connection"));
}
if (options.saveTheConnection) {
connection.options.originalDatabase = connection.databaseName;
}
return this.createNewConnection(uri, connection).then(async connectionResult => {
if (connectionResult && connectionResult.connected) {
// The connected succeeded so add it to our active connections now, optionally adding it to the MRU based on
@@ -629,27 +632,20 @@ export class ConnectionManagementService extends Disposable implements IConnecti
}
private focusDashboard(profile: interfaces.IConnectionProfile): boolean {
let found: boolean = false;
const matchingEditor = this._editorService.editors.find(editor => {
return editor instanceof DashboardInput && DashboardInput.profileMatches(profile, editor.connectionProfile);
}) as DashboardInput;
this._editorService.editors.map(editor => {
if (editor instanceof DashboardInput) {
if (DashboardInput.profileMatches(profile, editor.connectionProfile)) {
editor.connectionProfile.connectionName = profile.connectionName;
editor.connectionProfile.databaseName = profile.databaseName;
this._editorService.openEditor(editor)
.then(() => {
if (!profile.databaseName || Utils.isMaster(profile)) {
this._angularEventing.sendAngularEvent(editor.uri, AngularEventType.NAV_SERVER);
} else {
this._angularEventing.sendAngularEvent(editor.uri, AngularEventType.NAV_DATABASE);
}
found = true;
}, errors.onUnexpectedError);
}
}
});
if (matchingEditor) {
matchingEditor.connectionProfile.connectionName = profile.connectionName;
matchingEditor.connectionProfile.databaseName = profile.databaseName;
this._editorService.openEditor(matchingEditor).then(() => {
const target = !profile.databaseName || Utils.isServerConnection(profile) ? AngularEventType.NAV_SERVER : AngularEventType.NAV_DATABASE;
this._angularEventing.sendAngularEvent(matchingEditor.uri, target);
}, errors.onUnexpectedError);
}
return found;
return !!matchingEditor;
}
public closeDashboard(uri: string): void {