Fixed 267U.pre2

This commit is contained in:
2026-07-26 18:25:37 +09:00
parent 50bfaeafdf
commit 317d00a284
1286 changed files with 80222 additions and 1 deletions
@@ -0,0 +1,125 @@
export const packedAntennaSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
name: {
type: "string",
optional: false,
nullable: false
},
keywords: {
type: "array",
optional: false,
nullable: false,
items: {
type: "array",
optional: false,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false
}
}
},
excludeKeywords: {
type: "array",
optional: false,
nullable: false,
items: {
type: "array",
optional: false,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false
}
}
},
src: {
type: "string",
optional: false,
nullable: false,
enum: [
"home",
"all",
"users",
"list",
"group",
"instances"
]
},
userListId: {
type: "string",
optional: false,
nullable: true,
format: "id"
},
userGroupId: {
type: "string",
optional: false,
nullable: true,
format: "id"
},
users: {
type: "array",
optional: false,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false
}
},
instances: {
type: "array",
optional: false,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false
}
},
caseSensitive: {
type: "boolean",
optional: false,
nullable: false,
default: false
},
notify: {
type: "boolean",
optional: false,
nullable: false
},
withReplies: {
type: "boolean",
optional: false,
nullable: false,
default: false
},
withFile: {
type: "boolean",
optional: false,
nullable: false
},
hasUnreadNote: {
type: "boolean",
optional: false,
nullable: false,
default: false
}
}
};
@@ -0,0 +1,40 @@
export const packedAppSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false
},
name: {
type: "string",
optional: false,
nullable: false
},
callbackUrl: {
type: "string",
optional: false,
nullable: true
},
permission: {
type: "array",
optional: false,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false
}
},
secret: {
type: "string",
optional: true,
nullable: false
},
isAuthorized: {
type: "boolean",
optional: true,
nullable: false
}
}
};
@@ -0,0 +1,35 @@
export const packedBiteSchema = {
type: "object",
properties: {
id: {
type: "string",
format: "id",
optional: false,
nullable: false
},
user: {
type: "object",
ref: "UserLite"
},
targetType: {
type: "string",
enum: [
"user",
"bite",
"note"
]
},
target: {
oneOf: [
{
type: "object",
ref: "UserLite"
},
{
type: "object",
ref: "Bite"
}
]
}
}
};
@@ -0,0 +1,30 @@
export const packedBlockingSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
blockeeId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
blockee: {
type: "object",
optional: false,
nullable: false,
ref: "UserDetailed"
}
}
};
@@ -0,0 +1,61 @@
export const packedChannelSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
lastNotedAt: {
type: "string",
optional: false,
nullable: true,
format: "date-time"
},
name: {
type: "string",
optional: false,
nullable: false
},
description: {
type: "string",
nullable: true,
optional: false
},
bannerUrl: {
type: "string",
format: "url",
nullable: true,
optional: false
},
notesCount: {
type: "number",
nullable: false,
optional: false
},
usersCount: {
type: "number",
nullable: false,
optional: false
},
isFollowing: {
type: "boolean",
optional: true,
nullable: false
},
userId: {
type: "string",
nullable: true,
optional: false,
format: "id"
}
}
};
@@ -0,0 +1,45 @@
export const packedClipSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
userId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
user: {
type: "object",
ref: "UserLite",
optional: false,
nullable: false
},
name: {
type: "string",
optional: false,
nullable: false
},
description: {
type: "string",
optional: false,
nullable: true
},
isPublic: {
type: "boolean",
optional: false,
nullable: false
}
}
};
@@ -0,0 +1,132 @@
export const packedDriveFileSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
name: {
type: "string",
optional: false,
nullable: false,
example: "lenna.jpg"
},
type: {
type: "string",
optional: false,
nullable: false,
example: "image/jpeg"
},
md5: {
type: "string",
optional: false,
nullable: false,
format: "md5",
example: "15eca7fba0480996e2245f5185bf39f2"
},
size: {
type: "number",
optional: false,
nullable: false,
example: 51469
},
isSensitive: {
type: "boolean",
optional: false,
nullable: false
},
allowDownload: {
type: "boolean",
optional: false,
nullable: false
},
blurhash: {
type: "string",
optional: false,
nullable: true
},
properties: {
type: "object",
optional: false,
nullable: false,
properties: {
width: {
type: "number",
optional: true,
nullable: false,
example: 1280
},
height: {
type: "number",
optional: true,
nullable: false,
example: 720
},
orientation: {
type: "number",
optional: true,
nullable: false,
example: 8
},
avgColor: {
type: "string",
optional: true,
nullable: false,
example: "rgb(40,65,87)"
}
}
},
url: {
type: "string",
optional: false,
nullable: true,
format: "url"
},
thumbnailUrl: {
type: "string",
optional: false,
nullable: true,
format: "url"
},
comment: {
type: "string",
optional: false,
nullable: true
},
folderId: {
type: "string",
optional: false,
nullable: true,
format: "id",
example: "xxxxxxxxxx"
},
folder: {
type: "object",
optional: true,
nullable: true,
ref: "DriveFolder"
},
userId: {
type: "string",
optional: false,
nullable: true,
format: "id",
example: "xxxxxxxxxx"
},
user: {
type: "object",
optional: true,
nullable: true,
ref: "UserLite"
}
}
};
@@ -0,0 +1,46 @@
export const packedDriveFolderSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
name: {
type: "string",
optional: false,
nullable: false
},
foldersCount: {
type: "number",
optional: true,
nullable: false
},
filesCount: {
type: "number",
optional: true,
nullable: false
},
parentId: {
type: "string",
optional: false,
nullable: true,
format: "id",
example: "xxxxxxxxxx"
},
parent: {
type: "object",
optional: true,
nullable: true,
ref: "DriveFolder"
}
}
};
@@ -0,0 +1,69 @@
export const packedEmojiSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
aliases: {
type: "array",
optional: false,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false,
format: "id"
}
},
name: {
type: "string",
optional: false,
nullable: false
},
category: {
type: "string",
optional: false,
nullable: true
},
host: {
type: "string",
optional: false,
nullable: true,
description: "The local host is represented with `null`."
},
url: {
type: "string",
optional: false,
nullable: false
},
license: {
type: "string",
optional: false,
nullable: true
},
glyph: {
type: "boolean",
optional: false,
nullable: false
},
glyphUrl: {
type: "string",
optional: false,
nullable: true
},
width: {
type: "number",
optional: false,
nullable: true
},
height: {
type: "number",
optional: false,
nullable: true
}
}
};
@@ -0,0 +1,137 @@
import config from "../../config/index.js";
export const packedFederationInstanceSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
caughtAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
host: {
type: "string",
optional: false,
nullable: false,
example: "iceshrimp.example.com"
},
usersCount: {
type: "number",
optional: false,
nullable: false
},
notesCount: {
type: "number",
optional: false,
nullable: false
},
followingCount: {
type: "number",
optional: false,
nullable: false
},
followersCount: {
type: "number",
optional: false,
nullable: false
},
latestRequestSentAt: {
type: "string",
optional: false,
nullable: true,
format: "date-time"
},
lastCommunicatedAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
isNotResponding: {
type: "boolean",
optional: false,
nullable: false
},
isSuspended: {
type: "boolean",
optional: false,
nullable: false
},
isBlocked: {
type: "boolean",
optional: false,
nullable: false
},
isSilenced: {
type: "boolean",
optional: false,
nullable: false
},
softwareName: {
type: "string",
optional: false,
nullable: true,
example: "iceshrimp"
},
softwareVersion: {
type: "string",
optional: false,
nullable: true,
example: config.version
},
openRegistrations: {
type: "boolean",
optional: false,
nullable: true,
example: true
},
name: {
type: "string",
optional: false,
nullable: true
},
description: {
type: "string",
optional: false,
nullable: true
},
maintainerName: {
type: "string",
optional: false,
nullable: true
},
maintainerEmail: {
type: "string",
optional: false,
nullable: true
},
iconUrl: {
type: "string",
optional: false,
nullable: true,
format: "url"
},
faviconUrl: {
type: "string",
optional: false,
nullable: true,
format: "url"
},
themeColor: {
type: "string",
optional: false,
nullable: true
},
infoUpdatedAt: {
type: "string",
optional: false,
nullable: true,
format: "date-time"
}
}
};
@@ -0,0 +1,42 @@
export const packedFollowingSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
followeeId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
followee: {
type: "object",
optional: true,
nullable: false,
ref: "UserDetailed"
},
followerId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
follower: {
type: "object",
optional: true,
nullable: false,
ref: "UserDetailed"
}
}
};
@@ -0,0 +1,83 @@
export const packedGalleryPostSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
updatedAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
title: {
type: "string",
optional: false,
nullable: false
},
description: {
type: "string",
optional: false,
nullable: true
},
userId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
user: {
type: "object",
ref: "UserLite",
optional: false,
nullable: false
},
fileIds: {
type: "array",
optional: true,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false,
format: "id"
}
},
files: {
type: "array",
optional: true,
nullable: false,
items: {
type: "object",
optional: false,
nullable: false,
ref: "DriveFile"
}
},
tags: {
type: "array",
optional: true,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false
}
},
isSensitive: {
type: "boolean",
optional: false,
nullable: false
}
}
};
@@ -0,0 +1,41 @@
export const packedHashtagSchema = {
type: "object",
properties: {
tag: {
type: "string",
optional: false,
nullable: false,
example: "iceshrimp"
},
mentionedUsersCount: {
type: "number",
optional: false,
nullable: false
},
mentionedLocalUsersCount: {
type: "number",
optional: false,
nullable: false
},
mentionedRemoteUsersCount: {
type: "number",
optional: false,
nullable: false
},
attachedUsersCount: {
type: "number",
optional: false,
nullable: false
},
attachedLocalUsersCount: {
type: "number",
optional: false,
nullable: false
},
attachedRemoteUsersCount: {
type: "number",
optional: false,
nullable: false
}
}
};
@@ -0,0 +1,87 @@
export const packedMessagingMessageSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
userId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
user: {
type: "object",
ref: "UserLite",
optional: true,
nullable: false
},
text: {
type: "string",
optional: false,
nullable: true
},
fileId: {
type: "string",
optional: true,
nullable: true,
format: "id"
},
file: {
type: "object",
optional: true,
nullable: true,
ref: "DriveFile"
},
recipientId: {
type: "string",
optional: false,
nullable: true,
format: "id"
},
recipient: {
type: "object",
optional: true,
nullable: true,
ref: "UserLite"
},
groupId: {
type: "string",
optional: false,
nullable: true,
format: "id"
},
group: {
type: "object",
optional: true,
nullable: true,
ref: "UserGroup"
},
isRead: {
type: "boolean",
optional: true,
nullable: false
},
reads: {
type: "array",
optional: true,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false,
format: "id"
}
}
}
};
@@ -0,0 +1,36 @@
export const packedMutingSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
expiresAt: {
type: "string",
optional: false,
nullable: true,
format: "date-time"
},
muteeId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
mutee: {
type: "object",
optional: false,
nullable: false,
ref: "UserDetailed"
}
}
};
@@ -0,0 +1,49 @@
export const packedNoteEdit = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
updatedAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
note: {
type: "object",
optional: false,
nullable: false,
ref: "Note"
},
noteId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
text: {
type: "string",
optional: true,
nullable: true
},
cw: {
type: "string",
optional: true,
nullable: true
},
fileIds: {
type: "array",
optional: true,
nullable: true,
items: {
type: "string",
format: "id"
}
}
}
};
@@ -0,0 +1,30 @@
export const packedNoteFavoriteSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
note: {
type: "object",
optional: false,
nullable: false,
ref: "Note"
},
noteId: {
type: "string",
optional: false,
nullable: false,
format: "id"
}
}
};
@@ -0,0 +1,29 @@
export const packedNoteReactionSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
user: {
type: "object",
optional: false,
nullable: false,
ref: "UserLite"
},
type: {
type: "string",
optional: false,
nullable: false
}
}
};
@@ -0,0 +1,236 @@
export const packedNoteSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
text: {
type: "string",
optional: false,
nullable: true
},
cw: {
type: "string",
optional: true,
nullable: true
},
userId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
user: {
type: "object",
ref: "UserLite",
optional: false,
nullable: false
},
groupId: {
type: "string",
optional: false,
nullable: true,
format: "id"
},
group: {
type: "object",
ref: "UserGroup",
optional: false,
nullable: true
},
replyId: {
type: "string",
optional: true,
nullable: true,
format: "id",
example: "xxxxxxxxxx"
},
renoteId: {
type: "string",
optional: true,
nullable: true,
format: "id",
example: "xxxxxxxxxx"
},
reply: {
type: "object",
optional: true,
nullable: true,
ref: "Note"
},
renote: {
type: "object",
optional: true,
nullable: true,
ref: "Note"
},
visibility: {
type: "string",
optional: false,
nullable: false
},
mentions: {
type: "array",
optional: true,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false,
format: "id"
}
},
visibleUserIds: {
type: "array",
optional: true,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false,
format: "id"
}
},
fileIds: {
type: "array",
optional: true,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false,
format: "id"
}
},
files: {
type: "array",
optional: true,
nullable: false,
items: {
type: "object",
optional: false,
nullable: false,
ref: "DriveFile"
}
},
tags: {
type: "array",
optional: true,
nullable: false,
items: {
type: "string",
optional: false,
nullable: false
}
},
poll: {
type: "object",
optional: true,
nullable: true
},
channelId: {
type: "string",
optional: true,
nullable: true,
format: "id",
example: "xxxxxxxxxx"
},
channel: {
type: "object",
optional: true,
nullable: true,
items: {
type: "object",
optional: false,
nullable: false,
properties: {
id: {
type: "string",
optional: false,
nullable: false
},
name: {
type: "string",
optional: false,
nullable: true
}
}
}
},
localOnly: {
type: "boolean",
optional: true,
nullable: false
},
emojis: {
type: "object",
optional: true,
nullable: true
},
reactions: {
type: "object",
optional: false,
nullable: false
},
renoteCount: {
type: "number",
optional: false,
nullable: false
},
repliesCount: {
type: "number",
optional: false,
nullable: false
},
viewCount: {
type: "number",
optional: false,
nullable: false
},
uri: {
type: "string",
optional: true,
nullable: false
},
url: {
type: "string",
optional: true,
nullable: false
},
myReaction: {
type: "object",
optional: true,
nullable: true
},
isRenoted: {
type: "boolean",
optional: true,
nullable: true
},
isFiltered: {
type: "boolean",
optional: true,
nullable: true
},
quoteAuthorization: {
type: "string",
optional: true,
nullable: true
},
canBite: {
type: "boolean",
optional: true,
nullable: true
}
}
};
@@ -0,0 +1,86 @@
import { notificationTypes } from "../../types.js";
export const packedNotificationSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
isRead: {
type: "boolean",
optional: false,
nullable: false
},
type: {
type: "string",
optional: false,
nullable: false,
enum: [
...notificationTypes
]
},
user: {
type: "object",
ref: "UserLite",
optional: true,
nullable: true
},
userId: {
type: "string",
optional: true,
nullable: true,
format: "id"
},
note: {
type: "object",
ref: "Note",
optional: true,
nullable: true
},
reaction: {
type: "string",
optional: true,
nullable: true
},
choice: {
type: "number",
optional: true,
nullable: true
},
invitation: {
type: "object",
optional: true,
nullable: true
},
body: {
type: "string",
optional: true,
nullable: true
},
header: {
type: "string",
optional: true,
nullable: true
},
icon: {
type: "string",
optional: true,
nullable: true
},
bite: {
type: "object",
ref: "Bite",
optional: true,
nullable: true
}
}
};
@@ -0,0 +1,66 @@
export const packedPageSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
updatedAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
title: {
type: "string",
optional: false,
nullable: false
},
name: {
type: "string",
optional: false,
nullable: false
},
summary: {
type: "string",
optional: false,
nullable: true
},
content: {
type: "array",
optional: false,
nullable: false
},
variables: {
type: "array",
optional: false,
nullable: false
},
userId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
user: {
type: "object",
ref: "UserLite",
optional: false,
nullable: false
},
isPublic: {
type: "boolean",
optional: false,
nullable: false
}
}
};
@@ -0,0 +1,30 @@
export const packedQueueCountSchema = {
type: "object",
properties: {
waiting: {
type: "number",
optional: false,
nullable: false
},
active: {
type: "number",
optional: false,
nullable: false
},
completed: {
type: "number",
optional: false,
nullable: false
},
failed: {
type: "number",
optional: false,
nullable: false
},
delayed: {
type: "number",
optional: false,
nullable: false
}
}
};
@@ -0,0 +1,30 @@
export const packedRenoteMutingSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
muteeId: {
type: "string",
optional: false,
nullable: false,
format: "id"
},
mutee: {
type: "object",
optional: false,
nullable: false,
ref: "UserDetailed"
}
}
};
@@ -0,0 +1,40 @@
export const packedUserGroupSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
name: {
type: "string",
optional: false,
nullable: false
},
ownerId: {
type: "string",
nullable: false,
optional: false,
format: "id"
},
userIds: {
type: "array",
nullable: false,
optional: true,
items: {
type: "string",
nullable: false,
optional: false,
format: "id"
}
}
}
};
@@ -0,0 +1,39 @@
export const packedUserListSchema = {
type: "object",
properties: {
id: {
type: "string",
optional: false,
nullable: false,
format: "id",
example: "xxxxxxxxxx"
},
createdAt: {
type: "string",
optional: false,
nullable: false,
format: "date-time"
},
name: {
type: "string",
optional: false,
nullable: false
},
hideFromHomeTl: {
type: "boolean",
optional: false,
nullable: false
},
userIds: {
type: "array",
nullable: false,
optional: true,
items: {
type: "string",
nullable: false,
optional: false,
format: "id"
}
}
}
};
@@ -0,0 +1,657 @@
export const packedUserLiteSchema = {
type: "object",
properties: {
id: {
type: "string",
nullable: false,
optional: false,
format: "id",
example: "xxxxxxxxxx"
},
name: {
type: "string",
nullable: true,
optional: false,
example: "藍"
},
username: {
type: "string",
nullable: false,
optional: false,
example: "calc"
},
host: {
type: "string",
nullable: true,
optional: false,
example: "misskey.example.com",
description: "The local host is represented with `null`."
},
avatarUrl: {
type: "string",
format: "url",
nullable: true,
optional: false
},
avatarBlurhash: {
type: "any",
nullable: true,
optional: false
},
avatarColor: {
type: "any",
nullable: true,
optional: false,
default: null
},
isAdmin: {
type: "boolean",
nullable: false,
optional: true,
default: false
},
isModerator: {
type: "boolean",
nullable: false,
optional: true,
default: false
},
isVerified: {
type: "boolean",
nullable: false,
optional: true,
default: false
},
minorBadges: {
type: "array",
nullable: false,
optional: true,
maxItems: 1,
items: {
type: "string",
nullable: false,
optional: false,
enum: [
"K",
"T",
"E"
]
}
},
plans: {
type: "array",
nullable: false,
optional: true,
items: {
type: "object",
nullable: false,
optional: false,
properties: {
id: {
type: "string",
nullable: false,
optional: false,
format: "id"
},
name: {
type: "string",
nullable: false,
optional: false
},
icon: {
type: "string",
nullable: false,
optional: false
},
description: {
type: "string",
nullable: false,
optional: false
}
}
}
},
isBot: {
type: "boolean",
nullable: false,
optional: true
},
isCat: {
type: "boolean",
nullable: false,
optional: true
},
speakAsCat: {
type: "boolean",
nullable: false,
optional: true
},
emojis: {
type: "array",
nullable: false,
optional: false,
items: {
type: "object",
nullable: false,
optional: false,
properties: {
name: {
type: "string",
nullable: false,
optional: false
},
url: {
type: "string",
nullable: false,
optional: false,
format: "url"
}
}
}
},
onlineStatus: {
type: "string",
format: "url",
nullable: true,
optional: false,
enum: [
"unknown",
"online",
"active",
"offline"
]
},
canBite: {
type: "string",
enum: [
"anyone",
"followers",
"nobody"
]
}
}
};
export const packedUserDetailedNotMeOnlySchema = {
type: "object",
properties: {
url: {
type: "string",
format: "url",
nullable: true,
optional: false
},
uri: {
type: "string",
format: "uri",
nullable: true,
optional: false
},
movedToUri: {
type: "string",
format: "uri",
nullable: true,
optional: false
},
alsoKnownAs: {
type: "array",
format: "uri",
nullable: true,
optional: false
},
createdAt: {
type: "string",
nullable: false,
optional: false,
format: "date-time"
},
updatedAt: {
type: "string",
nullable: true,
optional: false,
format: "date-time"
},
lastFetchedAt: {
type: "string",
nullable: true,
optional: false,
format: "date-time"
},
bannerUrl: {
type: "string",
format: "url",
nullable: true,
optional: false
},
bannerBlurhash: {
type: "any",
nullable: true,
optional: false
},
bannerColor: {
type: "any",
nullable: true,
optional: false,
default: null
},
isLocked: {
type: "boolean",
nullable: false,
optional: false
},
isSilenced: {
type: "boolean",
nullable: false,
optional: false
},
isSuspended: {
type: "boolean",
nullable: false,
optional: false,
example: false
},
description: {
type: "string",
nullable: true,
optional: false,
example: "Hi masters, I am Ai!"
},
location: {
type: "string",
nullable: true,
optional: false
},
birthday: {
type: "string",
nullable: true,
optional: false,
example: "2018-03-12"
},
lang: {
type: "string",
nullable: true,
optional: false,
example: "ja-JP"
},
fields: {
type: "array",
nullable: false,
optional: false,
items: {
type: "object",
nullable: false,
optional: false,
properties: {
name: {
type: "string",
nullable: false,
optional: false
},
value: {
type: "string",
nullable: false,
optional: false
}
},
maxLength: 4
}
},
followersCount: {
type: "number",
nullable: false,
optional: false
},
followingCount: {
type: "number",
nullable: false,
optional: false
},
notesCount: {
type: "number",
nullable: false,
optional: false
},
pinnedNoteIds: {
type: "array",
nullable: false,
optional: false,
items: {
type: "string",
nullable: false,
optional: false,
format: "id"
}
},
pinnedNotes: {
type: "array",
nullable: false,
optional: false,
items: {
type: "object",
nullable: false,
optional: false,
ref: "Note"
}
},
pinnedPageId: {
type: "string",
nullable: true,
optional: false
},
pinnedPage: {
type: "object",
nullable: true,
optional: false,
ref: "Page"
},
publicReactions: {
type: "boolean",
nullable: false,
optional: false
},
twoFactorEnabled: {
type: "boolean",
nullable: false,
optional: false,
default: false
},
usePasswordLessLogin: {
type: "boolean",
nullable: false,
optional: false,
default: false
},
securityKeys: {
type: "boolean",
nullable: false,
optional: false,
default: false
},
pronouns: {
type: "object"
},
//#region relations
isFollowing: {
type: "boolean",
nullable: false,
optional: true
},
isFollowed: {
type: "boolean",
nullable: false,
optional: true
},
hasPendingFollowRequestFromYou: {
type: "boolean",
nullable: false,
optional: true
},
hasPendingFollowRequestToYou: {
type: "boolean",
nullable: false,
optional: true
},
isBlocking: {
type: "boolean",
nullable: false,
optional: true
},
isBlocked: {
type: "boolean",
nullable: false,
optional: true
},
isMuted: {
type: "boolean",
nullable: false,
optional: true
},
isRenoteMuted: {
type: "boolean",
nullable: false,
optional: true
}
}
};
export const packedMeDetailedOnlySchema = {
type: "object",
properties: {
avatarId: {
type: "string",
nullable: true,
optional: false,
format: "id"
},
bannerId: {
type: "string",
nullable: true,
optional: false,
format: "id"
},
injectFeaturedNote: {
type: "boolean",
nullable: true,
optional: false
},
receiveAnnouncementEmail: {
type: "boolean",
nullable: true,
optional: false
},
alwaysMarkNsfw: {
type: "boolean",
nullable: true,
optional: false
},
carefulBot: {
type: "boolean",
nullable: true,
optional: false
},
autoAcceptFollowed: {
type: "boolean",
nullable: true,
optional: false
},
noCrawle: {
type: "boolean",
nullable: true,
optional: false
},
preventAiLearning: {
type: "boolean",
nullable: true,
optional: false
},
isExplorable: {
type: "boolean",
nullable: false,
optional: false
},
isDeleted: {
type: "boolean",
nullable: false,
optional: false
},
hideOnlineStatus: {
type: "boolean",
nullable: false,
optional: false
},
allowCalls: {
type: "boolean",
nullable: false,
optional: true
},
symbolFileId: {
type: "string",
nullable: true,
optional: true,
format: "id"
},
hasUnreadSpecifiedNotes: {
type: "boolean",
nullable: false,
optional: false
},
hasUnreadMentions: {
type: "boolean",
nullable: false,
optional: false
},
hasUnreadAnnouncement: {
type: "boolean",
nullable: false,
optional: false
},
hasUnreadAntenna: {
type: "boolean",
nullable: false,
optional: false
},
hasUnreadChannel: {
type: "boolean",
nullable: false,
optional: false
},
hasUnreadMessagingMessage: {
type: "boolean",
nullable: false,
optional: false
},
hasUnreadNotification: {
type: "boolean",
nullable: false,
optional: false
},
hasPendingReceivedFollowRequest: {
type: "boolean",
nullable: false,
optional: false
},
integrations: {
type: "object",
nullable: true,
optional: false
},
mutedWords: {
type: "array",
nullable: false,
optional: false,
items: {
type: "array",
nullable: false,
optional: false,
items: {
type: "string",
nullable: false,
optional: false
}
}
},
mutedInstances: {
type: "array",
nullable: true,
optional: false,
items: {
type: "string",
nullable: false,
optional: false
}
},
mutingNotificationTypes: {
type: "array",
nullable: true,
optional: false,
items: {
type: "string",
nullable: false,
optional: false
}
},
emailNotificationTypes: {
type: "array",
nullable: true,
optional: false,
items: {
type: "string",
nullable: false,
optional: false
}
},
//#region secrets
email: {
type: "string",
nullable: true,
optional: true
},
emailVerified: {
type: "boolean",
nullable: true,
optional: true
},
securityKeysList: {
type: "array",
nullable: false,
optional: true,
items: {
type: "object",
nullable: false,
optional: false
}
}
}
};
export const packedUserDetailedNotMeSchema = {
type: "object",
allOf: [
{
type: "object",
ref: "UserLite"
},
{
type: "object",
ref: "UserDetailedNotMeOnly"
}
]
};
export const packedMeDetailedSchema = {
type: "object",
allOf: [
{
type: "object",
ref: "UserLite"
},
{
type: "object",
ref: "UserDetailedNotMeOnly"
},
{
type: "object",
ref: "MeDetailedOnly"
}
]
};
export const packedUserDetailedSchema = {
oneOf: [
{
type: "object",
ref: "UserDetailedNotMe"
},
{
type: "object",
ref: "MeDetailed"
}
]
};
export const packedUserSchema = {
oneOf: [
{
type: "object",
ref: "UserLite"
},
{
type: "object",
ref: "UserDetailed"
}
]
};