feat: add Busuanzi data re-sync functionality #29
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.
This pull request adds a new feature that allows users to manually force a re-sync of their analytics data from the Busuanzi service for a verified domain. This is useful when the initial sync fails due to Busuanzi service issues(#26 #27 ). The implementation includes backend API changes, frontend UI updates, and new utility functions for the sync logic.
Backend: API and Sync Logic
src/app/api/domains/sync-busuanzi/route.tsthat authenticates the user, verifies domain ownership and verification status, and triggers a forced sync from Busuanzi. Handles both full and partial sync failures and returns detailed results.src/utils/busuanzi.tsfor force syncing site UV and PV values, and a combined function to sync both in parallel, storing results and error handling.Frontend: UI and State Management
src/app/dashboard/analytics/page.tsx, with loading state and feedback for success, partial failure, or error.syncingBusuanzi).Downloadicon for the new sync button.syncFromBusuanzifunction to call the new API endpoint and reload domain data as needed, with appropriate toast notifications.