Added reset password dialog upon SQL Server expired password error (#21295)

* Added initial password connection dialog box

* made small changes

* more preliminary work

* more WIP changes

* more cleanup done

* added dialog instantiation

* added placeholder dialog window

* added changePasswordController

* made some changes to changePasswordController

* some changes made

* added more changes

* more changes made to dialogue

* added password confirm box

* added WIP change password function

* small changes made to API

* small changes for test

* added  uri

* added valid password

* added TODO comments

* added small change to connectionManagementService

* added connectionManagementService password change

* added comment on what to do next

* made some simplification of change password

* added response callback

* added fixes to protocol

* added throw error for passwordChangeResult

* WIP added call to self after password change

* WIP changes to implementing new password change dialog

* added changes to passwordChangeDialog

* added launchChangePasswordDialog

* remove erroneous css

* added working dialog

* removed old password change dialog

* fixed space

* added checkbox option to passwordChangeDialog

* added test signatures

* added error handling

* added some changes

* added changes to HTML for passwordChangeDialog

* added CSS to passwordChangeDialog

* added display none for matching passwords

* added documentation changes

* small cleanup

* added working error catch and retry

* added await

* added recovery instructions

* Added ok button hide for button click.

* added loading spinner

* fixed for semicolon

* added updated message

* Added message change

* added minor fixes

* added small fixes

* made more changes

* renamed messages to errorDetails

* added styling to passwordChangeDialog

* simplified error message

* changed comment

* modified azdata to be consistent

* small changes

* change to azdata for consistency

* added clarification for provider

* removed additional instructions

* Added new dialog title

* addressed feedback

* added comments

* added changes
This commit is contained in:
Alex Ma
2022-12-07 14:27:01 -08:00
committed by GitHub
parent db329049ff
commit cffba368a9
14 changed files with 275 additions and 0 deletions

View File

@@ -425,6 +425,14 @@ export class ConnectionManagementService extends Disposable implements IConnecti
}
}
/**
* Changes password of the connection profile's user.
*/
public changePassword(connection: interfaces.IConnectionProfile, uri: string, newPassword: string):
Promise<azdata.PasswordChangeResult> {
return this.sendChangePasswordRequest(connection, uri, newPassword);
}
/**
* Opens a new connection and saves the profile in the settings.
* This method doesn't load the password because it only gets called from the
@@ -1037,6 +1045,18 @@ export class ConnectionManagementService extends Disposable implements IConnecti
});
}
private async sendChangePasswordRequest(connection: interfaces.IConnectionProfile, uri: string, newPassword: string): Promise<azdata.PasswordChangeResult> {
let connectionInfo = Object.assign({}, {
options: connection.options
});
return this._providers.get(connection.providerName).onReady.then((provider) => {
return provider.changePassword(uri, connectionInfo, newPassword).then(result => {
return result;
})
});
}
private sendCancelRequest(uri: string): Promise<boolean> {
let providerId: string = this.getProviderIdFromUri(uri);
if (!providerId) {