use mastodon API for user fetching on firefish; stronger compatibility

This commit is contained in:
ari melody 2024-06-21 03:18:21 +01:00
parent 893ee804c1
commit 91600d901a
Signed by: ari
GPG key ID: CF99829C92678188
2 changed files with 3 additions and 17 deletions

View file

@ -44,7 +44,7 @@ export async function parsePost(data, num_replies) {
post.files = data.media_attachments; post.files = data.media_attachments;
post.url = data.url; post.url = data.url;
post.reply = data.in_reply_to_id && num_replies > 0 ? await getPost(data.in_reply_to_id, num_replies - 1) : null; post.reply = data.in_reply_to_id && num_replies > 0 ? await getPost(data.in_reply_to_id, num_replies - 1) : null;
post.boost = data.reblog ? await Client.get().api.parsePost(data.reblog, 1) : null; post.boost = data.reblog ? await parsePost(data.reblog, 1) : null;
post.emojis = []; post.emojis = [];
data.emojis.forEach(emoji_data => { data.emojis.forEach(emoji_data => {
let name = emoji_data.shortcode.split('@')[0]; let name = emoji_data.shortcode.split('@')[0];
@ -86,21 +86,7 @@ export async function parsePost(data, num_replies) {
} }
export async function parseUser(data) { export async function parseUser(data) {
let user = new User(); return mastodonAPI.parseUser(data);
user.id = data.id;
user.nickname = data.display_name;
user.username = data.username;
user.host = data.fqn.split('@')[1];
user.avatar_url = data.avatar;
user.emojis = [];
data.emojis.forEach(emoji_data => {
emoji_data.id = emoji_data.shortcode + '@' + user.host;
emoji_data.name = emoji_data.shortcode;
emoji_data.host = user.host;
user.emojis.push(Client.get().api.parseEmoji(emoji_data));
});
Client.get().putCacheUser(user);
return user;
} }
export function parseEmoji(data) { export function parseEmoji(data) {

View file

@ -145,7 +145,7 @@ export async function parsePost(data, num_replies) {
post.files = data.media_attachments; post.files = data.media_attachments;
post.url = data.url; post.url = data.url;
post.reply = data.in_reply_to_id && num_replies > 0 ? await getPost(data.in_reply_to_id, num_replies - 1) : null; post.reply = data.in_reply_to_id && num_replies > 0 ? await getPost(data.in_reply_to_id, num_replies - 1) : null;
post.boost = data.reblog ? await Client.get().api.parsePost(data.reblog, 1) : null; post.boost = data.reblog ? await parsePost(data.reblog, 1) : null;
post.emojis = []; post.emojis = [];
data.emojis.forEach(emoji_data => { data.emojis.forEach(emoji_data => {
let name = emoji_data.shortcode.split('@')[0]; let name = emoji_data.shortcode.split('@')[0];