Implement account fields for Misskey

From what I've tested, account fields are only visible when searching or
directly requesting accounts. Misskey strips some of the account data in
note requests, making this is not visible there.
This commit is contained in:
fruye 2023-04-26 20:57:20 +02:00 committed by Laura Hausmann
parent 0a92dcd9d6
commit 4091e5c39a
Signed by: zotan
GPG key ID: D044E84C5BE01605
4 changed files with 17 additions and 1 deletions

View file

@ -20,6 +20,7 @@ namespace MisskeyAPI {
export type CreatedNote = MisskeyEntity.CreatedNote
export type Emoji = MisskeyEntity.Emoji
export type Favorite = MisskeyEntity.Favorite
export type Field = MisskeyEntity.Field
export type File = MisskeyEntity.File
export type Follower = MisskeyEntity.Follower
export type Following = MisskeyEntity.Following
@ -62,6 +63,12 @@ namespace MisskeyAPI {
}
}
export const field = (f: Entity.Field): MegalodonEntity.Field => ({
name: f.name,
value: escapeMFM(f.value),
verified_at: null
})
export const user = (u: Entity.User): MegalodonEntity.Account => {
let acct = u.username
let acctUrl = `https://${u.host || 'example.com'}/@${u.username}`
@ -118,7 +125,7 @@ namespace MisskeyAPI {
header_static: u.bannerColor,
emojis: u.emojis.map(e => emoji(e)),
moved: null,
fields: [],
fields: u.fields.map(f => field(f)),
bot: u.isBot,
}
}

View file

@ -0,0 +1,6 @@
namespace MisskeyEntity {
export type Field = {
name: string
value: string
}
}

View file

@ -1,4 +1,5 @@
/// <reference path="emoji.ts" />
/// <reference path="field.ts" />
/// <reference path="note.ts" />
namespace MisskeyEntity {
@ -28,5 +29,6 @@ namespace MisskeyEntity {
bannerId: string
pinnedNoteIds?: Array<string>
pinnedNotes?: Array<Note>
fields: Array<Field>
}
}

View file

@ -4,6 +4,7 @@
/// <reference path="entities/createdNote.ts" />
/// <reference path="entities/emoji.ts" />
/// <reference path="entities/favorite.ts" />
/// <reference path="entities/field.ts" />
/// <reference path="entities/file.ts" />
/// <reference path="entities/follower.ts" />
/// <reference path="entities/following.ts" />