aboutsummaryrefslogtreecommitdiff
path: root/src/services/entity_normalizer/entity_normalizer.service.js
diff options
context:
space:
mode:
authorShpuld Shpuldson <shp@cock.li>2020-06-17 11:23:32 +0300
committerShpuld Shpuldson <shp@cock.li>2020-06-17 11:23:32 +0300
commitf8cf92a01f952f344ee4c3b7df153b2ffdb7988f (patch)
treed1f20bc99722d2b94aeef772acd59083145d71ac /src/services/entity_normalizer/entity_normalizer.service.js
parent064b59812c715d60526727d42c124375a2bc89d5 (diff)
parent57626c125d0477716a638854c4243ee0fde96923 (diff)
Merge branch 'develop' into kPherox/pleroma-fe-iss-149/profile-fields-display
Diffstat (limited to 'src/services/entity_normalizer/entity_normalizer.service.js')
-rw-r--r--src/services/entity_normalizer/entity_normalizer.service.js44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js
index ca2075a4..ff99e944 100644
--- a/src/services/entity_normalizer/entity_normalizer.service.js
+++ b/src/services/entity_normalizer/entity_normalizer.service.js
@@ -1,3 +1,6 @@
+import escape from 'escape-html'
+import { isStatusNotification } from '../notification_utils/notification_utils.js'
+
const qvitterStatusType = (status) => {
if (status.is_post_verb) {
return 'status'
@@ -41,7 +44,7 @@ export const parseUser = (data) => {
}
output.name = data.display_name
- output.name_html = addEmojis(data.display_name, data.emojis)
+ output.name_html = addEmojis(escape(data.display_name), data.emojis)
output.description = data.note
output.description_html = addEmojis(data.note, data.emojis)
@@ -78,15 +81,11 @@ export const parseUser = (data) => {
output.token = data.pleroma.chat_token
if (relationship) {
- output.follows_you = relationship.followed_by
- output.requested = relationship.requested
- output.following = relationship.following
- output.statusnet_blocking = relationship.blocking
- output.muted = relationship.muting
- output.showing_reblogs = relationship.showing_reblogs
- output.subscribed = relationship.subscribing
+ output.relationship = relationship
}
+ output.allow_following_move = data.pleroma.allow_following_move
+
output.hide_follows = data.pleroma.hide_follows
output.hide_followers = data.pleroma.hide_followers
output.hide_follows_count = data.pleroma.hide_follows_count
@@ -139,16 +138,10 @@ export const parseUser = (data) => {
output.statusnet_profile_url = data.statusnet_profile_url
- output.statusnet_blocking = data.statusnet_blocking
-
output.is_local = data.is_local
output.role = data.role
output.show_role = data.show_role
- output.follows_you = data.follows_you
-
- output.muted = data.muted
-
if (data.rights) {
output.rights = {
moderator: data.rights.delete_others_notice,
@@ -162,10 +155,16 @@ export const parseUser = (data) => {
output.hide_follows_count = data.hide_follows_count
output.hide_followers_count = data.hide_followers_count
output.background_image = data.background_image
- // on mastoapi this info is contained in a "relationship"
- output.following = data.following
// Websocket token
output.token = data.token
+
+ // Convert relationsip data to expected format
+ output.relationship = {
+ muting: data.muted,
+ blocking: data.statusnet_blocking,
+ followed_by: data.follows_you,
+ following: data.following
+ }
}
output.created_at = new Date(data.created_at)
@@ -217,7 +216,7 @@ export const addEmojis = (string, emojis) => {
const regexSafeShortCode = emoji.shortcode.replace(matchOperatorsRegex, '\\$&')
return acc.replace(
new RegExp(`:${regexSafeShortCode}:`, 'g'),
- `<img src='${emoji.url}' alt='${emoji.shortcode}' title='${emoji.shortcode}' class='emoji' />`
+ `<img src='${emoji.url}' alt=':${emoji.shortcode}:' title=':${emoji.shortcode}:' class='emoji' />`
)
}, string)
}
@@ -248,6 +247,7 @@ export const parseStatus = (data) => {
output.is_local = pleroma.local
output.in_reply_to_screen_name = data.pleroma.in_reply_to_account_acct
output.thread_muted = pleroma.thread_muted
+ output.emoji_reactions = pleroma.emoji_reactions
} else {
output.text = data.content
output.summary = data.spoiler_text
@@ -261,7 +261,7 @@ export const parseStatus = (data) => {
output.retweeted_status = parseStatus(data.reblog)
}
- output.summary_html = addEmojis(data.spoiler_text, data.emojis)
+ output.summary_html = addEmojis(escape(data.spoiler_text), data.emojis)
output.external_url = data.url
output.poll = data.poll
output.pinned = data.pinned
@@ -347,11 +347,13 @@ export const parseNotification = (data) => {
if (masto) {
output.type = mastoDict[data.type] || data.type
output.seen = data.pleroma.is_seen
- output.status = output.type === 'follow'
- ? null
- : parseStatus(data.status)
+ output.status = isStatusNotification(output.type) ? parseStatus(data.status) : null
output.action = output.status // TODO: Refactor, this is unneeded
+ output.target = output.type !== 'move'
+ ? null
+ : parseUser(data.target)
output.from_profile = parseUser(data.account)
+ output.emoji = data.emoji
} else {
const parsedNotice = parseStatus(data.notice)
output.type = data.ntype