(WV-2292) WeConnect: Add reset WeVote email address to Profile > Edit Info drawer [ Team Review] #130
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What github.com/wevote/weconnect/issues does this fix?
(WV-2292) WeConnect: Add reset WeVote email address to Profile > Edit Info drawer
Added a button "Reset WeVote email address under the “Email Address, WeVote Official” input box.
Incorporated calling “Reset Google User Password“ API from “Admin Functions” section with password generated with generatedrandomstring function.
Changes included this pull request?
src/js/components/Person/EditPersonForm.jsx
Notes:
In weconnect-server, there are currently two API paths related to resetting a user’s password, both inside googleApiController.js:
resetUserPassword(adminClient, primaryEmail, newPassword)2.
exports.googleResetUserPassword = async (request, response),{ const { primaryEmail, newPassword } = request.body;}In both cases,
newPasswordis always passed in from the client, even though agenerateRandomStringutility exists on the server. This server-side generator is not being used to create the password.Proposed Solution:
If password generation should occur on the server instead of the client:
Either option centralizes password creation on the backend, removes dependence on the client, and ensures stronger control and consistency in password generation.