feat(records): unify tagging system to use string usernames and integrate suggestions endpoint
Title (semantic)
feat(records): persist hashtags and tagged usernames across upload, edit, and refresh
Description
This merge request implements persistent hashtag and tagged username support for records in the backend.
Changes Included
- Added support for saving
hashtagsandtagged_usernamesin record schemas. - Ensured tags entered during upload are stored correctly in the backend.
- Fixed issue where tags appeared after edit/save but disappeared after page refresh.
- Improved record update flow to preserve hashtags during record edits.
- Added backend handling for tag parsing and persistence.
- Updated upload validation schema to support hashtag/tagged user data.
- Improved record retrieval response to include saved tags consistently.
- Fixed backend behavior affecting frontend tag rendering after refresh.
- Added stability improvements for upload finalize flow and metadata persistence.
Checklist
- The feature has been fully implemented.
-
Tests for the new feature are included and passing. -
User documentation/guides have been updated (if applicable). -
Impact on existing functionality has been considered. -
Existing upload and record flows remain backward compatible. -
Tag persistence validated for upload, edit, and refresh scenarios.
-
Impact on Existing Functionality
- Existing record upload functionality remains unchanged.
- Additional metadata fields (
hashtags,tagged_usernames) are now persisted. - Improves frontend consistency by ensuring saved tags remain visible after reload.
- No breaking API changes introduced.
Related Issue(s)
Closes #<issue-number>
Testing Performed
- Uploaded records with hashtags and tagged usernames.
- Edited records and verified tag persistence.
- Refreshed record detail pages to confirm tags remain visible.
- Verified API response includes stored tag fields.
- Confirmed compatibility with existing record schema.
Backend Files Updated
app/api/v1/endpoints/records.pyapp/schemas/upload_validation.pyapp/schemas/__init__.pyapp/models/record.py- Related upload/tag persistence handling logic.
Edited by Laxman Reddy

