UNPKG

masto

Version:

Mastodon API client for JavaScript, TypeScript, Node.js, browsers

65 lines (64 loc) 2.93 kB
import { type HttpMetaParams } from "../../../interfaces/index.js"; import { type AccountCredentials, type AccountField, type Profile } from "../../entities/v1/index.js"; import { type Method } from "../../method.js"; export interface UpdateProfileParams { /** The display name to use for the profile. */ readonly displayName?: string | null; /** The account bio. */ readonly note?: string | null; /** Avatar image encoded using multipart/form-data */ readonly avatar?: Blob | string | null; /** A textual description of the avatar. */ readonly avatarDescription?: string | null; /** Header image encoded using multipart/form-data */ readonly header?: Blob | string | null; /** A textual description of the header. */ readonly headerDescription?: string | null; /** Whether manual approval of follow requests is required. */ readonly locked?: boolean | null; /** Whether the account has a bot flag. */ readonly bot?: boolean | null; /** Whether the account should be shown in the profile directory. */ readonly discoverable?: boolean | null; /** Whether you want to hide followers and followings on your profile. */ readonly hideCollections?: boolean | null; /** Whether the account allows indexing by search engines. */ readonly indexable?: boolean | null; /** Whether the account wishes to have a "Media" tab with media attachments on their profile. */ readonly showMedia?: boolean | null; /** Whether the account wishes to have replies in the "Media" tab on their profile. */ readonly showMediaReplies?: boolean | null; /** Whether the account wishes to have a "Featured" tab on their profile. */ readonly showFeatured?: boolean | null; /** Domains of websites allowed to credit the account. */ readonly attributionDomains?: string[] | null; /** Profile metadata `name` and `value`. */ readonly fieldsAttributes?: AccountField[] | null; } export interface ProfileAvatarResource { /** @see https://docs.joinmastodon.org/methods/profile/#delete-profile-avatar */ remove: Method<AccountCredentials>; } export interface ProfileHeaderResource { /** @see https://docs.joinmastodon.org/methods/profile/#delete-profile-header */ remove: Method<AccountCredentials>; } export interface ProfileResource { avatar: ProfileAvatarResource; header: ProfileHeaderResource; /** * Get the current user's profile. * @return Profile * @see https://docs.joinmastodon.org/methods/profile/ */ fetch: Method<Profile>; /** * Update the current user's profile. * @param params Parameters * @return Profile * @see https://docs.joinmastodon.org/methods/profile/ */ update: Method<Profile, UpdateProfileParams, HttpMetaParams<"multipart-form">>; } /** @deprecated Use `ProfileResource` instead. */ export type ProfileRepository = ProfileResource;