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 CreatedNote = MisskeyEntity.CreatedNote
export type Emoji = MisskeyEntity.Emoji export type Emoji = MisskeyEntity.Emoji
export type Favorite = MisskeyEntity.Favorite export type Favorite = MisskeyEntity.Favorite
export type Field = MisskeyEntity.Field
export type File = MisskeyEntity.File export type File = MisskeyEntity.File
export type Follower = MisskeyEntity.Follower export type Follower = MisskeyEntity.Follower
export type Following = MisskeyEntity.Following 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 => { export const user = (u: Entity.User): MegalodonEntity.Account => {
let acct = u.username let acct = u.username
let acctUrl = `https://${u.host || 'example.com'}/@${u.username}` let acctUrl = `https://${u.host || 'example.com'}/@${u.username}`
@ -118,7 +125,7 @@ namespace MisskeyAPI {
header_static: u.bannerColor, header_static: u.bannerColor,
emojis: u.emojis.map(e => emoji(e)), emojis: u.emojis.map(e => emoji(e)),
moved: null, moved: null,
fields: [], fields: u.fields.map(f => field(f)),
bot: u.isBot, 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="emoji.ts" />
/// <reference path="field.ts" />
/// <reference path="note.ts" /> /// <reference path="note.ts" />
namespace MisskeyEntity { namespace MisskeyEntity {
@ -28,5 +29,6 @@ namespace MisskeyEntity {
bannerId: string bannerId: string
pinnedNoteIds?: Array<string> pinnedNoteIds?: Array<string>
pinnedNotes?: Array<Note> pinnedNotes?: Array<Note>
fields: Array<Field>
} }
} }

View file

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