Skip to content
This repository was archived by the owner on Oct 26, 2022. It is now read-only.

Implement user email change workflow #367

Open
16 tasks done
pratimasakinala opened this issue Jan 7, 2022 · 0 comments
Open
16 tasks done

Implement user email change workflow #367

pratimasakinala opened this issue Jan 7, 2022 · 0 comments
Assignees
Labels
feature New feature or change that directly affects users

Comments

@pratimasakinala
Copy link
Collaborator

pratimasakinala commented Jan 7, 2022

Desired Feature

Redesign the user profile page like below:
Screen Shot 2022-01-21 at 2 19 01 PM

There needs to be a workflow implementation when a user changes their email. A bug was reported on City of Bakersfield project where a user can change their email without any verification. This bug was discussed with the boilerplate team and a workflow was determined as described in the comment on the issue.

Actual/Current Behavior

Currently, a user can change their own email and this is not detected or put through any sort of flow. When a user changes their email, there is no verification on the new email & their session gets logged out.

Steps to Implement

  • Fix the user profile dropdown in the navigation.
  • Create a new UserProfile component in the features/user folder.
  • Create a new UserProfileDetail component following smart & presentation standard in the features/user folder.
  • Create a new ChangeEmail component following smart & presentation standard in the feature/user folder.
  • Render UserProfileDetail & ChangeEmail component in the UserProfile component.
  • Create form-config for each of the new form component & render DynamicForm in them.
  • Create required interfaces & classes for user email change request & endpoint.
  • Render text notifying users if an email change request already exists & allow them to resend verification email.
  • Render text in the ChangeEmail component if an email change has already been requested.
  • Allow user to re-request verification email.
  • Create a new component ConfirmChangeEmail in the features/auth folder that holds a form with an input for verification code.
  • Create a new path (auth/confirm-change-email/:token) in the AuthRoutingModule & render the above component.
  • Create a new interface IConfirmChangeEmailRequest that holds the properties for email change request payload.
  • Create a new Constant for verification code pattern.
  • Create a new validator for verification code input.
  • Create a new method in the UserService that sends the email change request to the server.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature New feature or change that directly affects users
Projects
None yet
Development

No branches or pull requests

1 participant