diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index d9e3d427a..6d9afdc96 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -317,20 +317,18 @@ export const parseStatus = (data) => { output.edited_at = data.edited_at + const { pleroma } = data + if (data.pleroma) { - const { pleroma } = data output.text = pleroma.content ? data.pleroma.content['text/plain'] : data.content output.summary = pleroma.spoiler_text ? data.pleroma.spoiler_text['text/plain'] : data.spoiler_text output.statusnet_conversation_id = data.pleroma.conversation_id output.is_local = pleroma.local - output.in_reply_to_screen_name = data.pleroma.in_reply_to_account_acct + output.in_reply_to_screen_name = pleroma.in_reply_to_account_acct output.thread_muted = pleroma.thread_muted output.emoji_reactions = pleroma.emoji_reactions output.parent_visible = pleroma.parent_visible === undefined ? true : pleroma.parent_visible - output.quote = pleroma.quote ? parseStatus(pleroma.quote) : undefined - output.quote_id = pleroma.quote_id ? pleroma.quote_id : (output.quote ? output.quote.id : undefined) - output.quote_url = pleroma.quote_url - output.quote_visible = pleroma.quote_visible + output.quote_visible = pleroma.quote_visible || true output.quotes_count = pleroma.quotes_count output.bookmark_folder_id = pleroma.bookmark_folder } else { @@ -338,6 +336,12 @@ export const parseStatus = (data) => { output.summary = data.spoiler_text } + const quoteRaw = pleroma?.quote || data.quote + const quoteData = quoteRaw ? parseStatus(quoteRaw) : undefined + output.quote = quoteData + output.quote_id = data.quote?.id ?? data.quote_id ?? quoteData?.id ?? pleroma.quote_id + output.quote_url = data.quote?.url ?? quoteData?.url ?? pleroma.quote_url + output.in_reply_to_status_id = data.in_reply_to_id output.in_reply_to_user_id = data.in_reply_to_account_id output.replies_count = data.replies_count