aboutsummaryrefslogtreecommitdiff
path: root/src/services/entity_normalizer
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/entity_normalizer')
-rw-r--r--src/services/entity_normalizer/entity_normalizer.service.js24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index e831963a..06f7e938 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
@@ -190,8 +190,7 @@ export const parseStatus = (data) => {
output.summary = data.spoiler_text
output.summary_html = addEmojis(data.spoiler_text, data.emojis)
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
@@ -260,6 +259,17 @@ export const parseStatus = (data) => {
return output
}
+// This is for masto API only.
+export const parseFollow = (data) => {
+ const output = {}
+ output.id = String(data.id)
+ output.visibility = true
+ output.created_at = new Date(data.created_at)
+ output.user = parseUser(data.account)
+
+ return output
+}
+
export const parseNotification = (data) => {
const mastoDict = {
'favourite': 'like',
@@ -271,7 +281,13 @@ export const parseNotification = (data) => {
if (masto) {
output.type = mastoDict[data.type] || data.type
// output.seen = ??? missing
- output.status = parseStatus(data.status)
+ 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 {