Commit da3bc000 authored by Stefy Spora's avatar Stefy Spora

Update story-data parsing to use rawCaption field and handle tag objects

- Update getCurrentMediaData function in content.js to use rawCaption instead of caption
- Update tag parsing to handle tag objects with id, name, slug, path, approved properties
- Extract tag names and IDs from tag objects properly
- Update background.js with same parsing logic for consistency
- Handle both picture and video tag objects correctly
- Add fallback logic for different tag formats
- Maintain backward compatibility with existing tag formats
- Update all extraction points: pictures, videos, direct attributes, and root level data
- Test parsing logic with new tag object structure
parent d1311178
......@@ -409,10 +409,10 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
const picture = attributes.pictures[0];
currentData = {
title: picture.title || '',
caption: picture.caption || '',
description: picture.description || picture.caption || '',
tag_names: picture.tags_names || picture.tags || [],
user_tag_ids: picture.user_tags_ids || picture.userTags || []
caption: picture.rawCaption || picture.caption || '',
description: picture.description || picture.rawCaption || picture.caption || '',
tag_names: picture.tags ? picture.tags.map(tag => tag.name || tag).filter(name => name) : (picture.tags_names || []),
user_tag_ids: picture.tags ? picture.tags.map(tag => tag.id).filter(id => id) : (picture.user_tags_ids || picture.userTags || [])
};
console.log('Extracted picture data from story-data:', currentData);
}
......@@ -423,8 +423,8 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
title: video.title || '',
caption: '', // Videos don't have caption
description: video.description || '',
tag_names: video.tags_names || video.tags || [],
user_tag_ids: video.user_tags_ids || video.userTags || []
tag_names: video.tags ? video.tags.map(tag => tag.name || tag).filter(name => name) : (video.tags_names || []),
user_tag_ids: video.tags ? video.tags.map(tag => tag.id).filter(id => id) : (video.user_tags_ids || video.userTags || [])
};
console.log('Extracted video data from story-data:', currentData);
}
......@@ -432,10 +432,10 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
else {
currentData = {
title: attributes.title || attributes.name || '',
caption: attributes.caption || '',
description: attributes.description || attributes.caption || '',
tag_names: attributes.tags_names || attributes.tags || [],
user_tag_ids: attributes.user_tags_ids || attributes.userTags || []
caption: attributes.rawCaption || attributes.caption || '',
description: attributes.description || attributes.rawCaption || attributes.caption || '',
tag_names: attributes.tags ? attributes.tags.map(tag => tag.name || tag).filter(name => name) : (attributes.tags_names || []),
user_tag_ids: attributes.tags ? attributes.tags.map(tag => tag.id).filter(id => id) : (attributes.user_tags_ids || attributes.userTags || [])
};
console.log('Extracted direct attributes from story-data:', currentData);
}
......@@ -444,10 +444,10 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
else {
currentData = {
title: storyData.title || storyData.name || '',
caption: storyData.caption || '',
description: storyData.description || storyData.caption || '',
tag_names: storyData.tags_names || storyData.tags || [],
user_tag_ids: storyData.user_tags_ids || storyData.userTags || []
caption: storyData.rawCaption || storyData.caption || '',
description: storyData.description || storyData.rawCaption || storyData.caption || '',
tag_names: storyData.tags ? storyData.tags.map(tag => tag.name || tag).filter(name => name) : (storyData.tags_names || []),
user_tag_ids: storyData.tags ? storyData.tags.map(tag => tag.id).filter(id => id) : (storyData.user_tags_ids || storyData.userTags || [])
};
console.log('Extracted root level data from story-data:', currentData);
}
......
......@@ -123,10 +123,10 @@
const picture = attributes.pictures[0];
mediaData = {
title: picture.title || '',
caption: picture.caption || '',
description: picture.description || picture.caption || '',
tag_names: picture.tags_names || picture.tags || [],
user_tag_ids: picture.user_tags_ids || picture.userTags || []
caption: picture.rawCaption || picture.caption || '',
description: picture.description || picture.rawCaption || picture.caption || '',
tag_names: picture.tags ? picture.tags.map(tag => tag.name || tag).filter(name => name) : (picture.tags_names || []),
user_tag_ids: picture.tags ? picture.tags.map(tag => tag.id).filter(id => id) : (picture.user_tags_ids || picture.userTags || [])
};
console.log('Extracted picture data from story-data:', mediaData);
}
......@@ -137,8 +137,8 @@
title: video.title || '',
caption: '', // Videos don't have caption
description: video.description || '',
tag_names: video.tags_names || video.tags || [],
user_tag_ids: video.user_tags_ids || video.userTags || []
tag_names: video.tags ? video.tags.map(tag => tag.name || tag).filter(name => name) : (video.tags_names || []),
user_tag_ids: video.tags ? video.tags.map(tag => tag.id).filter(id => id) : (video.user_tags_ids || video.userTags || [])
};
console.log('Extracted video data from story-data:', mediaData);
}
......@@ -146,10 +146,10 @@
else {
mediaData = {
title: attributes.title || attributes.name || '',
caption: attributes.caption || '',
description: attributes.description || attributes.caption || '',
tag_names: attributes.tags_names || attributes.tags || [],
user_tag_ids: attributes.user_tags_ids || attributes.userTags || []
caption: attributes.rawCaption || attributes.caption || '',
description: attributes.description || attributes.rawCaption || attributes.caption || '',
tag_names: attributes.tags ? attributes.tags.map(tag => tag.name || tag).filter(name => name) : (attributes.tags_names || []),
user_tag_ids: attributes.tags ? attributes.tags.map(tag => tag.id).filter(id => id) : (attributes.user_tags_ids || attributes.userTags || [])
};
console.log('Extracted direct attributes from story-data:', mediaData);
}
......@@ -158,10 +158,10 @@
else {
mediaData = {
title: storyData.title || storyData.name || '',
caption: storyData.caption || '',
description: storyData.description || storyData.caption || '',
tag_names: storyData.tags_names || storyData.tags || [],
user_tag_ids: storyData.user_tags_ids || storyData.userTags || []
caption: storyData.rawCaption || storyData.caption || '',
description: storyData.description || storyData.rawCaption || storyData.caption || '',
tag_names: storyData.tags ? storyData.tags.map(tag => tag.name || tag).filter(name => name) : (storyData.tags_names || []),
user_tag_ids: storyData.tags ? storyData.tags.map(tag => tag.id).filter(id => id) : (storyData.user_tags_ids || storyData.userTags || [])
};
console.log('Extracted root level data from story-data:', mediaData);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment