Fix Edit Connection behavior that affects multiple areas working with edited connection (#20907)

This commit is contained in:
Cheena Malhotra
2022-10-21 11:03:10 -07:00
committed by GitHub
parent 5398339af9
commit 0abb8da026
5 changed files with 3 additions and 14 deletions

View File

@@ -93,8 +93,6 @@ export class ConnectionConfig {
});
if (sameProfileInList) {
let profileIndex = profiles.findIndex(value => value === sameProfileInList);
newProfile.id = sameProfileInList.id;
connectionProfile.id = sameProfileInList.id;
profiles[profileIndex] = newProfile;
} else {
profiles.push(newProfile);

View File

@@ -325,9 +325,8 @@ suite('ConnectionConfig', () => {
connectionProfile.options['databaseDisplayName'] = existingConnection.options['databaseName'];
let config = new ConnectionConfig(configurationService, capabilitiesService.object);
let savedConnectionProfile = await config.addConnection(connectionProfile);
await config.addConnection(connectionProfile);
assert.strictEqual(savedConnectionProfile.id, existingConnection.id);
assert.strictEqual(configurationService.inspect<IConnectionProfileStore[]>('datasource.connections').userValue!.length, testConnections.length);
});

View File

@@ -177,11 +177,6 @@ export class ConnectionDialogService implements IConnectionDialogService {
return;
}
profile = result.connection;
if (params.oldProfileId && params.isEditConnection) {
profile.id = params.oldProfileId;
}
profile.serverName = trim(profile.serverName);
// append the port to the server name for SQL Server connections

View File

@@ -498,17 +498,13 @@ export class ConnectionManagementService extends Disposable implements IConnecti
// a connection management info. See https://github.com/microsoft/azuredatastudio/issues/16556
this.tryAddActiveConnection(connectionMgmtInfo, connection, options.saveTheConnection);
if (callbacks.onConnectSuccess) {
callbacks.onConnectSuccess(options.params, connectionResult.connectionProfile);
}
if (options.saveTheConnection || isEdit) {
let matcher: interfaces.ProfileMatcher;
if (isEdit) {
matcher = (a: interfaces.IConnectionProfile, b: interfaces.IConnectionProfile) => {
return a.id === b.id;
};
matcher = (a: interfaces.IConnectionProfile, b: interfaces.IConnectionProfile) => a.id === options.params.oldProfileId;
}
await this.saveToSettings(uri, connection, matcher).then(value => {

View File

@@ -70,6 +70,7 @@ export class ServerTreeActionProvider {
*/
private getConnectionActions(tree: AsyncServerTree | ITree, profile: ConnectionProfile): IAction[] {
let node = new TreeNode(NodeType.Server, NodeType.Server, '', false, '', '', '', undefined, undefined, undefined, undefined);
this._connectionManagementService.addSavedPassword(profile);
node.connection = profile;
return this.getAllActions({
tree: tree,