-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
On PriorityExtra attention is neededExtra attention is neededenhancementNew feature or requestNew feature or request
Description
Refresh User Data on Demand
Description
Updates to a user's Codeboard profile may take a few minutes to reflect recent activity on LeetCode. To provide a more responsive experience, we need an API endpoint that allows users to manually refresh their profile data on demand.
Suggested Fix:
Create this API endpoint in the leaderboard app and ensure that:
- The user is authenticated before proceeding.
- Retrieve the user's username and ID from the Database [Leetcode Model].
- The user's username and ID are retrieved and passed to
get_and_update_user_data()
(a Celery task intasks.py
) to fetch and update the data. - Prefer running it as a Celery task, though this might impact existing concurrency settings—so check if running the function directly would be a better fit for your setup.
Refer to the Profile(APIView)
class in leaderboard/views.py
for a similar logic of getting the user instance.
Additional Notes:
- Running the task asynchronously is ideal, but it may require adjustments based on how it interacts with current concurrency limits.
- Log the errors properly.
Metadata
Metadata
Assignees
Labels
On PriorityExtra attention is neededExtra attention is neededenhancementNew feature or requestNew feature or request