2023-03-30 09:33:19 +09:00
|
|
|
## API Report File for "misskey-js"
|
|
|
|
|
|
|
|
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
|
|
|
|
|
|
|
|
```ts
|
|
|
|
|
|
|
|
import { EventEmitter } from 'eventemitter3';
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export type Acct = {
|
|
|
|
username: string;
|
|
|
|
host: string | null;
|
|
|
|
};
|
|
|
|
|
|
|
|
// Warning: (ae-forgotten-export) The symbol "TODO_2" needs to be exported by the entry point index.d.ts
|
|
|
|
//
|
|
|
|
// @public (undocumented)
|
|
|
|
type Ad = TODO_2;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Announcement = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
updatedAt: DateString | null;
|
|
|
|
text: string;
|
|
|
|
title: string;
|
|
|
|
imageUrl: string | null;
|
|
|
|
isRead?: boolean;
|
2023-07-24 13:08:39 +09:00
|
|
|
isPrivate: boolean;
|
|
|
|
closeDuration: number;
|
2023-03-30 09:33:19 +09:00
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Antenna = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
name: string;
|
|
|
|
keywords: string[][];
|
|
|
|
excludeKeywords: string[][];
|
|
|
|
src: 'home' | 'all' | 'users' | 'list' | 'group';
|
|
|
|
userListId: ID | null;
|
|
|
|
userGroupId: ID | null;
|
|
|
|
users: string[];
|
|
|
|
caseSensitive: boolean;
|
|
|
|
notify: boolean;
|
|
|
|
withReplies: boolean;
|
|
|
|
withFile: boolean;
|
|
|
|
hasUnreadNote: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
declare namespace api {
|
|
|
|
export {
|
|
|
|
isAPIError,
|
|
|
|
APIError,
|
|
|
|
FetchLike,
|
|
|
|
APIClient
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export { api }
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
class APIClient {
|
|
|
|
constructor(opts: {
|
|
|
|
origin: APIClient['origin'];
|
|
|
|
credential?: APIClient['credential'];
|
|
|
|
fetch?: APIClient['fetch'] | null | undefined;
|
|
|
|
});
|
|
|
|
// (undocumented)
|
|
|
|
credential: string | null | undefined;
|
|
|
|
// (undocumented)
|
|
|
|
fetch: FetchLike;
|
|
|
|
// (undocumented)
|
|
|
|
origin: string;
|
|
|
|
// Warning: (ae-forgotten-export) The symbol "IsCaseMatched" needs to be exported by the entry point index.d.ts
|
|
|
|
// Warning: (ae-forgotten-export) The symbol "GetCaseResult" needs to be exported by the entry point index.d.ts
|
|
|
|
//
|
|
|
|
// (undocumented)
|
|
|
|
request<E extends keyof Endpoints, P extends Endpoints[E]['req']>(endpoint: E, params?: P, credential?: string | null | undefined): Promise<Endpoints[E]['res'] extends {
|
|
|
|
$switch: {
|
|
|
|
$cases: [any, any][];
|
|
|
|
$default: any;
|
|
|
|
};
|
|
|
|
} ? IsCaseMatched<E, P, 0> extends true ? GetCaseResult<E, P, 0> : IsCaseMatched<E, P, 1> extends true ? GetCaseResult<E, P, 1> : IsCaseMatched<E, P, 2> extends true ? GetCaseResult<E, P, 2> : IsCaseMatched<E, P, 3> extends true ? GetCaseResult<E, P, 3> : IsCaseMatched<E, P, 4> extends true ? GetCaseResult<E, P, 4> : IsCaseMatched<E, P, 5> extends true ? GetCaseResult<E, P, 5> : IsCaseMatched<E, P, 6> extends true ? GetCaseResult<E, P, 6> : IsCaseMatched<E, P, 7> extends true ? GetCaseResult<E, P, 7> : IsCaseMatched<E, P, 8> extends true ? GetCaseResult<E, P, 8> : IsCaseMatched<E, P, 9> extends true ? GetCaseResult<E, P, 9> : Endpoints[E]['res']['$switch']['$default'] : Endpoints[E]['res']>;
|
|
|
|
}
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type APIError = {
|
|
|
|
id: string;
|
|
|
|
code: string;
|
|
|
|
message: string;
|
|
|
|
kind: 'client' | 'server';
|
|
|
|
info: Record<string, any>;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type App = TODO_2;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type AuthSession = {
|
|
|
|
id: ID;
|
|
|
|
app: App;
|
|
|
|
token: string;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Blocking = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
blockeeId: User['id'];
|
|
|
|
blockee: UserDetailed;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Channel = {
|
|
|
|
id: ID;
|
|
|
|
};
|
|
|
|
|
|
|
|
// Warning: (ae-forgotten-export) The symbol "AnyOf" needs to be exported by the entry point index.d.ts
|
|
|
|
//
|
|
|
|
// @public (undocumented)
|
|
|
|
export abstract class ChannelConnection<Channel extends AnyOf<Channels> = any> extends EventEmitter<Channel['events']> {
|
|
|
|
constructor(stream: Stream, channel: string, name?: string);
|
|
|
|
// (undocumented)
|
|
|
|
channel: string;
|
|
|
|
// (undocumented)
|
|
|
|
abstract dispose(): void;
|
|
|
|
// (undocumented)
|
|
|
|
abstract id: string;
|
|
|
|
// (undocumented)
|
|
|
|
inCount: number;
|
|
|
|
// (undocumented)
|
|
|
|
name?: string;
|
|
|
|
// (undocumented)
|
|
|
|
outCount: number;
|
|
|
|
// (undocumented)
|
|
|
|
send<T extends keyof Channel['receives']>(type: T, body: Channel['receives'][T]): void;
|
|
|
|
// (undocumented)
|
|
|
|
protected stream: Stream;
|
|
|
|
}
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export type Channels = {
|
|
|
|
main: {
|
|
|
|
params: null;
|
|
|
|
events: {
|
|
|
|
notification: (payload: Notification_2) => void;
|
|
|
|
mention: (payload: Note) => void;
|
|
|
|
reply: (payload: Note) => void;
|
|
|
|
renote: (payload: Note) => void;
|
|
|
|
follow: (payload: User) => void;
|
|
|
|
followed: (payload: User) => void;
|
|
|
|
unfollow: (payload: User) => void;
|
|
|
|
meUpdated: (payload: MeDetailed) => void;
|
|
|
|
pageEvent: (payload: PageEvent) => void;
|
|
|
|
urlUploadFinished: (payload: {
|
|
|
|
marker: string;
|
|
|
|
file: DriveFile;
|
|
|
|
}) => void;
|
|
|
|
readAllNotifications: () => void;
|
|
|
|
unreadNotification: (payload: Notification_2) => void;
|
|
|
|
unreadMention: (payload: Note['id']) => void;
|
|
|
|
readAllUnreadMentions: () => void;
|
|
|
|
unreadSpecifiedNote: (payload: Note['id']) => void;
|
|
|
|
readAllUnreadSpecifiedNotes: () => void;
|
|
|
|
readAllMessagingMessages: () => void;
|
|
|
|
messagingMessage: (payload: MessagingMessage) => void;
|
|
|
|
unreadMessagingMessage: (payload: MessagingMessage) => void;
|
|
|
|
readAllAntennas: () => void;
|
|
|
|
unreadAntenna: (payload: Antenna) => void;
|
|
|
|
readAllAnnouncements: () => void;
|
|
|
|
myTokenRegenerated: () => void;
|
|
|
|
reversiNoInvites: () => void;
|
|
|
|
reversiInvited: (payload: FIXME) => void;
|
|
|
|
signin: (payload: FIXME) => void;
|
|
|
|
registryUpdated: (payload: {
|
|
|
|
scope?: string[];
|
|
|
|
key: string;
|
|
|
|
value: any | null;
|
|
|
|
}) => void;
|
|
|
|
driveFileCreated: (payload: DriveFile) => void;
|
|
|
|
readAntenna: (payload: Antenna) => void;
|
|
|
|
};
|
|
|
|
receives: null;
|
|
|
|
};
|
|
|
|
homeTimeline: {
|
|
|
|
params: null;
|
|
|
|
events: {
|
|
|
|
note: (payload: Note) => void;
|
|
|
|
};
|
|
|
|
receives: null;
|
|
|
|
};
|
|
|
|
localTimeline: {
|
|
|
|
params: null;
|
|
|
|
events: {
|
|
|
|
note: (payload: Note) => void;
|
|
|
|
};
|
|
|
|
receives: null;
|
|
|
|
};
|
|
|
|
hybridTimeline: {
|
|
|
|
params: null;
|
|
|
|
events: {
|
|
|
|
note: (payload: Note) => void;
|
|
|
|
};
|
|
|
|
receives: null;
|
|
|
|
};
|
|
|
|
globalTimeline: {
|
|
|
|
params: null;
|
|
|
|
events: {
|
|
|
|
note: (payload: Note) => void;
|
|
|
|
};
|
|
|
|
receives: null;
|
|
|
|
};
|
|
|
|
messaging: {
|
|
|
|
params: {
|
|
|
|
otherparty?: User['id'] | null;
|
|
|
|
group?: UserGroup['id'] | null;
|
|
|
|
};
|
|
|
|
events: {
|
|
|
|
message: (payload: MessagingMessage) => void;
|
|
|
|
deleted: (payload: MessagingMessage['id']) => void;
|
|
|
|
read: (payload: MessagingMessage['id'][]) => void;
|
|
|
|
typers: (payload: User[]) => void;
|
|
|
|
};
|
|
|
|
receives: {
|
|
|
|
read: {
|
|
|
|
id: MessagingMessage['id'];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
serverStats: {
|
|
|
|
params: null;
|
|
|
|
events: {
|
|
|
|
stats: (payload: FIXME) => void;
|
|
|
|
};
|
|
|
|
receives: {
|
|
|
|
requestLog: {
|
|
|
|
id: string | number;
|
|
|
|
length: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
queueStats: {
|
|
|
|
params: null;
|
|
|
|
events: {
|
|
|
|
stats: (payload: FIXME) => void;
|
|
|
|
};
|
|
|
|
receives: {
|
|
|
|
requestLog: {
|
|
|
|
id: string | number;
|
|
|
|
length: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Clip = TODO_2;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type CustomEmoji = {
|
|
|
|
id: string;
|
|
|
|
name: string;
|
|
|
|
url: string;
|
|
|
|
category: string;
|
|
|
|
aliases: string[];
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type DateString = string;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type DetailedInstanceMetadata = LiteInstanceMetadata & {
|
|
|
|
pinnedPages: string[];
|
|
|
|
pinnedClipId: string | null;
|
|
|
|
cacheRemoteFiles: boolean;
|
2023-07-15 20:12:20 +09:00
|
|
|
cacheRemoteSensitiveFiles: boolean;
|
2023-03-30 09:33:19 +09:00
|
|
|
requireSetup: boolean;
|
|
|
|
proxyAccountName: string | null;
|
|
|
|
features: Record<string, any>;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type DriveFile = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
isSensitive: boolean;
|
|
|
|
name: string;
|
|
|
|
thumbnailUrl: string;
|
|
|
|
url: string;
|
|
|
|
type: string;
|
|
|
|
size: number;
|
|
|
|
md5: string;
|
|
|
|
blurhash: string;
|
|
|
|
comment: string | null;
|
|
|
|
properties: Record<string, any>;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type DriveFolder = TODO_2;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export type Endpoints = {
|
|
|
|
'admin/abuse-user-reports': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/delete-all-files-of-a-user': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'admin/delete-logs': {
|
|
|
|
req: NoParams;
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'admin/get-index-stats': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/get-table-stats': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/invite': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/logs': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-07-15 20:12:20 +09:00
|
|
|
'admin/meta': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-03-30 09:33:19 +09:00
|
|
|
'admin/reset-password': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/resolve-abuse-user-report': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/resync-chart': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/send-email': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/server-info': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/show-moderation-logs': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/show-user': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/show-users': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/silence-user': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/suspend-user': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/unsilence-user': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/unsuspend-user': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/update-meta': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/vacuum': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/accounts/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/ad/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/ad/delete': {
|
|
|
|
req: {
|
|
|
|
id: Ad['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'admin/ad/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/ad/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/announcements/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/announcements/delete': {
|
|
|
|
req: {
|
|
|
|
id: Announcement['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'admin/announcements/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/announcements/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/drive/clean-remote-files': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/drive/cleanup': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/drive/files': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/drive/show-file': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/emoji/add': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/emoji/copy': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/emoji/list-remote': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/emoji/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/emoji/remove': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/emoji/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/federation/delete-all-files': {
|
|
|
|
req: {
|
|
|
|
host: string;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'admin/federation/refresh-remote-instance-metadata': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/federation/remove-all-following': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/federation/update-instance': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-07-15 09:57:58 +09:00
|
|
|
'admin/invite/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/invite/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-03-30 09:33:19 +09:00
|
|
|
'admin/moderators/add': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/moderators/remove': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/promo/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/queue/clear': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/queue/deliver-delayed': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/queue/inbox-delayed': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/queue/jobs': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/queue/stats': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/relays/add': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/relays/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'admin/relays/remove': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'announcements': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
withUnreads?: boolean;
|
|
|
|
sinceId?: Announcement['id'];
|
|
|
|
untilId?: Announcement['id'];
|
2023-07-24 13:08:39 +09:00
|
|
|
privateOnly?: boolean;
|
2023-03-30 09:33:19 +09:00
|
|
|
};
|
|
|
|
res: Announcement[];
|
|
|
|
};
|
|
|
|
'antennas/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: Antenna;
|
|
|
|
};
|
|
|
|
'antennas/delete': {
|
|
|
|
req: {
|
|
|
|
antennaId: Antenna['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'antennas/list': {
|
|
|
|
req: NoParams;
|
|
|
|
res: Antenna[];
|
|
|
|
};
|
|
|
|
'antennas/notes': {
|
|
|
|
req: {
|
|
|
|
antennaId: Antenna['id'];
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'antennas/show': {
|
|
|
|
req: {
|
|
|
|
antennaId: Antenna['id'];
|
|
|
|
};
|
|
|
|
res: Antenna;
|
|
|
|
};
|
|
|
|
'antennas/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: Antenna;
|
|
|
|
};
|
|
|
|
'ap/get': {
|
|
|
|
req: {
|
|
|
|
uri: string;
|
|
|
|
};
|
|
|
|
res: Record<string, any>;
|
|
|
|
};
|
|
|
|
'ap/show': {
|
|
|
|
req: {
|
|
|
|
uri: string;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
type: 'Note';
|
|
|
|
object: Note;
|
|
|
|
} | {
|
|
|
|
type: 'User';
|
|
|
|
object: UserDetailed;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'app/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: App;
|
|
|
|
};
|
|
|
|
'app/show': {
|
|
|
|
req: {
|
|
|
|
appId: App['id'];
|
|
|
|
};
|
|
|
|
res: App;
|
|
|
|
};
|
|
|
|
'auth/accept': {
|
|
|
|
req: {
|
|
|
|
token: string;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'auth/session/generate': {
|
|
|
|
req: {
|
|
|
|
appSecret: string;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
token: string;
|
|
|
|
url: string;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'auth/session/show': {
|
|
|
|
req: {
|
|
|
|
token: string;
|
|
|
|
};
|
|
|
|
res: AuthSession;
|
|
|
|
};
|
|
|
|
'auth/session/userkey': {
|
|
|
|
req: {
|
|
|
|
appSecret: string;
|
|
|
|
token: string;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
accessToken: string;
|
|
|
|
user: User;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'blocking/create': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: UserDetailed;
|
|
|
|
};
|
|
|
|
'blocking/delete': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: UserDetailed;
|
|
|
|
};
|
|
|
|
'blocking/list': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Blocking['id'];
|
|
|
|
untilId?: Blocking['id'];
|
|
|
|
};
|
|
|
|
res: Blocking[];
|
|
|
|
};
|
|
|
|
'channels/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/featured': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/follow': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/followed': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/owned': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/pin-note': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/show': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/timeline': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/unfollow': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'channels/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'charts/active-users': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
local: {
|
|
|
|
users: number[];
|
|
|
|
};
|
|
|
|
remote: {
|
|
|
|
users: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'charts/drive': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
local: {
|
|
|
|
decCount: number[];
|
|
|
|
decSize: number[];
|
|
|
|
incCount: number[];
|
|
|
|
incSize: number[];
|
|
|
|
totalCount: number[];
|
|
|
|
totalSize: number[];
|
|
|
|
};
|
|
|
|
remote: {
|
|
|
|
decCount: number[];
|
|
|
|
decSize: number[];
|
|
|
|
incCount: number[];
|
|
|
|
incSize: number[];
|
|
|
|
totalCount: number[];
|
|
|
|
totalSize: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'charts/federation': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
instance: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'charts/hashtag': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
};
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'charts/instance': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
host: string;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
drive: {
|
|
|
|
decFiles: number[];
|
|
|
|
decUsage: number[];
|
|
|
|
incFiles: number[];
|
|
|
|
incUsage: number[];
|
|
|
|
totalFiles: number[];
|
|
|
|
totalUsage: number[];
|
|
|
|
};
|
|
|
|
followers: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
};
|
|
|
|
following: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
};
|
|
|
|
notes: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
diffs: {
|
|
|
|
normal: number[];
|
|
|
|
renote: number[];
|
|
|
|
reply: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
requests: {
|
|
|
|
failed: number[];
|
|
|
|
received: number[];
|
|
|
|
succeeded: number[];
|
|
|
|
};
|
|
|
|
users: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'charts/network': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
};
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'charts/notes': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
local: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
diffs: {
|
|
|
|
normal: number[];
|
|
|
|
renote: number[];
|
|
|
|
reply: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
remote: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
diffs: {
|
|
|
|
normal: number[];
|
|
|
|
renote: number[];
|
|
|
|
reply: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'charts/user/drive': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
decCount: number[];
|
|
|
|
decSize: number[];
|
|
|
|
incCount: number[];
|
|
|
|
incSize: number[];
|
|
|
|
totalCount: number[];
|
|
|
|
totalSize: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'charts/user/following': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'charts/user/notes': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
diffs: {
|
|
|
|
normal: number[];
|
|
|
|
renote: number[];
|
|
|
|
reply: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'charts/user/reactions': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'charts/users': {
|
|
|
|
req: {
|
|
|
|
span: 'day' | 'hour';
|
|
|
|
limit?: number;
|
|
|
|
offset?: number | null;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
local: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
};
|
|
|
|
remote: {
|
|
|
|
dec: number[];
|
|
|
|
inc: number[];
|
|
|
|
total: number[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'clips/add-note': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'clips/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'clips/delete': {
|
|
|
|
req: {
|
|
|
|
clipId: Clip['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'clips/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'clips/notes': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'clips/show': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'clips/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'drive': {
|
|
|
|
req: NoParams;
|
|
|
|
res: {
|
|
|
|
capacity: number;
|
|
|
|
usage: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'drive/files': {
|
|
|
|
req: {
|
|
|
|
folderId?: DriveFolder['id'] | null;
|
|
|
|
type?: DriveFile['type'] | null;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: DriveFile['id'];
|
|
|
|
untilId?: DriveFile['id'];
|
|
|
|
};
|
|
|
|
res: DriveFile[];
|
|
|
|
};
|
|
|
|
'drive/files/attached-notes': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'drive/files/check-existence': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'drive/files/create': {
|
2023-06-28 13:37:13 +09:00
|
|
|
req: {
|
|
|
|
folderId?: string;
|
|
|
|
name?: string;
|
|
|
|
comment?: string;
|
|
|
|
isSentisive?: boolean;
|
|
|
|
force?: boolean;
|
|
|
|
};
|
|
|
|
res: DriveFile;
|
2023-03-30 09:33:19 +09:00
|
|
|
};
|
|
|
|
'drive/files/delete': {
|
|
|
|
req: {
|
|
|
|
fileId: DriveFile['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'drive/files/find-by-hash': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'drive/files/find': {
|
|
|
|
req: {
|
|
|
|
name: string;
|
|
|
|
folderId?: DriveFolder['id'] | null;
|
|
|
|
};
|
|
|
|
res: DriveFile[];
|
|
|
|
};
|
|
|
|
'drive/files/show': {
|
|
|
|
req: {
|
|
|
|
fileId?: DriveFile['id'];
|
|
|
|
url?: string;
|
|
|
|
};
|
|
|
|
res: DriveFile;
|
|
|
|
};
|
|
|
|
'drive/files/update': {
|
|
|
|
req: {
|
|
|
|
fileId: DriveFile['id'];
|
|
|
|
folderId?: DriveFolder['id'] | null;
|
|
|
|
name?: string;
|
|
|
|
isSensitive?: boolean;
|
|
|
|
comment?: string | null;
|
|
|
|
};
|
|
|
|
res: DriveFile;
|
|
|
|
};
|
|
|
|
'drive/files/upload-from-url': {
|
|
|
|
req: {
|
|
|
|
url: string;
|
|
|
|
folderId?: DriveFolder['id'] | null;
|
|
|
|
isSensitive?: boolean;
|
|
|
|
comment?: string | null;
|
|
|
|
marker?: string | null;
|
|
|
|
force?: boolean;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'drive/folders': {
|
|
|
|
req: {
|
|
|
|
folderId?: DriveFolder['id'] | null;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: DriveFile['id'];
|
|
|
|
untilId?: DriveFile['id'];
|
|
|
|
};
|
|
|
|
res: DriveFolder[];
|
|
|
|
};
|
|
|
|
'drive/folders/create': {
|
|
|
|
req: {
|
|
|
|
name?: string;
|
|
|
|
parentId?: DriveFolder['id'] | null;
|
|
|
|
};
|
|
|
|
res: DriveFolder;
|
|
|
|
};
|
|
|
|
'drive/folders/delete': {
|
|
|
|
req: {
|
|
|
|
folderId: DriveFolder['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'drive/folders/find': {
|
|
|
|
req: {
|
|
|
|
name: string;
|
|
|
|
parentId?: DriveFolder['id'] | null;
|
|
|
|
};
|
|
|
|
res: DriveFolder[];
|
|
|
|
};
|
|
|
|
'drive/folders/show': {
|
|
|
|
req: {
|
|
|
|
folderId: DriveFolder['id'];
|
|
|
|
};
|
|
|
|
res: DriveFolder;
|
|
|
|
};
|
|
|
|
'drive/folders/update': {
|
|
|
|
req: {
|
|
|
|
folderId: DriveFolder['id'];
|
|
|
|
name?: string;
|
|
|
|
parentId?: DriveFolder['id'] | null;
|
|
|
|
};
|
|
|
|
res: DriveFolder;
|
|
|
|
};
|
|
|
|
'drive/stream': {
|
|
|
|
req: {
|
|
|
|
type?: DriveFile['type'] | null;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: DriveFile['id'];
|
|
|
|
untilId?: DriveFile['id'];
|
|
|
|
};
|
|
|
|
res: DriveFile[];
|
|
|
|
};
|
|
|
|
'endpoint': {
|
|
|
|
req: {
|
|
|
|
endpoint: string;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
params: {
|
|
|
|
name: string;
|
|
|
|
type: string;
|
|
|
|
}[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'endpoints': {
|
|
|
|
req: NoParams;
|
|
|
|
res: string[];
|
|
|
|
};
|
|
|
|
'federation/dns': {
|
|
|
|
req: {
|
|
|
|
host: string;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
a: string[];
|
|
|
|
aaaa: string[];
|
|
|
|
cname: string[];
|
|
|
|
txt: string[];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'federation/followers': {
|
|
|
|
req: {
|
|
|
|
host: string;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Following['id'];
|
|
|
|
untilId?: Following['id'];
|
|
|
|
};
|
|
|
|
res: FollowingFolloweePopulated[];
|
|
|
|
};
|
|
|
|
'federation/following': {
|
|
|
|
req: {
|
|
|
|
host: string;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Following['id'];
|
|
|
|
untilId?: Following['id'];
|
|
|
|
};
|
|
|
|
res: FollowingFolloweePopulated[];
|
|
|
|
};
|
|
|
|
'federation/instances': {
|
|
|
|
req: {
|
|
|
|
host?: string | null;
|
|
|
|
blocked?: boolean | null;
|
|
|
|
notResponding?: boolean | null;
|
|
|
|
suspended?: boolean | null;
|
|
|
|
federating?: boolean | null;
|
|
|
|
subscribing?: boolean | null;
|
|
|
|
publishing?: boolean | null;
|
|
|
|
limit?: number;
|
|
|
|
offset?: number;
|
|
|
|
sort?: '+pubSub' | '-pubSub' | '+notes' | '-notes' | '+users' | '-users' | '+following' | '-following' | '+followers' | '-followers' | '+caughtAt' | '-caughtAt' | '+lastCommunicatedAt' | '-lastCommunicatedAt' | '+driveUsage' | '-driveUsage' | '+driveFiles' | '-driveFiles';
|
|
|
|
};
|
|
|
|
res: Instance[];
|
|
|
|
};
|
|
|
|
'federation/show-instance': {
|
|
|
|
req: {
|
|
|
|
host: string;
|
|
|
|
};
|
|
|
|
res: Instance;
|
|
|
|
};
|
|
|
|
'federation/update-remote-user': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'federation/users': {
|
|
|
|
req: {
|
|
|
|
host: string;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: User['id'];
|
|
|
|
untilId?: User['id'];
|
|
|
|
};
|
|
|
|
res: UserDetailed[];
|
|
|
|
};
|
|
|
|
'following/create': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: User;
|
|
|
|
};
|
|
|
|
'following/delete': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: User;
|
|
|
|
};
|
|
|
|
'following/requests/accept': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'following/requests/cancel': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: User;
|
|
|
|
};
|
|
|
|
'following/requests/list': {
|
|
|
|
req: NoParams;
|
|
|
|
res: FollowRequest[];
|
|
|
|
};
|
|
|
|
'following/requests/reject': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'gallery/featured': {
|
|
|
|
req: null;
|
|
|
|
res: GalleryPost[];
|
|
|
|
};
|
|
|
|
'gallery/popular': {
|
|
|
|
req: null;
|
|
|
|
res: GalleryPost[];
|
|
|
|
};
|
|
|
|
'gallery/posts': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: GalleryPost['id'];
|
|
|
|
untilId?: GalleryPost['id'];
|
|
|
|
};
|
|
|
|
res: GalleryPost[];
|
|
|
|
};
|
|
|
|
'gallery/posts/create': {
|
|
|
|
req: {
|
|
|
|
title: GalleryPost['title'];
|
|
|
|
description?: GalleryPost['description'];
|
|
|
|
fileIds: GalleryPost['fileIds'];
|
|
|
|
isSensitive?: GalleryPost['isSensitive'];
|
|
|
|
};
|
|
|
|
res: GalleryPost;
|
|
|
|
};
|
|
|
|
'gallery/posts/delete': {
|
|
|
|
req: {
|
|
|
|
postId: GalleryPost['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'gallery/posts/like': {
|
|
|
|
req: {
|
|
|
|
postId: GalleryPost['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'gallery/posts/show': {
|
|
|
|
req: {
|
|
|
|
postId: GalleryPost['id'];
|
|
|
|
};
|
|
|
|
res: GalleryPost;
|
|
|
|
};
|
|
|
|
'gallery/posts/unlike': {
|
|
|
|
req: {
|
|
|
|
postId: GalleryPost['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'gallery/posts/update': {
|
|
|
|
req: {
|
|
|
|
postId: GalleryPost['id'];
|
|
|
|
title: GalleryPost['title'];
|
|
|
|
description?: GalleryPost['description'];
|
|
|
|
fileIds: GalleryPost['fileIds'];
|
|
|
|
isSensitive?: GalleryPost['isSensitive'];
|
|
|
|
};
|
|
|
|
res: GalleryPost;
|
|
|
|
};
|
|
|
|
'games/reversi/games': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'games/reversi/games/show': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'games/reversi/games/surrender': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'games/reversi/invitations': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'games/reversi/match': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'games/reversi/match/cancel': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'get-online-users-count': {
|
|
|
|
req: NoParams;
|
|
|
|
res: {
|
|
|
|
count: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'hashtags/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'hashtags/search': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'hashtags/show': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'hashtags/trend': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'hashtags/users': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i': {
|
|
|
|
req: NoParams;
|
|
|
|
res: User;
|
|
|
|
};
|
|
|
|
'i/apps': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/authorized-apps': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/change-password': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/delete-account': {
|
|
|
|
req: {
|
|
|
|
password: string;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'i/export-blocking': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/export-following': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/export-mute': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/export-notes': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/export-user-lists': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/favorites': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: NoteFavorite['id'];
|
|
|
|
untilId?: NoteFavorite['id'];
|
|
|
|
};
|
|
|
|
res: NoteFavorite[];
|
|
|
|
};
|
|
|
|
'i/gallery/likes': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/gallery/posts': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/get-word-muted-notes-count': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/import-following': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/import-user-lists': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-04-08 14:39:54 +09:00
|
|
|
'i/move': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-03-30 09:33:19 +09:00
|
|
|
'i/notifications': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Notification_2['id'];
|
|
|
|
untilId?: Notification_2['id'];
|
|
|
|
following?: boolean;
|
|
|
|
markAsRead?: boolean;
|
|
|
|
includeTypes?: Notification_2['type'][];
|
|
|
|
excludeTypes?: Notification_2['type'][];
|
|
|
|
};
|
|
|
|
res: Notification_2[];
|
|
|
|
};
|
|
|
|
'i/page-likes': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/pages': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/pin': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: MeDetailed;
|
|
|
|
};
|
|
|
|
'i/read-all-messaging-messages': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/read-all-unread-notes': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/read-announcement': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/regenerate-token': {
|
|
|
|
req: {
|
|
|
|
password: string;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'i/registry/get-all': {
|
|
|
|
req: {
|
|
|
|
scope?: string[];
|
|
|
|
};
|
|
|
|
res: Record<string, any>;
|
|
|
|
};
|
|
|
|
'i/registry/get-detail': {
|
|
|
|
req: {
|
|
|
|
key: string;
|
|
|
|
scope?: string[];
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
updatedAt: DateString;
|
|
|
|
value: any;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'i/registry/get': {
|
|
|
|
req: {
|
|
|
|
key: string;
|
|
|
|
scope?: string[];
|
|
|
|
};
|
|
|
|
res: any;
|
|
|
|
};
|
|
|
|
'i/registry/keys-with-type': {
|
|
|
|
req: {
|
|
|
|
scope?: string[];
|
|
|
|
};
|
|
|
|
res: Record<string, 'null' | 'array' | 'number' | 'string' | 'boolean' | 'object'>;
|
|
|
|
};
|
|
|
|
'i/registry/keys': {
|
|
|
|
req: {
|
|
|
|
scope?: string[];
|
|
|
|
};
|
|
|
|
res: string[];
|
|
|
|
};
|
|
|
|
'i/registry/remove': {
|
|
|
|
req: {
|
|
|
|
key: string;
|
|
|
|
scope?: string[];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'i/registry/scopes': {
|
|
|
|
req: NoParams;
|
|
|
|
res: string[][];
|
|
|
|
};
|
|
|
|
'i/registry/set': {
|
|
|
|
req: {
|
|
|
|
key: string;
|
|
|
|
value: any;
|
|
|
|
scope?: string[];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'i/revoke-token': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/signin-history': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Signin['id'];
|
|
|
|
untilId?: Signin['id'];
|
|
|
|
};
|
|
|
|
res: Signin[];
|
|
|
|
};
|
|
|
|
'i/unpin': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: MeDetailed;
|
|
|
|
};
|
|
|
|
'i/update-email': {
|
|
|
|
req: {
|
|
|
|
password: string;
|
|
|
|
email?: string | null;
|
|
|
|
};
|
|
|
|
res: MeDetailed;
|
|
|
|
};
|
|
|
|
'i/update': {
|
|
|
|
req: {
|
|
|
|
name?: string | null;
|
|
|
|
description?: string | null;
|
|
|
|
lang?: string | null;
|
|
|
|
location?: string | null;
|
|
|
|
birthday?: string | null;
|
|
|
|
avatarId?: DriveFile['id'] | null;
|
|
|
|
bannerId?: DriveFile['id'] | null;
|
|
|
|
fields?: {
|
|
|
|
name: string;
|
|
|
|
value: string;
|
|
|
|
}[];
|
|
|
|
isLocked?: boolean;
|
|
|
|
isExplorable?: boolean;
|
|
|
|
hideOnlineStatus?: boolean;
|
|
|
|
carefulBot?: boolean;
|
|
|
|
autoAcceptFollowed?: boolean;
|
|
|
|
noCrawle?: boolean;
|
|
|
|
isBot?: boolean;
|
|
|
|
isCat?: boolean;
|
|
|
|
injectFeaturedNote?: boolean;
|
|
|
|
receiveAnnouncementEmail?: boolean;
|
|
|
|
alwaysMarkNsfw?: boolean;
|
|
|
|
mutedWords?: string[][];
|
|
|
|
mutingNotificationTypes?: Notification_2['type'][];
|
|
|
|
emailNotificationTypes?: string[];
|
enhance: account migration (#10592)
* copy block and mute then create follow and unfollow jobs
* copy block and mute and update lists when detecting an account has moved
* no need to care promise orders
* refactor updating actor and target
* automatically accept if a locked account had accepted an old account
* fix exception format
* prevent the old account from calling some endpoints
* do not unfollow when moving
* adjust following and follower counts
* check movedToUri when receiving a follow request
* skip if no need to adjust
* Revert "disable account migration"
This reverts commit 2321214c98591bcfe1385c1ab5bf0ff7b471ae1d.
* fix translation specifier
* fix checking alsoKnownAs and uri
* fix updating account
* fix refollowing locked account
* decrease followersCount if followed by the old account
* adjust following and followers counts when unfollowing
* fix copying mutings
* prohibit moved account from moving again
* fix move service
* allow app creation after moving
* fix lint
* remove unnecessary field
* fix cache update
* add e2e test
* add e2e test of accepting the new account automatically
* force follow if any error happens
* remove unnecessary joins
* use Array.map instead of for const of
* ユーザーリストの移行は追加のみを行う
* nanka iroiro
* fix misskey-js?
* :v:
* 移行を行ったアカウントからのフォローリクエストの自動許可を調整
* newUriを外に出す
* newUriを外に出す2
* clean up
* fix newUri
* prevent moving if the destination account has already moved
* set alsoKnownAs via /i/update
* fix database initialization
* add return type
* prohibit updating alsoKnownAs after moving
* skip to add to alsoKnownAs if toUrl is known
* skip adding to the list if it already has
* use Acct.parse instead
* rename error code
* :art:
* 制限を5から10に緩和
* movedTo(Uri), alsoKnownAsはユーザーidを返すように
* test api res
* fix
* 元アカウントはミュートし続ける
* :art:
* unfollow
* fix
* getUserUriをUserEntityServiceに
* ?
* job!
* :art:
* instance => server
* accountMovedShort, forbiddenBecauseYouAreMigrated
* accountMovedShort
* fix test
* import, pin禁止
* 実績を凍結する
* clean up
* :v:
* change message
* ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに
* Revert "ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに"
This reverts commit 3bd7be35d8aa455cb01ae58f8172a71a50485db1.
* validateAlsoKnownAs
* 移行後2時間以内はインポート可能なファイルサイズを拡大
* clean up
* どうせactorをupdatePersonで更新するならupdatePersonしか移行処理を発行しないことにする
* handle error?
* リモートからの移行処理の条件を是正
* log, port
* fix
* fix
* enhance(dev): non-production環境でhttpサーバー間でもユーザー、ノートの連合が可能なように
* refactor (use checkHttps)
* MISSKEY_WEBFINGER_USE_HTTP
* Environment Variable readme
* NEVER USE IN PRODUCTION
* fix punyHost
* fix indent
* fix
* experimental
---------
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-04-30 00:09:29 +09:00
|
|
|
alsoKnownAs?: string[];
|
2023-03-30 09:33:19 +09:00
|
|
|
};
|
|
|
|
res: MeDetailed;
|
|
|
|
};
|
|
|
|
'i/user-group-invites': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/2fa/done': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/2fa/key-done': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/2fa/password-less': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/2fa/register-key': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/2fa/register': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/2fa/remove-key': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'i/2fa/unregister': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-07-15 09:57:58 +09:00
|
|
|
'invite/create': {
|
|
|
|
req: NoParams;
|
|
|
|
res: Invite;
|
|
|
|
};
|
|
|
|
'invite/delete': {
|
|
|
|
req: {
|
|
|
|
inviteId: Invite['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'invite/list': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Invite['id'];
|
|
|
|
untilId?: Invite['id'];
|
|
|
|
};
|
|
|
|
res: Invite[];
|
|
|
|
};
|
|
|
|
'invite/limit': {
|
|
|
|
req: NoParams;
|
|
|
|
res: InviteLimit;
|
|
|
|
};
|
2023-03-30 09:33:19 +09:00
|
|
|
'messaging/history': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
group?: boolean;
|
|
|
|
};
|
|
|
|
res: MessagingMessage[];
|
|
|
|
};
|
|
|
|
'messaging/messages': {
|
|
|
|
req: {
|
|
|
|
userId?: User['id'];
|
|
|
|
groupId?: UserGroup['id'];
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: MessagingMessage['id'];
|
|
|
|
untilId?: MessagingMessage['id'];
|
|
|
|
markAsRead?: boolean;
|
|
|
|
};
|
|
|
|
res: MessagingMessage[];
|
|
|
|
};
|
|
|
|
'messaging/messages/create': {
|
|
|
|
req: {
|
|
|
|
userId?: User['id'];
|
|
|
|
groupId?: UserGroup['id'];
|
|
|
|
text?: string;
|
|
|
|
fileId?: DriveFile['id'];
|
|
|
|
};
|
|
|
|
res: MessagingMessage;
|
|
|
|
};
|
|
|
|
'messaging/messages/delete': {
|
|
|
|
req: {
|
|
|
|
messageId: MessagingMessage['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'messaging/messages/read': {
|
|
|
|
req: {
|
|
|
|
messageId: MessagingMessage['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'meta': {
|
|
|
|
req: {
|
|
|
|
detail?: boolean;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
$switch: {
|
|
|
|
$cases: [
|
|
|
|
[
|
|
|
|
{
|
|
|
|
detail: true;
|
|
|
|
},
|
|
|
|
DetailedInstanceMetadata
|
|
|
|
],
|
|
|
|
[
|
|
|
|
{
|
|
|
|
detail: false;
|
|
|
|
},
|
|
|
|
LiteInstanceMetadata
|
|
|
|
],
|
|
|
|
[
|
|
|
|
{
|
|
|
|
detail: boolean;
|
|
|
|
},
|
|
|
|
LiteInstanceMetadata | DetailedInstanceMetadata
|
|
|
|
]
|
|
|
|
];
|
|
|
|
$default: LiteInstanceMetadata;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'miauth/gen-token': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'mute/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'mute/delete': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'mute/list': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'my/apps': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/children': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/clips': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes/conversation': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes/create': {
|
|
|
|
req: {
|
|
|
|
visibility?: 'public' | 'home' | 'followers' | 'specified';
|
|
|
|
visibleUserIds?: User['id'][];
|
|
|
|
text?: null | string;
|
|
|
|
cw?: null | string;
|
|
|
|
viaMobile?: boolean;
|
|
|
|
localOnly?: boolean;
|
|
|
|
fileIds?: DriveFile['id'][];
|
|
|
|
replyId?: null | Note['id'];
|
|
|
|
renoteId?: null | Note['id'];
|
|
|
|
channelId?: null | Channel['id'];
|
|
|
|
poll?: null | {
|
|
|
|
choices: string[];
|
|
|
|
multiple?: boolean;
|
|
|
|
expiresAt?: null | number;
|
|
|
|
expiredAfter?: null | number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
createdNote: Note;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'notes/delete': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notes/favorites/create': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notes/favorites/delete': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notes/featured': {
|
|
|
|
req: TODO;
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/global-timeline': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
sinceDate?: number;
|
|
|
|
untilDate?: number;
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/hybrid-timeline': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
sinceDate?: number;
|
|
|
|
untilDate?: number;
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/local-timeline': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
sinceDate?: number;
|
|
|
|
untilDate?: number;
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/mentions': {
|
|
|
|
req: {
|
|
|
|
following?: boolean;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/polls/recommendation': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes/polls/vote': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
choice: number;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notes/reactions': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
type?: string | null;
|
|
|
|
limit?: number;
|
|
|
|
};
|
|
|
|
res: NoteReaction[];
|
|
|
|
};
|
|
|
|
'notes/reactions/create': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
reaction: string;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notes/reactions/delete': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notes/renotes': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/replies': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/search-by-tag': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes/search': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes/show': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: Note;
|
|
|
|
};
|
|
|
|
'notes/state': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes/timeline': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
sinceDate?: number;
|
|
|
|
untilDate?: number;
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/unrenote': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notes/user-list-timeline': {
|
|
|
|
req: {
|
|
|
|
listId: UserList['id'];
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
sinceDate?: number;
|
|
|
|
untilDate?: number;
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'notes/watching/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'notes/watching/delete': {
|
|
|
|
req: {
|
|
|
|
noteId: Note['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notifications/create': {
|
|
|
|
req: {
|
|
|
|
body: string;
|
|
|
|
header?: string | null;
|
|
|
|
icon?: string | null;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'notifications/mark-all-as-read': {
|
|
|
|
req: NoParams;
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'page-push': {
|
|
|
|
req: {
|
|
|
|
pageId: Page['id'];
|
|
|
|
event: string;
|
|
|
|
var?: any;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'pages/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: Page;
|
|
|
|
};
|
|
|
|
'pages/delete': {
|
|
|
|
req: {
|
|
|
|
pageId: Page['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'pages/featured': {
|
|
|
|
req: NoParams;
|
|
|
|
res: Page[];
|
|
|
|
};
|
|
|
|
'pages/like': {
|
|
|
|
req: {
|
|
|
|
pageId: Page['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'pages/show': {
|
|
|
|
req: {
|
|
|
|
pageId?: Page['id'];
|
|
|
|
name?: string;
|
|
|
|
username?: string;
|
|
|
|
};
|
|
|
|
res: Page;
|
|
|
|
};
|
|
|
|
'pages/unlike': {
|
|
|
|
req: {
|
|
|
|
pageId: Page['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'pages/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'ping': {
|
|
|
|
req: NoParams;
|
|
|
|
res: {
|
|
|
|
pong: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'pinned-users': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'promo/read': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'request-reset-password': {
|
|
|
|
req: {
|
|
|
|
username: string;
|
|
|
|
email: string;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'reset-password': {
|
|
|
|
req: {
|
|
|
|
token: string;
|
|
|
|
password: string;
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'room/show': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'room/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
2023-06-25 08:34:18 +09:00
|
|
|
'signup': {
|
|
|
|
req: {
|
|
|
|
username: string;
|
|
|
|
password: string;
|
|
|
|
host?: string;
|
|
|
|
invitationCode?: string;
|
|
|
|
emailAddress?: string;
|
|
|
|
'hcaptcha-response'?: string;
|
|
|
|
'g-recaptcha-response'?: string;
|
|
|
|
'turnstile-response'?: string;
|
|
|
|
};
|
|
|
|
res: MeSignup | null;
|
|
|
|
};
|
2023-03-30 09:33:19 +09:00
|
|
|
'stats': {
|
|
|
|
req: NoParams;
|
|
|
|
res: Stats;
|
|
|
|
};
|
|
|
|
'server-info': {
|
|
|
|
req: NoParams;
|
|
|
|
res: ServerInfo;
|
|
|
|
};
|
|
|
|
'sw/register': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'username/available': {
|
|
|
|
req: {
|
|
|
|
username: string;
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
available: boolean;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
'users': {
|
|
|
|
req: {
|
|
|
|
limit?: number;
|
|
|
|
offset?: number;
|
|
|
|
sort?: UserSorting;
|
|
|
|
origin?: OriginType;
|
|
|
|
};
|
|
|
|
res: User[];
|
|
|
|
};
|
|
|
|
'users/clips': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/followers': {
|
|
|
|
req: {
|
|
|
|
userId?: User['id'];
|
|
|
|
username?: User['username'];
|
|
|
|
host?: User['host'] | null;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Following['id'];
|
|
|
|
untilId?: Following['id'];
|
|
|
|
};
|
|
|
|
res: FollowingFollowerPopulated[];
|
|
|
|
};
|
|
|
|
'users/following': {
|
|
|
|
req: {
|
|
|
|
userId?: User['id'];
|
|
|
|
username?: User['username'];
|
|
|
|
host?: User['host'] | null;
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Following['id'];
|
|
|
|
untilId?: Following['id'];
|
|
|
|
};
|
|
|
|
res: FollowingFolloweePopulated[];
|
|
|
|
};
|
|
|
|
'users/gallery/posts': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/get-frequently-replied-users': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/create': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/delete': {
|
|
|
|
req: {
|
|
|
|
groupId: UserGroup['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'users/groups/invitations/accept': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/invitations/reject': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/invite': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/joined': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/owned': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/pull': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/show': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/transfer': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/groups/update': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/lists/create': {
|
|
|
|
req: {
|
|
|
|
name: string;
|
|
|
|
};
|
|
|
|
res: UserList;
|
|
|
|
};
|
|
|
|
'users/lists/delete': {
|
|
|
|
req: {
|
|
|
|
listId: UserList['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'users/lists/list': {
|
|
|
|
req: NoParams;
|
|
|
|
res: UserList[];
|
|
|
|
};
|
|
|
|
'users/lists/pull': {
|
|
|
|
req: {
|
|
|
|
listId: UserList['id'];
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'users/lists/push': {
|
|
|
|
req: {
|
|
|
|
listId: UserList['id'];
|
|
|
|
userId: User['id'];
|
|
|
|
};
|
|
|
|
res: null;
|
|
|
|
};
|
|
|
|
'users/lists/show': {
|
|
|
|
req: {
|
|
|
|
listId: UserList['id'];
|
|
|
|
};
|
|
|
|
res: UserList;
|
|
|
|
};
|
|
|
|
'users/lists/update': {
|
|
|
|
req: {
|
|
|
|
listId: UserList['id'];
|
|
|
|
name: string;
|
|
|
|
};
|
|
|
|
res: UserList;
|
|
|
|
};
|
|
|
|
'users/notes': {
|
|
|
|
req: {
|
|
|
|
userId: User['id'];
|
|
|
|
limit?: number;
|
|
|
|
sinceId?: Note['id'];
|
|
|
|
untilId?: Note['id'];
|
|
|
|
sinceDate?: number;
|
|
|
|
untilDate?: number;
|
|
|
|
};
|
|
|
|
res: Note[];
|
|
|
|
};
|
|
|
|
'users/pages': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/recommendation': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/relation': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/report-abuse': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/search-by-username-and-host': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/search': {
|
|
|
|
req: TODO;
|
|
|
|
res: TODO;
|
|
|
|
};
|
|
|
|
'users/show': {
|
|
|
|
req: ShowUserReq | {
|
|
|
|
userIds: User['id'][];
|
|
|
|
};
|
|
|
|
res: {
|
|
|
|
$switch: {
|
|
|
|
$cases: [
|
|
|
|
[
|
|
|
|
{
|
|
|
|
userIds: User['id'][];
|
|
|
|
},
|
|
|
|
UserDetailed[]
|
|
|
|
]
|
|
|
|
];
|
|
|
|
$default: UserDetailed;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
declare namespace entities {
|
|
|
|
export {
|
|
|
|
ID,
|
|
|
|
DateString,
|
|
|
|
User,
|
|
|
|
UserLite,
|
|
|
|
UserDetailed,
|
|
|
|
UserGroup,
|
|
|
|
UserList,
|
|
|
|
MeDetailed,
|
2023-06-25 08:34:18 +09:00
|
|
|
MeDetailedWithSecret,
|
|
|
|
MeSignup,
|
2023-03-30 09:33:19 +09:00
|
|
|
DriveFile,
|
|
|
|
DriveFolder,
|
|
|
|
GalleryPost,
|
|
|
|
Note,
|
|
|
|
NoteReaction,
|
|
|
|
Notification_2 as Notification,
|
|
|
|
MessagingMessage,
|
|
|
|
CustomEmoji,
|
|
|
|
LiteInstanceMetadata,
|
|
|
|
DetailedInstanceMetadata,
|
|
|
|
InstanceMetadata,
|
|
|
|
ServerInfo,
|
|
|
|
Stats,
|
|
|
|
Page,
|
|
|
|
PageEvent,
|
|
|
|
Announcement,
|
|
|
|
Antenna,
|
|
|
|
App,
|
|
|
|
AuthSession,
|
|
|
|
Ad,
|
|
|
|
Clip,
|
|
|
|
NoteFavorite,
|
|
|
|
FollowRequest,
|
|
|
|
Channel,
|
|
|
|
Following,
|
|
|
|
FollowingFolloweePopulated,
|
|
|
|
FollowingFollowerPopulated,
|
|
|
|
Blocking,
|
|
|
|
Instance,
|
|
|
|
Signin,
|
2023-07-15 09:57:58 +09:00
|
|
|
Invite,
|
|
|
|
InviteLimit,
|
2023-03-30 09:33:19 +09:00
|
|
|
UserSorting,
|
|
|
|
OriginType
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export { entities }
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type FetchLike = (input: string, init?: {
|
|
|
|
method?: string;
|
|
|
|
body?: string;
|
|
|
|
credentials?: RequestCredentials;
|
|
|
|
cache?: RequestCache;
|
|
|
|
headers: {
|
|
|
|
[key in string]: string;
|
|
|
|
};
|
|
|
|
}) => Promise<{
|
|
|
|
status: number;
|
|
|
|
json(): Promise<any>;
|
|
|
|
}>;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export const ffVisibility: readonly ["public", "followers", "private"];
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Following = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
followerId: User['id'];
|
|
|
|
followeeId: User['id'];
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type FollowingFolloweePopulated = Following & {
|
|
|
|
followee: UserDetailed;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type FollowingFollowerPopulated = Following & {
|
|
|
|
follower: UserDetailed;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type FollowRequest = {
|
|
|
|
id: ID;
|
|
|
|
follower: User;
|
|
|
|
followee: User;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type GalleryPost = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
updatedAt: DateString;
|
|
|
|
userId: User['id'];
|
|
|
|
user: User;
|
|
|
|
title: string;
|
|
|
|
description: string | null;
|
|
|
|
fileIds: DriveFile['id'][];
|
|
|
|
files: DriveFile[];
|
|
|
|
isSensitive: boolean;
|
|
|
|
likedCount: number;
|
|
|
|
isLiked?: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type ID = string;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Instance = {
|
|
|
|
id: ID;
|
|
|
|
caughtAt: DateString;
|
|
|
|
host: string;
|
|
|
|
usersCount: number;
|
|
|
|
notesCount: number;
|
|
|
|
followingCount: number;
|
|
|
|
followersCount: number;
|
|
|
|
driveUsage: number;
|
|
|
|
driveFiles: number;
|
|
|
|
latestRequestSentAt: DateString | null;
|
|
|
|
latestStatus: number | null;
|
|
|
|
latestRequestReceivedAt: DateString | null;
|
|
|
|
lastCommunicatedAt: DateString;
|
|
|
|
isNotResponding: boolean;
|
|
|
|
isSuspended: boolean;
|
|
|
|
softwareName: string | null;
|
|
|
|
softwareVersion: string | null;
|
|
|
|
openRegistrations: boolean | null;
|
|
|
|
name: string | null;
|
|
|
|
description: string | null;
|
|
|
|
maintainerName: string | null;
|
|
|
|
maintainerEmail: string | null;
|
|
|
|
iconUrl: string | null;
|
|
|
|
faviconUrl: string | null;
|
|
|
|
themeColor: string | null;
|
|
|
|
infoUpdatedAt: DateString | null;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type InstanceMetadata = LiteInstanceMetadata | DetailedInstanceMetadata;
|
|
|
|
|
2023-07-15 09:57:58 +09:00
|
|
|
// @public (undocumented)
|
|
|
|
type Invite = {
|
|
|
|
id: ID;
|
|
|
|
code: string;
|
|
|
|
expiresAt: DateString | null;
|
|
|
|
createdAt: DateString;
|
|
|
|
createdBy: UserLite | null;
|
|
|
|
usedBy: UserLite | null;
|
|
|
|
usedAt: DateString | null;
|
|
|
|
used: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type InviteLimit = {
|
|
|
|
remaining: number;
|
|
|
|
};
|
|
|
|
|
2023-03-30 09:33:19 +09:00
|
|
|
// @public (undocumented)
|
|
|
|
function isAPIError(reason: any): reason is APIError;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type LiteInstanceMetadata = {
|
|
|
|
maintainerName: string | null;
|
|
|
|
maintainerEmail: string | null;
|
|
|
|
version: string;
|
|
|
|
name: string | null;
|
|
|
|
uri: string;
|
|
|
|
description: string | null;
|
|
|
|
langs: string[];
|
|
|
|
tosUrl: string | null;
|
|
|
|
repositoryUrl: string;
|
|
|
|
feedbackUrl: string;
|
|
|
|
disableRegistration: boolean;
|
|
|
|
disableLocalTimeline: boolean;
|
|
|
|
disableGlobalTimeline: boolean;
|
|
|
|
driveCapacityPerLocalUserMb: number;
|
|
|
|
driveCapacityPerRemoteUserMb: number;
|
|
|
|
emailRequiredForSignup: boolean;
|
|
|
|
enableHcaptcha: boolean;
|
|
|
|
hcaptchaSiteKey: string | null;
|
|
|
|
enableRecaptcha: boolean;
|
|
|
|
recaptchaSiteKey: string | null;
|
|
|
|
enableTurnstile: boolean;
|
|
|
|
turnstileSiteKey: string | null;
|
|
|
|
swPublickey: string | null;
|
|
|
|
themeColor: string | null;
|
|
|
|
mascotImageUrl: string | null;
|
|
|
|
bannerUrl: string | null;
|
2023-06-10 13:45:30 +09:00
|
|
|
serverErrorImageUrl: string | null;
|
|
|
|
infoImageUrl: string | null;
|
|
|
|
notFoundImageUrl: string | null;
|
2023-03-30 09:33:19 +09:00
|
|
|
iconUrl: string | null;
|
|
|
|
backgroundImageUrl: string | null;
|
|
|
|
logoImageUrl: string | null;
|
|
|
|
maxNoteTextLength: number;
|
|
|
|
enableEmail: boolean;
|
|
|
|
enableTwitterIntegration: boolean;
|
|
|
|
enableGithubIntegration: boolean;
|
|
|
|
enableDiscordIntegration: boolean;
|
|
|
|
enableServiceWorker: boolean;
|
|
|
|
emojis: CustomEmoji[];
|
|
|
|
defaultDarkTheme: string | null;
|
|
|
|
defaultLightTheme: string | null;
|
|
|
|
ads: {
|
|
|
|
id: ID;
|
|
|
|
ratio: number;
|
|
|
|
place: string;
|
|
|
|
url: string;
|
|
|
|
imageUrl: string;
|
|
|
|
}[];
|
|
|
|
translatorAvailable: boolean;
|
2023-04-19 21:24:31 +09:00
|
|
|
serverRules: string[];
|
2023-03-30 09:33:19 +09:00
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type MeDetailed = UserDetailed & {
|
|
|
|
avatarId: DriveFile['id'];
|
|
|
|
bannerId: DriveFile['id'];
|
|
|
|
autoAcceptFollowed: boolean;
|
|
|
|
alwaysMarkNsfw: boolean;
|
|
|
|
carefulBot: boolean;
|
|
|
|
emailNotificationTypes: string[];
|
|
|
|
hasPendingReceivedFollowRequest: boolean;
|
|
|
|
hasUnreadAnnouncement: boolean;
|
|
|
|
hasUnreadAntenna: boolean;
|
|
|
|
hasUnreadMentions: boolean;
|
|
|
|
hasUnreadMessagingMessage: boolean;
|
|
|
|
hasUnreadNotification: boolean;
|
|
|
|
hasUnreadSpecifiedNotes: boolean;
|
|
|
|
hideOnlineStatus: boolean;
|
|
|
|
injectFeaturedNote: boolean;
|
|
|
|
integrations: Record<string, any>;
|
|
|
|
isDeleted: boolean;
|
|
|
|
isExplorable: boolean;
|
|
|
|
mutedWords: string[][];
|
|
|
|
mutingNotificationTypes: string[];
|
|
|
|
noCrawle: boolean;
|
|
|
|
receiveAnnouncementEmail: boolean;
|
|
|
|
usePasswordLessLogin: boolean;
|
|
|
|
[other: string]: any;
|
|
|
|
};
|
|
|
|
|
2023-06-25 08:34:18 +09:00
|
|
|
// @public (undocumented)
|
|
|
|
type MeDetailedWithSecret = MeDetailed & {
|
|
|
|
email: string;
|
|
|
|
emailVerified: boolean;
|
|
|
|
securityKeysList: {
|
|
|
|
id: string;
|
|
|
|
name: string;
|
|
|
|
lastUsed: string;
|
|
|
|
}[];
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type MeSignup = MeDetailedWithSecret & {
|
|
|
|
token: string;
|
|
|
|
};
|
|
|
|
|
2023-03-30 09:33:19 +09:00
|
|
|
// @public (undocumented)
|
|
|
|
type MessagingMessage = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
file: DriveFile | null;
|
|
|
|
fileId: DriveFile['id'] | null;
|
|
|
|
isRead: boolean;
|
|
|
|
reads: User['id'][];
|
|
|
|
text: string | null;
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
recipient?: User | null;
|
|
|
|
recipientId: User['id'] | null;
|
|
|
|
group?: UserGroup | null;
|
|
|
|
groupId: UserGroup['id'] | null;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export const mutedNoteReasons: readonly ["word", "manual", "spam", "other"];
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Note = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
text: string | null;
|
|
|
|
cw: string | null;
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
reply?: Note;
|
|
|
|
replyId: Note['id'];
|
|
|
|
renote?: Note;
|
|
|
|
renoteId: Note['id'];
|
|
|
|
files: DriveFile[];
|
|
|
|
fileIds: DriveFile['id'][];
|
|
|
|
visibility: 'public' | 'home' | 'followers' | 'specified';
|
|
|
|
visibleUserIds?: User['id'][];
|
|
|
|
localOnly?: boolean;
|
|
|
|
myReaction?: string;
|
|
|
|
reactions: Record<string, number>;
|
|
|
|
renoteCount: number;
|
|
|
|
repliesCount: number;
|
|
|
|
poll?: {
|
|
|
|
expiresAt: DateString | null;
|
|
|
|
multiple: boolean;
|
|
|
|
choices: {
|
|
|
|
isVoted: boolean;
|
|
|
|
text: string;
|
|
|
|
votes: number;
|
|
|
|
}[];
|
|
|
|
};
|
|
|
|
emojis: {
|
|
|
|
name: string;
|
|
|
|
url: string;
|
|
|
|
}[];
|
|
|
|
uri?: string;
|
|
|
|
url?: string;
|
|
|
|
isHidden?: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type NoteFavorite = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
noteId: Note['id'];
|
|
|
|
note: Note;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type NoteReaction = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
user: UserLite;
|
|
|
|
type: string;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export const noteVisibilities: readonly ["public", "home", "followers", "specified"];
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Notification_2 = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
isRead: boolean;
|
|
|
|
} & ({
|
|
|
|
type: 'reaction';
|
|
|
|
reaction: string;
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
note: Note;
|
|
|
|
} | {
|
|
|
|
type: 'reply';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
note: Note;
|
|
|
|
} | {
|
|
|
|
type: 'renote';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
note: Note;
|
|
|
|
} | {
|
|
|
|
type: 'quote';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
note: Note;
|
|
|
|
} | {
|
|
|
|
type: 'mention';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
note: Note;
|
|
|
|
} | {
|
|
|
|
type: 'pollVote';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
note: Note;
|
|
|
|
} | {
|
|
|
|
type: 'follow';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
} | {
|
|
|
|
type: 'followRequestAccepted';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
} | {
|
|
|
|
type: 'receiveFollowRequest';
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
} | {
|
|
|
|
type: 'groupInvited';
|
|
|
|
invitation: UserGroup;
|
|
|
|
user: User;
|
|
|
|
userId: User['id'];
|
|
|
|
} | {
|
|
|
|
type: 'app';
|
|
|
|
header?: string | null;
|
|
|
|
body: string;
|
|
|
|
icon?: string | null;
|
|
|
|
});
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export const notificationTypes: readonly ["follow", "mention", "reply", "renote", "quote", "reaction", "pollVote", "pollEnded", "receiveFollowRequest", "followRequestAccepted", "groupInvited", "app"];
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type OriginType = 'combined' | 'local' | 'remote';
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Page = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
updatedAt: DateString;
|
|
|
|
userId: User['id'];
|
|
|
|
user: User;
|
|
|
|
content: Record<string, any>[];
|
|
|
|
variables: Record<string, any>[];
|
|
|
|
title: string;
|
|
|
|
name: string;
|
|
|
|
summary: string | null;
|
|
|
|
hideTitleWhenPinned: boolean;
|
|
|
|
alignCenter: boolean;
|
|
|
|
font: string;
|
|
|
|
script: string;
|
|
|
|
eyeCatchingImageId: DriveFile['id'] | null;
|
|
|
|
eyeCatchingImage: DriveFile | null;
|
|
|
|
attachedFiles: any;
|
|
|
|
likedCount: number;
|
|
|
|
isLiked?: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type PageEvent = {
|
|
|
|
pageId: Page['id'];
|
|
|
|
event: string;
|
|
|
|
var: any;
|
|
|
|
userId: User['id'];
|
|
|
|
user: User;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
export const permissions: string[];
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type ServerInfo = {
|
|
|
|
machine: string;
|
|
|
|
cpu: {
|
|
|
|
model: string;
|
|
|
|
cores: number;
|
|
|
|
};
|
|
|
|
mem: {
|
|
|
|
total: number;
|
|
|
|
};
|
|
|
|
fs: {
|
|
|
|
total: number;
|
|
|
|
used: number;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Signin = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
ip: string;
|
|
|
|
headers: Record<string, any>;
|
|
|
|
success: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type Stats = {
|
|
|
|
notesCount: number;
|
|
|
|
originalNotesCount: number;
|
|
|
|
usersCount: number;
|
|
|
|
originalUsersCount: number;
|
|
|
|
instances: number;
|
|
|
|
driveUsageLocal: number;
|
|
|
|
driveUsageRemote: number;
|
|
|
|
};
|
|
|
|
|
|
|
|
// Warning: (ae-forgotten-export) The symbol "StreamEvents" needs to be exported by the entry point index.d.ts
|
|
|
|
//
|
|
|
|
// @public (undocumented)
|
|
|
|
export class Stream extends EventEmitter<StreamEvents> {
|
|
|
|
constructor(origin: string, user: {
|
|
|
|
token: string;
|
|
|
|
} | null, options?: {
|
|
|
|
WebSocket?: any;
|
|
|
|
});
|
|
|
|
// (undocumented)
|
|
|
|
close(): void;
|
|
|
|
// Warning: (ae-forgotten-export) The symbol "NonSharedConnection" needs to be exported by the entry point index.d.ts
|
|
|
|
//
|
|
|
|
// (undocumented)
|
|
|
|
disconnectToChannel(connection: NonSharedConnection): void;
|
2023-06-06 09:37:36 +09:00
|
|
|
// (undocumented)
|
|
|
|
heartbeat(): void;
|
|
|
|
// (undocumented)
|
|
|
|
ping(): void;
|
2023-03-30 09:33:19 +09:00
|
|
|
// Warning: (ae-forgotten-export) The symbol "SharedConnection" needs to be exported by the entry point index.d.ts
|
|
|
|
//
|
|
|
|
// (undocumented)
|
|
|
|
removeSharedConnection(connection: SharedConnection): void;
|
|
|
|
// Warning: (ae-forgotten-export) The symbol "Pool" needs to be exported by the entry point index.d.ts
|
|
|
|
//
|
|
|
|
// (undocumented)
|
|
|
|
removeSharedConnectionPool(pool: Pool): void;
|
|
|
|
// (undocumented)
|
2023-04-08 14:39:54 +09:00
|
|
|
send(typeOrPayload: string): void;
|
|
|
|
// (undocumented)
|
|
|
|
send(typeOrPayload: string, payload: any): void;
|
|
|
|
// (undocumented)
|
|
|
|
send(typeOrPayload: Record<string, any> | any[]): void;
|
2023-03-30 09:33:19 +09:00
|
|
|
// (undocumented)
|
|
|
|
state: 'initializing' | 'reconnecting' | 'connected';
|
|
|
|
// (undocumented)
|
|
|
|
useChannel<C extends keyof Channels>(channel: C, params?: Channels[C]['params'], name?: string): ChannelConnection<Channels[C]>;
|
|
|
|
}
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type User = UserLite | UserDetailed;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type UserDetailed = UserLite & {
|
enhance: account migration (#10592)
* copy block and mute then create follow and unfollow jobs
* copy block and mute and update lists when detecting an account has moved
* no need to care promise orders
* refactor updating actor and target
* automatically accept if a locked account had accepted an old account
* fix exception format
* prevent the old account from calling some endpoints
* do not unfollow when moving
* adjust following and follower counts
* check movedToUri when receiving a follow request
* skip if no need to adjust
* Revert "disable account migration"
This reverts commit 2321214c98591bcfe1385c1ab5bf0ff7b471ae1d.
* fix translation specifier
* fix checking alsoKnownAs and uri
* fix updating account
* fix refollowing locked account
* decrease followersCount if followed by the old account
* adjust following and followers counts when unfollowing
* fix copying mutings
* prohibit moved account from moving again
* fix move service
* allow app creation after moving
* fix lint
* remove unnecessary field
* fix cache update
* add e2e test
* add e2e test of accepting the new account automatically
* force follow if any error happens
* remove unnecessary joins
* use Array.map instead of for const of
* ユーザーリストの移行は追加のみを行う
* nanka iroiro
* fix misskey-js?
* :v:
* 移行を行ったアカウントからのフォローリクエストの自動許可を調整
* newUriを外に出す
* newUriを外に出す2
* clean up
* fix newUri
* prevent moving if the destination account has already moved
* set alsoKnownAs via /i/update
* fix database initialization
* add return type
* prohibit updating alsoKnownAs after moving
* skip to add to alsoKnownAs if toUrl is known
* skip adding to the list if it already has
* use Acct.parse instead
* rename error code
* :art:
* 制限を5から10に緩和
* movedTo(Uri), alsoKnownAsはユーザーidを返すように
* test api res
* fix
* 元アカウントはミュートし続ける
* :art:
* unfollow
* fix
* getUserUriをUserEntityServiceに
* ?
* job!
* :art:
* instance => server
* accountMovedShort, forbiddenBecauseYouAreMigrated
* accountMovedShort
* fix test
* import, pin禁止
* 実績を凍結する
* clean up
* :v:
* change message
* ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに
* Revert "ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに"
This reverts commit 3bd7be35d8aa455cb01ae58f8172a71a50485db1.
* validateAlsoKnownAs
* 移行後2時間以内はインポート可能なファイルサイズを拡大
* clean up
* どうせactorをupdatePersonで更新するならupdatePersonしか移行処理を発行しないことにする
* handle error?
* リモートからの移行処理の条件を是正
* log, port
* fix
* fix
* enhance(dev): non-production環境でhttpサーバー間でもユーザー、ノートの連合が可能なように
* refactor (use checkHttps)
* MISSKEY_WEBFINGER_USE_HTTP
* Environment Variable readme
* NEVER USE IN PRODUCTION
* fix punyHost
* fix indent
* fix
* experimental
---------
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-04-30 00:09:29 +09:00
|
|
|
alsoKnownAs: string[];
|
2023-03-30 09:33:19 +09:00
|
|
|
bannerBlurhash: string | null;
|
|
|
|
bannerColor: string | null;
|
|
|
|
bannerUrl: string | null;
|
|
|
|
birthday: string | null;
|
|
|
|
createdAt: DateString;
|
|
|
|
description: string | null;
|
|
|
|
ffVisibility: 'public' | 'followers' | 'private';
|
|
|
|
fields: {
|
|
|
|
name: string;
|
|
|
|
value: string;
|
|
|
|
}[];
|
|
|
|
followersCount: number;
|
|
|
|
followingCount: number;
|
|
|
|
hasPendingFollowRequestFromYou: boolean;
|
|
|
|
hasPendingFollowRequestToYou: boolean;
|
|
|
|
isAdmin: boolean;
|
|
|
|
isBlocked: boolean;
|
|
|
|
isBlocking: boolean;
|
|
|
|
isBot: boolean;
|
|
|
|
isCat: boolean;
|
|
|
|
isFollowed: boolean;
|
|
|
|
isFollowing: boolean;
|
|
|
|
isLocked: boolean;
|
|
|
|
isModerator: boolean;
|
|
|
|
isMuted: boolean;
|
|
|
|
isSilenced: boolean;
|
|
|
|
isSuspended: boolean;
|
|
|
|
lang: string | null;
|
|
|
|
lastFetchedAt?: DateString;
|
|
|
|
location: string | null;
|
enhance: account migration (#10592)
* copy block and mute then create follow and unfollow jobs
* copy block and mute and update lists when detecting an account has moved
* no need to care promise orders
* refactor updating actor and target
* automatically accept if a locked account had accepted an old account
* fix exception format
* prevent the old account from calling some endpoints
* do not unfollow when moving
* adjust following and follower counts
* check movedToUri when receiving a follow request
* skip if no need to adjust
* Revert "disable account migration"
This reverts commit 2321214c98591bcfe1385c1ab5bf0ff7b471ae1d.
* fix translation specifier
* fix checking alsoKnownAs and uri
* fix updating account
* fix refollowing locked account
* decrease followersCount if followed by the old account
* adjust following and followers counts when unfollowing
* fix copying mutings
* prohibit moved account from moving again
* fix move service
* allow app creation after moving
* fix lint
* remove unnecessary field
* fix cache update
* add e2e test
* add e2e test of accepting the new account automatically
* force follow if any error happens
* remove unnecessary joins
* use Array.map instead of for const of
* ユーザーリストの移行は追加のみを行う
* nanka iroiro
* fix misskey-js?
* :v:
* 移行を行ったアカウントからのフォローリクエストの自動許可を調整
* newUriを外に出す
* newUriを外に出す2
* clean up
* fix newUri
* prevent moving if the destination account has already moved
* set alsoKnownAs via /i/update
* fix database initialization
* add return type
* prohibit updating alsoKnownAs after moving
* skip to add to alsoKnownAs if toUrl is known
* skip adding to the list if it already has
* use Acct.parse instead
* rename error code
* :art:
* 制限を5から10に緩和
* movedTo(Uri), alsoKnownAsはユーザーidを返すように
* test api res
* fix
* 元アカウントはミュートし続ける
* :art:
* unfollow
* fix
* getUserUriをUserEntityServiceに
* ?
* job!
* :art:
* instance => server
* accountMovedShort, forbiddenBecauseYouAreMigrated
* accountMovedShort
* fix test
* import, pin禁止
* 実績を凍結する
* clean up
* :v:
* change message
* ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに
* Revert "ブロック, フォロー, ミュート, リストのインポートファイルの制限を32MiBに"
This reverts commit 3bd7be35d8aa455cb01ae58f8172a71a50485db1.
* validateAlsoKnownAs
* 移行後2時間以内はインポート可能なファイルサイズを拡大
* clean up
* どうせactorをupdatePersonで更新するならupdatePersonしか移行処理を発行しないことにする
* handle error?
* リモートからの移行処理の条件を是正
* log, port
* fix
* fix
* enhance(dev): non-production環境でhttpサーバー間でもユーザー、ノートの連合が可能なように
* refactor (use checkHttps)
* MISSKEY_WEBFINGER_USE_HTTP
* Environment Variable readme
* NEVER USE IN PRODUCTION
* fix punyHost
* fix indent
* fix
* experimental
---------
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-04-30 00:09:29 +09:00
|
|
|
movedTo: string;
|
2023-03-30 09:33:19 +09:00
|
|
|
notesCount: number;
|
|
|
|
pinnedNoteIds: ID[];
|
|
|
|
pinnedNotes: Note[];
|
|
|
|
pinnedPage: Page | null;
|
|
|
|
pinnedPageId: string | null;
|
|
|
|
publicReactions: boolean;
|
|
|
|
securityKeys: boolean;
|
|
|
|
twoFactorEnabled: boolean;
|
|
|
|
updatedAt: DateString | null;
|
|
|
|
uri: string | null;
|
|
|
|
url: string | null;
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type UserGroup = TODO_2;
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type UserList = {
|
|
|
|
id: ID;
|
|
|
|
createdAt: DateString;
|
|
|
|
name: string;
|
|
|
|
userIds: User['id'][];
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type UserLite = {
|
|
|
|
id: ID;
|
|
|
|
username: string;
|
|
|
|
host: string | null;
|
|
|
|
name: string;
|
|
|
|
onlineStatus: 'online' | 'active' | 'offline' | 'unknown';
|
|
|
|
avatarUrl: string;
|
|
|
|
avatarBlurhash: string;
|
|
|
|
emojis: {
|
|
|
|
name: string;
|
|
|
|
url: string;
|
|
|
|
}[];
|
|
|
|
instance?: {
|
|
|
|
name: Instance['name'];
|
|
|
|
softwareName: Instance['softwareName'];
|
|
|
|
softwareVersion: Instance['softwareVersion'];
|
|
|
|
iconUrl: Instance['iconUrl'];
|
|
|
|
faviconUrl: Instance['faviconUrl'];
|
|
|
|
themeColor: Instance['themeColor'];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// @public (undocumented)
|
|
|
|
type UserSorting = '+follower' | '-follower' | '+createdAt' | '-createdAt' | '+updatedAt' | '-updatedAt';
|
|
|
|
|
|
|
|
// Warnings were encountered during analysis:
|
|
|
|
//
|
|
|
|
// src/api.types.ts:16:32 - (ae-forgotten-export) The symbol "TODO" needs to be exported by the entry point index.d.ts
|
|
|
|
// src/api.types.ts:18:25 - (ae-forgotten-export) The symbol "NoParams" needs to be exported by the entry point index.d.ts
|
2023-07-15 20:12:20 +09:00
|
|
|
// src/api.types.ts:629:18 - (ae-forgotten-export) The symbol "ShowUserReq" needs to be exported by the entry point index.d.ts
|
2023-04-08 14:39:54 +09:00
|
|
|
// src/streaming.types.ts:33:4 - (ae-forgotten-export) The symbol "FIXME" needs to be exported by the entry point index.d.ts
|
2023-03-30 09:33:19 +09:00
|
|
|
|
|
|
|
// (No @packageDocumentation comment for this package)
|
|
|
|
|
|
|
|
```
|