rolling-scopes / rsschool-app

An application for the RS School education process
https://app.rs.school
Mozilla Public License 2.0
9.91k stars 203 forks source link

User profile settings: Ability to unlink Discord from profile #2429

Open Bordo951 opened 6 months ago

Bordo951 commented 6 months ago

It would be nice to have an ability to unlink Discord from a profile yourself. Could you please add functionality for doing it? Thanks.

valerydluski commented 1 month ago

Add Functionality to Unlink Discord from User Profile

Description

This issue aims to add a feature that allows users to unlink their Discord account from their profile directly. This enhancement will provide users with greater control over their linked accounts and improve the overall user experience.

Objectives

Tasks

  1. Analysis:

    • [ ] Review existing endpoints to check if one can be reused for unlinking Discord accounts.
    • [ ] Document findings and determine if creating a new endpoint is necessary.
  2. Backend Development (if a new endpoint is needed):

    • [ ] Create an API endpoint to handle the unlinking of Discord accounts.
    • [ ] Implement necessary business logic to remove the Discord account link from the user profile.
  3. Frontend Development:

    • [ ] Add a user interface element (e.g., a button) on the profile management page to unlink Discord.
    • [ ] Ensure the new UI element triggers the backend API call to unlink the Discord account.
    • [ ] Provide feedback to the user upon successful unlinking or errors.
  4. Database Update:

    • [ ] Ensure the user schema accommodates the removal of the Discord account link.
    • [ ] Maintain data integrity and update any related fields appropriately.
  5. Validation and Error Handling:

    • [ ] Implement input validation to ensure only authenticated users can unlink their Discord accounts.
    • [ ] Provide appropriate error handling and user feedback.

Expected Outcome

Users will have the ability to unlink their Discord account from their profile directly through the profile management interface. This will provide greater autonomy and improve the user experience on the platform.