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.js28
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 {