diff options
Diffstat (limited to 'src/services/entity_normalizer')
| -rw-r--r-- | src/services/entity_normalizer/entity_normalizer.service.js | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index 9f9db563..c31496e8 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -69,7 +69,7 @@ export const parseUser = (data) => { } } - // Missing, trying to recover + // TODO: handle is_local output.is_local = !output.screen_name.includes('@') } else { output.screen_name = data.screen_name @@ -182,8 +182,7 @@ export const parseStatus = (data) => { output.summary = data.spoiler_text output.summary_html = data.spoiler_text output.external_url = data.url - - // output.is_local = ??? missing + output.is_local = data.pleroma.local } else { output.favorited = data.favorited output.fave_num = data.fave_num @@ -252,6 +251,18 @@ export const parseStatus = (data) => { return output } +export const parseFollow = (data) => { + const output = {} + output.id = String(data.id) + output.visibility = true + output.created_at = new Date(data.created_at) + + // Converting to string, the right way. + output.user = parseUser(data.account) + + return output +} + export const parseNotification = (data) => { const mastoDict = { 'favourite': 'like', @@ -262,8 +273,15 @@ export const parseNotification = (data) => { if (masto) { output.type = mastoDict[data.type] || data.type - // output.seen = ??? missing - output.status = parseStatus(data.status) + + output.seen = null // missing + output.status = output.type === 'follow' + ? parseFollow(data) + : parseStatus(data.status) + if (data.type === 'reblog' || data.type === 'favourite') { + output.status.user = parseUser(data.account) + output.status.created_at = new Date(data.created_at) + } output.action = output.status // not sure output.from_profile = parseUser(data.account) } else { |
