summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorzyoshoka <107108195+zyoshoka@users.noreply.github.com>2024-02-16 14:27:33 +0900
committerGitHub <noreply@github.com>2024-02-16 14:27:33 +0900
commit40bbae3d6c200afb8ed9a70ca20ef03ebaed4e57 (patch)
tree784a5253038a4e014334291454564dd0cab0b089 /packages
parentfeat(backend): likeOnlyなどでハートにフォールバックする際異... (diff)
downloadsharkey-40bbae3d6c200afb8ed9a70ca20ef03ebaed4e57.tar.gz
sharkey-40bbae3d6c200afb8ed9a70ca20ef03ebaed4e57.tar.bz2
sharkey-40bbae3d6c200afb8ed9a70ca20ef03ebaed4e57.zip
fix(backend): add missing schemas and fix incorrect schemas (#13295)
* fix(backend): add missing schemas and fix incorrect schemas * fix: ci * fix: ci (本命) * fix: run `pnpm build-misskey-js-with-types` * fix: typos * fix: role-condition-formula-value contains `id` * fix: incorrect schema
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/src/misc/json-schema.ts18
-rw-r--r--packages/backend/src/models/BubbleGameRecord.ts2
-rw-r--r--packages/backend/src/models/Role.ts5
-rw-r--r--packages/backend/src/models/json-schema/reversi-game.ts15
-rw-r--r--packages/backend/src/models/json-schema/role.ts127
-rw-r--r--packages/backend/src/models/json-schema/user.ts61
-rw-r--r--packages/backend/src/server/api/endpoints/admin/delete-account.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/drive/show-file.ts18
-rw-r--r--packages/backend/src/server/api/endpoints/admin/get-table-stats.ts12
-rw-r--r--packages/backend/src/server/api/endpoints/admin/show-user.ts154
-rw-r--r--packages/backend/src/server/api/endpoints/bubble-game/ranking.ts16
-rw-r--r--packages/backend/src/server/api/endpoints/bubble-game/register.ts13
-rw-r--r--packages/backend/src/server/api/endpoints/i/2fa/done.ts13
-rw-r--r--packages/backend/src/server/api/endpoints/i/2fa/register-key.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/i/apps.ts9
-rw-r--r--packages/backend/src/server/api/endpoints/i/authorized-apps.ts8
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/get-detail.ts13
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/keys.ts7
-rw-r--r--packages/backend/src/server/api/endpoints/i/update.ts22
-rw-r--r--packages/backend/src/server/api/endpoints/i/webhooks/create.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/i/webhooks/list.ts10
-rw-r--r--packages/backend/src/server/api/endpoints/i/webhooks/show.ts6
-rw-r--r--packages/backend/src/server/api/endpoints/reversi/cancel-match.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/reversi/match.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/test.ts12
-rw-r--r--packages/misskey-js/etc/misskey-js.api.md44
-rw-r--r--packages/misskey-js/src/autogen/endpoint.ts15
-rw-r--r--packages/misskey-js/src/autogen/entities.ts5
-rw-r--r--packages/misskey-js/src/autogen/models.ts6
-rw-r--r--packages/misskey-js/src/autogen/types.ts567
31 files changed, 1038 insertions, 160 deletions
diff --git a/packages/backend/src/misc/json-schema.ts b/packages/backend/src/misc/json-schema.ts
index 1ce52f4f58..de38f145b2 100644
--- a/packages/backend/src/misc/json-schema.ts
+++ b/packages/backend/src/misc/json-schema.ts
@@ -37,7 +37,17 @@ import { packedEmojiDetailedSchema, packedEmojiSimpleSchema } from '@/models/jso
import { packedFlashSchema } from '@/models/json-schema/flash.js';
import { packedAnnouncementSchema } from '@/models/json-schema/announcement.js';
import { packedSigninSchema } from '@/models/json-schema/signin.js';
-import { packedRoleLiteSchema, packedRoleSchema, packedRolePoliciesSchema } from '@/models/json-schema/role.js';
+import {
+ packedRoleLiteSchema,
+ packedRoleSchema,
+ packedRolePoliciesSchema,
+ packedRoleCondFormulaLogicsSchema,
+ packedRoleCondFormulaValueNot,
+ packedRoleCondFormulaValueIsLocalOrRemoteSchema,
+ packedRoleCondFormulaValueCreatedSchema,
+ packedRoleCondFormulaFollowersOrFollowingOrNotesSchema,
+ packedRoleCondFormulaValueSchema,
+} from '@/models/json-schema/role.js';
import { packedAdSchema } from '@/models/json-schema/ad.js';
import { packedReversiGameLiteSchema, packedReversiGameDetailedSchema } from '@/models/json-schema/reversi-game.js';
@@ -78,6 +88,12 @@ export const refs = {
EmojiDetailed: packedEmojiDetailedSchema,
Flash: packedFlashSchema,
Signin: packedSigninSchema,
+ RoleCondFormulaLogics: packedRoleCondFormulaLogicsSchema,
+ RoleCondFormulaValueNot: packedRoleCondFormulaValueNot,
+ RoleCondFormulaValueIsLocalOrRemote: packedRoleCondFormulaValueIsLocalOrRemoteSchema,
+ RoleCondFormulaValueCreated: packedRoleCondFormulaValueCreatedSchema,
+ RoleCondFormulaFollowersOrFollowingOrNotes: packedRoleCondFormulaFollowersOrFollowingOrNotesSchema,
+ RoleCondFormulaValue: packedRoleCondFormulaValueSchema,
RoleLite: packedRoleLiteSchema,
Role: packedRoleSchema,
RolePolicies: packedRolePoliciesSchema,
diff --git a/packages/backend/src/models/BubbleGameRecord.ts b/packages/backend/src/models/BubbleGameRecord.ts
index fe780122fd..686e39c118 100644
--- a/packages/backend/src/models/BubbleGameRecord.ts
+++ b/packages/backend/src/models/BubbleGameRecord.ts
@@ -48,7 +48,7 @@ export class MiBubbleGameRecord {
@Column('jsonb', {
default: [],
})
- public logs: any[];
+ public logs: number[][];
@Column('boolean', {
default: false,
diff --git a/packages/backend/src/models/Role.ts b/packages/backend/src/models/Role.ts
index 78ecccee39..fa05ea8637 100644
--- a/packages/backend/src/models/Role.ts
+++ b/packages/backend/src/models/Role.ts
@@ -69,7 +69,7 @@ type CondFormulaValueNotesMoreThanOrEq = {
value: number;
};
-export type RoleCondFormulaValue =
+export type RoleCondFormulaValue = { id: string } & (
CondFormulaValueAnd |
CondFormulaValueOr |
CondFormulaValueNot |
@@ -82,7 +82,8 @@ export type RoleCondFormulaValue =
CondFormulaValueFollowingLessThanOrEq |
CondFormulaValueFollowingMoreThanOrEq |
CondFormulaValueNotesLessThanOrEq |
- CondFormulaValueNotesMoreThanOrEq;
+ CondFormulaValueNotesMoreThanOrEq
+);
@Entity('role')
export class MiRole {
diff --git a/packages/backend/src/models/json-schema/reversi-game.ts b/packages/backend/src/models/json-schema/reversi-game.ts
index 566ab8d2cd..cb37200384 100644
--- a/packages/backend/src/models/json-schema/reversi-game.ts
+++ b/packages/backend/src/models/json-schema/reversi-game.ts
@@ -47,12 +47,12 @@ export const packedReversiGameLiteSchema = {
user1: {
type: 'object',
optional: false, nullable: false,
- ref: 'User',
+ ref: 'UserLite',
},
user2: {
type: 'object',
optional: false, nullable: false,
- ref: 'User',
+ ref: 'UserLite',
},
winnerId: {
type: 'string',
@@ -62,7 +62,7 @@ export const packedReversiGameLiteSchema = {
winner: {
type: 'object',
optional: false, nullable: true,
- ref: 'User',
+ ref: 'UserLite',
},
surrenderedUserId: {
type: 'string',
@@ -165,12 +165,12 @@ export const packedReversiGameDetailedSchema = {
user1: {
type: 'object',
optional: false, nullable: false,
- ref: 'User',
+ ref: 'UserLite',
},
user2: {
type: 'object',
optional: false, nullable: false,
- ref: 'User',
+ ref: 'UserLite',
},
winnerId: {
type: 'string',
@@ -180,7 +180,7 @@ export const packedReversiGameDetailedSchema = {
winner: {
type: 'object',
optional: false, nullable: true,
- ref: 'User',
+ ref: 'UserLite',
},
surrenderedUserId: {
type: 'string',
@@ -226,6 +226,9 @@ export const packedReversiGameDetailedSchema = {
items: {
type: 'array',
optional: false, nullable: false,
+ items: {
+ type: 'number',
+ },
},
},
map: {
diff --git a/packages/backend/src/models/json-schema/role.ts b/packages/backend/src/models/json-schema/role.ts
index 55348d4f3d..ef6b279bee 100644
--- a/packages/backend/src/models/json-schema/role.ts
+++ b/packages/backend/src/models/json-schema/role.ts
@@ -1,3 +1,129 @@
+/*
+ * SPDX-FileCopyrightText: syuilo and misskey-project
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+export const packedRoleCondFormulaLogicsSchema = {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string', optional: false,
+ },
+ type: {
+ type: 'string',
+ nullable: false, optional: false,
+ enum: ['and', 'or'],
+ },
+ values: {
+ type: 'array',
+ nullable: false, optional: false,
+ items: {
+ ref: 'RoleCondFormulaValue',
+ },
+ },
+ },
+} as const;
+
+export const packedRoleCondFormulaValueNot = {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string', optional: false,
+ },
+ type: {
+ type: 'string',
+ nullable: false, optional: false,
+ enum: ['not'],
+ },
+ value: {
+ type: 'object',
+ optional: false,
+ ref: 'RoleCondFormulaValue',
+ },
+ },
+} as const;
+
+export const packedRoleCondFormulaValueIsLocalOrRemoteSchema = {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string', optional: false,
+ },
+ type: {
+ type: 'string',
+ nullable: false, optional: false,
+ enum: ['isLocal', 'isRemote'],
+ },
+ },
+} as const;
+
+export const packedRoleCondFormulaValueCreatedSchema = {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string', optional: false,
+ },
+ type: {
+ type: 'string',
+ nullable: false, optional: false,
+ enum: [
+ 'createdLessThan',
+ 'createdMoreThan',
+ ],
+ },
+ sec: {
+ type: 'number',
+ nullable: false, optional: false,
+ },
+ },
+} as const;
+
+export const packedRoleCondFormulaFollowersOrFollowingOrNotesSchema = {
+ type: 'object',
+ properties: {
+ id: {
+ type: 'string', optional: false,
+ },
+ type: {
+ type: 'string',
+ nullable: false, optional: false,
+ enum: [
+ 'followersLessThanOrEq',
+ 'followersMoreThanOrEq',
+ 'followingLessThanOrEq',
+ 'followingMoreThanOrEq',
+ 'notesLessThanOrEq',
+ 'notesMoreThanOrEq',
+ ],
+ },
+ value: {
+ type: 'number',
+ nullable: false, optional: false,
+ },
+ },
+} as const;
+
+export const packedRoleCondFormulaValueSchema = {
+ type: 'object',
+ oneOf: [
+ {
+ ref: 'RoleCondFormulaLogics',
+ },
+ {
+ ref: 'RoleCondFormulaValueNot',
+ },
+ {
+ ref: 'RoleCondFormulaValueIsLocalOrRemote',
+ },
+ {
+ ref: 'RoleCondFormulaValueCreated',
+ },
+ {
+ ref: 'RoleCondFormulaFollowersOrFollowingOrNotes',
+ },
+ ],
+} as const;
+
export const packedRolePoliciesSchema = {
type: 'object',
optional: false, nullable: false,
@@ -174,6 +300,7 @@ export const packedRoleSchema = {
condFormula: {
type: 'object',
optional: false, nullable: false,
+ ref: 'RoleCondFormulaValue',
},
isPublic: {
type: 'boolean',
diff --git a/packages/backend/src/models/json-schema/user.ts b/packages/backend/src/models/json-schema/user.ts
index dae8f26075..c7f86635da 100644
--- a/packages/backend/src/models/json-schema/user.ts
+++ b/packages/backend/src/models/json-schema/user.ts
@@ -3,16 +3,38 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
-const notificationRecieveConfig = {
+export const notificationRecieveConfig = {
type: 'object',
- nullable: false, optional: true,
- properties: {
- type: {
- type: 'string',
- nullable: false, optional: false,
- enum: ['all', 'following', 'follower', 'mutualFollow', 'list', 'never'],
+ oneOf: [
+ {
+ type: 'object',
+ nullable: false,
+ properties: {
+ type: {
+ type: 'string',
+ nullable: false,
+ enum: ['all', 'following', 'follower', 'mutualFollow', 'never'],
+ },
+ },
+ required: ['type'],
},
- },
+ {
+ type: 'object',
+ nullable: false,
+ properties: {
+ type: {
+ type: 'string',
+ nullable: false,
+ enum: ['list'],
+ },
+ userListId: {
+ type: 'string',
+ format: 'misskey:id',
+ },
+ },
+ required: ['type', 'userListId'],
+ },
+ ],
} as const;
export const packedUserLiteSchema = {
@@ -546,15 +568,20 @@ export const packedMeDetailedOnlySchema = {
type: 'object',
nullable: false, optional: false,
properties: {
- app: notificationRecieveConfig,
- quote: notificationRecieveConfig,
- reply: notificationRecieveConfig,
- follow: notificationRecieveConfig,
- renote: notificationRecieveConfig,
- mention: notificationRecieveConfig,
- reaction: notificationRecieveConfig,
- pollEnded: notificationRecieveConfig,
- receiveFollowRequest: notificationRecieveConfig,
+ note: { optional: true, ...notificationRecieveConfig },
+ follow: { optional: true, ...notificationRecieveConfig },
+ mention: { optional: true, ...notificationRecieveConfig },
+ reply: { optional: true, ...notificationRecieveConfig },
+ renote: { optional: true, ...notificationRecieveConfig },
+ quote: { optional: true, ...notificationRecieveConfig },
+ reaction: { optional: true, ...notificationRecieveConfig },
+ pollEnded: { optional: true, ...notificationRecieveConfig },
+ receiveFollowRequest: { optional: true, ...notificationRecieveConfig },
+ followRequestAccepted: { optional: true, ...notificationRecieveConfig },
+ roleAssigned: { optional: true, ...notificationRecieveConfig },
+ achievementEarned: { optional: true, ...notificationRecieveConfig },
+ app: { optional: true, ...notificationRecieveConfig },
+ test: { optional: true, ...notificationRecieveConfig },
},
},
emailNotificationTypes: {
diff --git a/packages/backend/src/server/api/endpoints/admin/delete-account.ts b/packages/backend/src/server/api/endpoints/admin/delete-account.ts
index 28b09955d4..b6f0f22d60 100644
--- a/packages/backend/src/server/api/endpoints/admin/delete-account.ts
+++ b/packages/backend/src/server/api/endpoints/admin/delete-account.ts
@@ -15,9 +15,6 @@ export const meta = {
requireCredential: true,
requireAdmin: true,
kind: 'write:admin:delete-account',
-
- res: {
- },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts b/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts
index 25d7776936..459d8880fa 100644
--- a/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts
+++ b/packages/backend/src/server/api/endpoints/admin/drive/show-file.ts
@@ -84,6 +84,24 @@ export const meta = {
properties: {
type: 'object',
optional: false, nullable: false,
+ properties: {
+ width: {
+ type: 'number',
+ optional: true, nullable: false,
+ },
+ height: {
+ type: 'number',
+ optional: true, nullable: false,
+ },
+ orientation: {
+ type: 'number',
+ optional: true, nullable: false,
+ },
+ avgColor: {
+ type: 'string',
+ optional: true, nullable: false,
+ },
+ },
},
storedInternal: {
type: 'boolean',
diff --git a/packages/backend/src/server/api/endpoints/admin/get-table-stats.ts b/packages/backend/src/server/api/endpoints/admin/get-table-stats.ts
index 14942da24a..eb85fca179 100644
--- a/packages/backend/src/server/api/endpoints/admin/get-table-stats.ts
+++ b/packages/backend/src/server/api/endpoints/admin/get-table-stats.ts
@@ -18,6 +18,18 @@ export const meta = {
res: {
type: 'object',
optional: false, nullable: false,
+ additionalProperties: {
+ type: 'object',
+ properties: {
+ count: {
+ type: 'number',
+ },
+ size: {
+ type: 'number',
+ },
+ },
+ required: ['count', 'size'],
+ },
example: {
migrations: {
count: 66,
diff --git a/packages/backend/src/server/api/endpoints/admin/show-user.ts b/packages/backend/src/server/api/endpoints/admin/show-user.ts
index ecb5f347af..5a1c05f41a 100644
--- a/packages/backend/src/server/api/endpoints/admin/show-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/show-user.ts
@@ -10,6 +10,7 @@ import { DI } from '@/di-symbols.js';
import { RoleService } from '@/core/RoleService.js';
import { RoleEntityService } from '@/core/entities/RoleEntityService.js';
import { IdService } from '@/core/IdService.js';
+import { notificationRecieveConfig } from '@/models/json-schema/user.js';
export const meta = {
tags: ['admin'],
@@ -21,6 +22,157 @@ export const meta = {
res: {
type: 'object',
nullable: false, optional: false,
+ properties: {
+ email: {
+ type: 'string',
+ optional: false, nullable: true,
+ },
+ emailVerified: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ autoAcceptFollowed: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ noCrawle: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ preventAiLearning: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ alwaysMarkNsfw: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ autoSensitive: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ carefulBot: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ injectFeaturedNote: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ receiveAnnouncementEmail: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ mutedWords: {
+ type: 'array',
+ optional: false, nullable: false,
+ items: {
+ anyOf: [
+ {
+ type: 'string',
+ },
+ {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ },
+ ],
+ },
+ },
+ mutedInstances: {
+ type: 'array',
+ optional: false, nullable: false,
+ items: {
+ type: 'string',
+ },
+ },
+ notificationRecieveConfig: {
+ type: 'object',
+ optional: false, nullable: false,
+ properties: {
+ note: { optional: true, ...notificationRecieveConfig },
+ follow: { optional: true, ...notificationRecieveConfig },
+ mention: { optional: true, ...notificationRecieveConfig },
+ reply: { optional: true, ...notificationRecieveConfig },
+ renote: { optional: true, ...notificationRecieveConfig },
+ quote: { optional: true, ...notificationRecieveConfig },
+ reaction: { optional: true, ...notificationRecieveConfig },
+ pollEnded: { optional: true, ...notificationRecieveConfig },
+ receiveFollowRequest: { optional: true, ...notificationRecieveConfig },
+ followRequestAccepted: { optional: true, ...notificationRecieveConfig },
+ roleAssigned: { optional: true, ...notificationRecieveConfig },
+ achievementEarned: { optional: true, ...notificationRecieveConfig },
+ app: { optional: true, ...notificationRecieveConfig },
+ test: { optional: true, ...notificationRecieveConfig },
+ },
+ },
+ isModerator: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ isSilenced: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ isSuspended: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ isHibernated: {
+ type: 'boolean',
+ optional: false, nullable: false,
+ },
+ lastActiveDate: {
+ type: 'string',
+ optional: false, nullable: true,
+ },
+ moderationNote: {
+ type: 'string',
+ optional: false, nullable: false,
+ },
+ signins: {
+ type: 'array',
+ optional: false, nullable: false,
+ items: {
+ ref: 'Signin',
+ },
+ },
+ policies: {
+ type: 'object',
+ optional: false, nullable: false,
+ ref: 'RolePolicies',
+ },
+ roles: {
+ type: 'array',
+ optional: false, nullable: false,
+ items: {
+ type: 'object',
+ ref: 'Role',
+ },
+ },
+ roleAssigns: {
+ type: 'array',
+ optional: false, nullable: false,
+ items: {
+ type: 'object',
+ properties: {
+ createdAt: {
+ type: 'string',
+ optional: false, nullable: false,
+ },
+ expiresAt: {
+ type: 'string',
+ optional: false, nullable: true,
+ },
+ roleId: {
+ type: 'string',
+ optional: false, nullable: false,
+ },
+ },
+ },
+ },
+ },
},
} as const;
@@ -89,7 +241,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
isSilenced: isSilenced,
isSuspended: user.isSuspended,
isHibernated: user.isHibernated,
- lastActiveDate: user.lastActiveDate,
+ lastActiveDate: user.lastActiveDate ? user.lastActiveDate.toISOString() : null,
moderationNote: profile.moderationNote ?? '',
signins,
policies: await this.roleService.getUserPolicies(user.id),
diff --git a/packages/backend/src/server/api/endpoints/bubble-game/ranking.ts b/packages/backend/src/server/api/endpoints/bubble-game/ranking.ts
index 398b49ec1b..ab877bbe20 100644
--- a/packages/backend/src/server/api/endpoints/bubble-game/ranking.ts
+++ b/packages/backend/src/server/api/endpoints/bubble-game/ranking.ts
@@ -24,9 +24,19 @@ export const meta = {
type: 'object',
optional: false, nullable: false,
properties: {
- id: { type: 'string', format: 'misskey:id' },
- score: { type: 'integer' },
- user: { ref: 'UserLite' },
+ id: {
+ type: 'string', format: 'misskey:id',
+ optional: false, nullable: false,
+ },
+ score: {
+ type: 'integer',
+ optional: false, nullable: false,
+ },
+ user: {
+ type: 'object',
+ optional: true, nullable: false,
+ ref: 'UserLite',
+ },
},
},
},
diff --git a/packages/backend/src/server/api/endpoints/bubble-game/register.ts b/packages/backend/src/server/api/endpoints/bubble-game/register.ts
index 7314995a1a..0a999e42cd 100644
--- a/packages/backend/src/server/api/endpoints/bubble-game/register.ts
+++ b/packages/backend/src/server/api/endpoints/bubble-game/register.ts
@@ -29,9 +29,6 @@ export const meta = {
id: 'eb627bc7-574b-4a52-a860-3c3eae772b88',
},
},
-
- res: {
- },
} as const;
export const paramDef = {
@@ -39,7 +36,15 @@ export const paramDef = {
properties: {
score: { type: 'integer', minimum: 0 },
seed: { type: 'string', minLength: 1, maxLength: 1024 },
- logs: { type: 'array' },
+ logs: {
+ type: 'array',
+ items: {
+ type: 'array',
+ items: {
+ type: 'number',
+ },
+ },
+ },
gameMode: { type: 'string' },
gameVersion: { type: 'integer' },
},
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/done.ts b/packages/backend/src/server/api/endpoints/i/2fa/done.ts
index 1d73cd1f76..2a30e8b0c3 100644
--- a/packages/backend/src/server/api/endpoints/i/2fa/done.ts
+++ b/packages/backend/src/server/api/endpoints/i/2fa/done.ts
@@ -15,6 +15,19 @@ export const meta = {
requireCredential: true,
secure: true,
+
+ res: {
+ type: 'object',
+ properties: {
+ backupCodes: {
+ type: 'array',
+ optional: false,
+ items: {
+ type: 'string',
+ },
+ },
+ },
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts b/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts
index 4ef2a90b8e..9391aee5e0 100644
--- a/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts
+++ b/packages/backend/src/server/api/endpoints/i/2fa/register-key.ts
@@ -47,7 +47,7 @@ export const meta = {
properties: {
id: {
type: 'string',
- nullable: true,
+ optional: true,
},
},
},
diff --git a/packages/backend/src/server/api/endpoints/i/apps.ts b/packages/backend/src/server/api/endpoints/i/apps.ts
index efa541b9ab..91c8597b1b 100644
--- a/packages/backend/src/server/api/endpoints/i/apps.ts
+++ b/packages/backend/src/server/api/endpoints/i/apps.ts
@@ -21,26 +21,31 @@ export const meta = {
properties: {
id: {
type: 'string',
+ optional: false,
format: 'misskey:id',
},
name: {
type: 'string',
+ optional: true,
},
createdAt: {
type: 'string',
+ optional: false,
format: 'date-time',
},
lastUsedAt: {
type: 'string',
+ optional: true,
format: 'date-time',
},
permission: {
type: 'array',
+ optional: false,
uniqueItems: true,
items: {
- type: 'string'
+ type: 'string',
},
- }
+ },
},
},
},
diff --git a/packages/backend/src/server/api/endpoints/i/authorized-apps.ts b/packages/backend/src/server/api/endpoints/i/authorized-apps.ts
index dff18d3f45..0b4faf5ef8 100644
--- a/packages/backend/src/server/api/endpoints/i/authorized-apps.ts
+++ b/packages/backend/src/server/api/endpoints/i/authorized-apps.ts
@@ -23,23 +23,27 @@ export const meta = {
id: {
type: 'string',
format: 'misskey:id',
+ optional: false,
},
name: {
type: 'string',
+ optional: false,
},
callbackUrl: {
type: 'string',
- nullable: true,
+ optional: false, nullable: true,
},
permission: {
type: 'array',
+ optional: false,
uniqueItems: true,
items: {
- type: 'string'
+ type: 'string',
},
},
isAuthorized: {
type: 'boolean',
+ optional: true,
},
},
},
diff --git a/packages/backend/src/server/api/endpoints/i/registry/get-detail.ts b/packages/backend/src/server/api/endpoints/i/registry/get-detail.ts
index ffcf869fcf..d53c390460 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/get-detail.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/get-detail.ts
@@ -22,7 +22,16 @@ export const meta = {
res: {
type: 'object',
- }
+ properties: {
+ updatedAt: {
+ type: 'string',
+ optional: false,
+ },
+ value: {
+ optional: false,
+ },
+ },
+ },
} as const;
export const paramDef = {
@@ -50,7 +59,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
}
return {
- updatedAt: item.updatedAt,
+ updatedAt: item.updatedAt.toISOString(),
value: item.value,
};
});
diff --git a/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts b/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts
index 9b21e22185..3fe339606d 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts
@@ -13,6 +13,9 @@ export const meta = {
res: {
type: 'object',
+ additionalProperties: {
+ type: 'string',
+ },
},
} as const;
diff --git a/packages/backend/src/server/api/endpoints/i/registry/keys.ts b/packages/backend/src/server/api/endpoints/i/registry/keys.ts
index 8bfbe5227c..28f158c62d 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/keys.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/keys.ts
@@ -10,6 +10,13 @@ import { RegistryApiService } from '@/core/RegistryApiService.js';
export const meta = {
requireCredential: true,
kind: 'read:account',
+
+ res: {
+ type: 'array',
+ items: {
+ type: 'string',
+ },
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/i/update.ts b/packages/backend/src/server/api/endpoints/i/update.ts
index 708b2f103f..bf6c53d8eb 100644
--- a/packages/backend/src/server/api/endpoints/i/update.ts
+++ b/packages/backend/src/server/api/endpoints/i/update.ts
@@ -33,6 +33,7 @@ import { HttpRequestService } from '@/core/HttpRequestService.js';
import type { Config } from '@/config.js';
import { safeForSql } from '@/misc/safe-for-sql.js';
import { AvatarDecorationService } from '@/core/AvatarDecorationService.js';
+import { notificationRecieveConfig } from '@/models/json-schema/user.js';
import { ApiLoggerService } from '../../ApiLoggerService.js';
import { ApiError } from '../../error.js';
@@ -184,7 +185,26 @@ export const paramDef = {
mutedInstances: { type: 'array', items: {
type: 'string',
} },
- notificationRecieveConfig: { type: 'object' },
+ notificationRecieveConfig: {
+ type: 'object',
+ nullable: false,
+ properties: {
+ note: notificationRecieveConfig,
+ follow: notificationRecieveConfig,
+ mention: notificationRecieveConfig,
+ reply: notificationRecieveConfig,
+ renote: notificationRecieveConfig,
+ quote: notificationRecieveConfig,
+ reaction: notificationRecieveConfig,
+ pollEnded: notificationRecieveConfig,
+ receiveFollowRequest: notificationRecieveConfig,
+ followRequestAccepted: notificationRecieveConfig,
+ roleAssigned: notificationRecieveConfig,
+ achievementEarned: notificationRecieveConfig,
+ app: notificationRecieveConfig,
+ test: notificationRecieveConfig,
+ },
+ },
emailNotificationTypes: { type: 'array', items: {
type: 'string',
} },
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/create.ts b/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
index c02fad449e..535a3ea308 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/create.ts
@@ -33,7 +33,7 @@ export const meta = {
properties: {
id: {
type: 'string',
- format: 'misskey:id'
+ format: 'misskey:id',
},
userId: {
type: 'string',
@@ -45,7 +45,7 @@ export const meta = {
items: {
type: 'string',
enum: webhookEventTypes,
- }
+ },
},
url: { type: 'string' },
secret: { type: 'string' },
@@ -108,7 +108,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
url: webhook.url,
secret: webhook.secret,
active: webhook.active,
- latestSentAt: webhook.latestSentAt?.toISOString(),
+ latestSentAt: webhook.latestSentAt ? webhook.latestSentAt.toISOString() : null,
latestStatus: webhook.latestStatus,
};
});
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/list.ts b/packages/backend/src/server/api/endpoints/i/webhooks/list.ts
index 0e751989bd..fe07afb2d0 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/list.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/list.ts
@@ -23,7 +23,7 @@ export const meta = {
properties: {
id: {
type: 'string',
- format: 'misskey:id'
+ format: 'misskey:id',
},
userId: {
type: 'string',
@@ -35,7 +35,7 @@ export const meta = {
items: {
type: 'string',
enum: webhookEventTypes,
- }
+ },
},
url: { type: 'string' },
secret: { type: 'string' },
@@ -43,8 +43,8 @@ export const meta = {
latestSentAt: { type: 'string', format: 'date-time', nullable: true },
latestStatus: { type: 'integer', nullable: true },
},
- }
- }
+ },
+ },
} as const;
export const paramDef = {
@@ -73,7 +73,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
url: webhook.url,
secret: webhook.secret,
active: webhook.active,
- latestSentAt: webhook.latestSentAt?.toISOString(),
+ latestSentAt: webhook.latestSentAt ? webhook.latestSentAt.toISOString() : null,
latestStatus: webhook.latestStatus,
}
));
diff --git a/packages/backend/src/server/api/endpoints/i/webhooks/show.ts b/packages/backend/src/server/api/endpoints/i/webhooks/show.ts
index f895844e5c..5ddb79caf2 100644
--- a/packages/backend/src/server/api/endpoints/i/webhooks/show.ts
+++ b/packages/backend/src/server/api/endpoints/i/webhooks/show.ts
@@ -30,7 +30,7 @@ export const meta = {
properties: {
id: {
type: 'string',
- format: 'misskey:id'
+ format: 'misskey:id',
},
userId: {
type: 'string',
@@ -42,7 +42,7 @@ export const meta = {
items: {
type: 'string',
enum: webhookEventTypes,
- }
+ },
},
url: { type: 'string' },
secret: { type: 'string' },
@@ -85,7 +85,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
url: webhook.url,
secret: webhook.secret,
active: webhook.active,
- latestSentAt: webhook.latestSentAt?.toISOString(),
+ latestSentAt: webhook.latestSentAt ? webhook.latestSentAt.toISOString() : null,
latestStatus: webhook.latestStatus,
};
});
diff --git a/packages/backend/src/server/api/endpoints/reversi/cancel-match.ts b/packages/backend/src/server/api/endpoints/reversi/cancel-match.ts
index 99a2a3078b..dd6f273e01 100644
--- a/packages/backend/src/server/api/endpoints/reversi/cancel-match.ts
+++ b/packages/backend/src/server/api/endpoints/reversi/cancel-match.ts
@@ -14,9 +14,6 @@ export const meta = {
errors: {
},
-
- res: {
- },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/reversi/match.ts b/packages/backend/src/server/api/endpoints/reversi/match.ts
index 2d58e7b157..aa8b8a7d72 100644
--- a/packages/backend/src/server/api/endpoints/reversi/match.ts
+++ b/packages/backend/src/server/api/endpoints/reversi/match.ts
@@ -30,6 +30,9 @@ export const meta = {
},
res: {
+ type: 'object',
+ optional: true,
+ ref: 'ReversiGameDetailed',
},
} as const;
diff --git a/packages/backend/src/server/api/endpoints/test.ts b/packages/backend/src/server/api/endpoints/test.ts
index 2c801227ca..9231f0ab94 100644
--- a/packages/backend/src/server/api/endpoints/test.ts
+++ b/packages/backend/src/server/api/endpoints/test.ts
@@ -18,24 +18,28 @@ export const meta = {
properties: {
id: {
type: 'string',
- format: 'misskey:id'
+ format: 'misskey:id',
+ optional: true, nullable: false,
},
required: {
type: 'boolean',
+ optional: false, nullable: false,
},
string: {
type: 'string',
+ optional: true, nullable: false,
},
default: {
type: 'string',
+ optional: true, nullable: false,
},
nullableDefault: {
type: 'string',
default: 'hello',
- nullable: true,
+ optional: true, nullable: true,
},
- }
- }
+ },
+ },
} as const;
export const paramDef = {
diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md
index 1dba2a70d3..f362f0b34e 100644
--- a/packages/misskey-js/etc/misskey-js.api.md
+++ b/packages/misskey-js/etc/misskey-js.api.md
@@ -104,9 +104,6 @@ type AdminAvatarDecorationsUpdateRequest = operations['admin/avatar-decorations/
type AdminDeleteAccountRequest = operations['admin/delete-account']['requestBody']['content']['application/json'];
// @public (undocumented)
-type AdminDeleteAccountResponse = operations['admin/delete-account']['responses']['200']['content']['application/json'];
-
-// @public (undocumented)
type AdminDeleteAllFilesOfAUserRequest = operations['admin/delete-all-files-of-a-user']['requestBody']['content']['application/json'];
// @public (undocumented)
@@ -483,9 +480,6 @@ type BubbleGameRankingResponse = operations['bubble-game/ranking']['responses'][
type BubbleGameRegisterRequest = operations['bubble-game/register']['requestBody']['content']['application/json'];
// @public (undocumented)
-type BubbleGameRegisterResponse = operations['bubble-game/register']['responses']['200']['content']['application/json'];
-
-// @public (undocumented)
type Channel = components['schemas']['Channel'];
// Warning: (ae-forgotten-export) The symbol "AnyOf" needs to be exported by the entry point index.d.ts
@@ -1210,7 +1204,6 @@ declare namespace entities {
AdminUnsuspendUserRequest,
AdminUpdateMetaRequest,
AdminDeleteAccountRequest,
- AdminDeleteAccountResponse,
AdminUpdateUserNoteRequest,
AdminRolesCreateRequest,
AdminRolesCreateResponse,
@@ -1408,6 +1401,7 @@ declare namespace entities {
HashtagsUsersResponse,
IResponse,
I2faDoneRequest,
+ I2faDoneResponse,
I2faKeyDoneRequest,
I2faKeyDoneResponse,
I2faPasswordLessRequest,
@@ -1458,6 +1452,7 @@ declare namespace entities {
IRegistryKeysWithTypeRequest,
IRegistryKeysWithTypeResponse,
IRegistryKeysRequest,
+ IRegistryKeysResponse,
IRegistryRemoveRequest,
IRegistryScopesWithDomainResponse,
IRegistrySetRequest,
@@ -1661,11 +1656,9 @@ declare namespace entities {
FetchExternalResourcesResponse,
RetentionResponse,
BubbleGameRegisterRequest,
- BubbleGameRegisterResponse,
BubbleGameRankingRequest,
BubbleGameRankingResponse,
ReversiCancelMatchRequest,
- ReversiCancelMatchResponse,
ReversiGamesRequest,
ReversiGamesResponse,
ReversiMatchRequest,
@@ -1712,6 +1705,12 @@ declare namespace entities {
EmojiDetailed,
Flash,
Signin,
+ RoleCondFormulaLogics,
+ RoleCondFormulaValueNot,
+ RoleCondFormulaValueIsLocalOrRemote,
+ RoleCondFormulaValueCreated,
+ RoleCondFormulaFollowersOrFollowingOrNotes,
+ RoleCondFormulaValue,
RoleLite,
Role,
RolePolicies,
@@ -1973,6 +1972,9 @@ type HashtagsUsersResponse = operations['hashtags/users']['responses']['200']['c
type I2faDoneRequest = operations['i/2fa/done']['requestBody']['content']['application/json'];
// @public (undocumented)
+type I2faDoneResponse = operations['i/2fa/done']['responses']['200']['content']['application/json'];
+
+// @public (undocumented)
type I2faKeyDoneRequest = operations['i/2fa/key-done']['requestBody']['content']['application/json'];
// @public (undocumented)
@@ -2144,6 +2146,9 @@ type IRegistryGetResponse = operations['i/registry/get']['responses']['200']['co
type IRegistryKeysRequest = operations['i/registry/keys']['requestBody']['content']['application/json'];
// @public (undocumented)
+type IRegistryKeysResponse = operations['i/registry/keys']['responses']['200']['content']['application/json'];
+
+// @public (undocumented)
type IRegistryKeysWithTypeRequest = operations['i/registry/keys-with-type']['requestBody']['content']['application/json'];
// @public (undocumented)
@@ -2660,9 +2665,6 @@ type RetentionResponse = operations['retention']['responses']['200']['content'][
type ReversiCancelMatchRequest = operations['reversi/cancel-match']['requestBody']['content']['application/json'];
// @public (undocumented)
-type ReversiCancelMatchResponse = operations['reversi/cancel-match']['responses']['200']['content']['application/json'];
-
-// @public (undocumented)
type ReversiGameDetailed = components['schemas']['ReversiGameDetailed'];
// @public (undocumented)
@@ -2702,6 +2704,24 @@ type ReversiVerifyResponse = operations['reversi/verify']['responses']['200']['c
type Role = components['schemas']['Role'];
// @public (undocumented)
+type RoleCondFormulaFollowersOrFollowingOrNotes = components['schemas']['RoleCondFormulaFollowersOrFollowingOrNotes'];
+
+// @public (undocumented)
+type RoleCondFormulaLogics = components['schemas']['RoleCondFormulaLogics'];
+
+// @public (undocumented)
+type RoleCondFormulaValue = components['schemas']['RoleCondFormulaValue'];
+
+// @public (undocumented)
+type RoleCondFormulaValueCreated = components['schemas']['RoleCondFormulaValueCreated'];
+
+// @public (undocumented)
+type RoleCondFormulaValueIsLocalOrRemote = components['schemas']['RoleCondFormulaValueIsLocalOrRemote'];
+
+// @public (undocumented)
+type RoleCondFormulaValueNot = components['schemas']['RoleCondFormulaValueNot'];
+
+// @public (undocumented)
type RoleLite = components['schemas']['RoleLite'];
// @public (undocumented)
diff --git a/packages/misskey-js/src/autogen/endpoint.ts b/packages/misskey-js/src/autogen/endpoint.ts
index 7e5ca9b9ce..595d0d66c0 100644
--- a/packages/misskey-js/src/autogen/endpoint.ts
+++ b/packages/misskey-js/src/autogen/endpoint.ts
@@ -85,7 +85,6 @@ import type {
AdminUnsuspendUserRequest,
AdminUpdateMetaRequest,
AdminDeleteAccountRequest,
- AdminDeleteAccountResponse,
AdminUpdateUserNoteRequest,
AdminRolesCreateRequest,
AdminRolesCreateResponse,
@@ -283,6 +282,7 @@ import type {
HashtagsUsersResponse,
IResponse,
I2faDoneRequest,
+ I2faDoneResponse,
I2faKeyDoneRequest,
I2faKeyDoneResponse,
I2faPasswordLessRequest,
@@ -333,6 +333,7 @@ import type {
IRegistryKeysWithTypeRequest,
IRegistryKeysWithTypeResponse,
IRegistryKeysRequest,
+ IRegistryKeysResponse,
IRegistryRemoveRequest,
IRegistryScopesWithDomainResponse,
IRegistrySetRequest,
@@ -536,11 +537,9 @@ import type {
FetchExternalResourcesResponse,
RetentionResponse,
BubbleGameRegisterRequest,
- BubbleGameRegisterResponse,
BubbleGameRankingRequest,
BubbleGameRankingResponse,
ReversiCancelMatchRequest,
- ReversiCancelMatchResponse,
ReversiGamesRequest,
ReversiGamesResponse,
ReversiMatchRequest,
@@ -619,7 +618,7 @@ export type Endpoints = {
'admin/suspend-user': { req: AdminSuspendUserRequest; res: EmptyResponse };
'admin/unsuspend-user': { req: AdminUnsuspendUserRequest; res: EmptyResponse };
'admin/update-meta': { req: AdminUpdateMetaRequest; res: EmptyResponse };
- 'admin/delete-account': { req: AdminDeleteAccountRequest; res: AdminDeleteAccountResponse };
+ 'admin/delete-account': { req: AdminDeleteAccountRequest; res: EmptyResponse };
'admin/update-user-note': { req: AdminUpdateUserNoteRequest; res: EmptyResponse };
'admin/roles/create': { req: AdminRolesCreateRequest; res: AdminRolesCreateResponse };
'admin/roles/delete': { req: AdminRolesDeleteRequest; res: EmptyResponse };
@@ -739,7 +738,7 @@ export type Endpoints = {
'hashtags/trend': { req: EmptyRequest; res: HashtagsTrendResponse };
'hashtags/users': { req: HashtagsUsersRequest; res: HashtagsUsersResponse };
'i': { req: EmptyRequest; res: IResponse };
- 'i/2fa/done': { req: I2faDoneRequest; res: EmptyResponse };
+ 'i/2fa/done': { req: I2faDoneRequest; res: I2faDoneResponse };
'i/2fa/key-done': { req: I2faKeyDoneRequest; res: I2faKeyDoneResponse };
'i/2fa/password-less': { req: I2faPasswordLessRequest; res: EmptyResponse };
'i/2fa/register-key': { req: I2faRegisterKeyRequest; res: I2faRegisterKeyResponse };
@@ -780,7 +779,7 @@ export type Endpoints = {
'i/registry/get-detail': { req: IRegistryGetDetailRequest; res: IRegistryGetDetailResponse };
'i/registry/get': { req: IRegistryGetRequest; res: IRegistryGetResponse };
'i/registry/keys-with-type': { req: IRegistryKeysWithTypeRequest; res: IRegistryKeysWithTypeResponse };
- 'i/registry/keys': { req: IRegistryKeysRequest; res: EmptyResponse };
+ 'i/registry/keys': { req: IRegistryKeysRequest; res: IRegistryKeysResponse };
'i/registry/remove': { req: IRegistryRemoveRequest; res: EmptyResponse };
'i/registry/scopes-with-domain': { req: EmptyRequest; res: IRegistryScopesWithDomainResponse };
'i/registry/set': { req: IRegistrySetRequest; res: EmptyResponse };
@@ -912,9 +911,9 @@ export type Endpoints = {
'fetch-rss': { req: FetchRssRequest; res: FetchRssResponse };
'fetch-external-resources': { req: FetchExternalResourcesRequest; res: FetchExternalResourcesResponse };
'retention': { req: EmptyRequest; res: RetentionResponse };
- 'bubble-game/register': { req: BubbleGameRegisterRequest; res: BubbleGameRegisterResponse };
+ 'bubble-game/register': { req: BubbleGameRegisterRequest; res: EmptyResponse };
'bubble-game/ranking': { req: BubbleGameRankingRequest; res: BubbleGameRankingResponse };
- 'reversi/cancel-match': { req: ReversiCancelMatchRequest; res: ReversiCancelMatchResponse };
+ 'reversi/cancel-match': { req: ReversiCancelMatchRequest; res: EmptyResponse };
'reversi/games': { req: ReversiGamesRequest; res: ReversiGamesResponse };
'reversi/match': { req: ReversiMatchRequest; res: ReversiMatchResponse };
'reversi/invitations': { req: EmptyRequest; res: ReversiInvitationsResponse };
diff --git a/packages/misskey-js/src/autogen/entities.ts b/packages/misskey-js/src/autogen/entities.ts
index 9363ef7bcf..e7ed146c43 100644
--- a/packages/misskey-js/src/autogen/entities.ts
+++ b/packages/misskey-js/src/autogen/entities.ts
@@ -87,7 +87,6 @@ export type AdminSuspendUserRequest = operations['admin/suspend-user']['requestB
export type AdminUnsuspendUserRequest = operations['admin/unsuspend-user']['requestBody']['content']['application/json'];
export type AdminUpdateMetaRequest = operations['admin/update-meta']['requestBody']['content']['application/json'];
export type AdminDeleteAccountRequest = operations['admin/delete-account']['requestBody']['content']['application/json'];
-export type AdminDeleteAccountResponse = operations['admin/delete-account']['responses']['200']['content']['application/json'];
export type AdminUpdateUserNoteRequest = operations['admin/update-user-note']['requestBody']['content']['application/json'];
export type AdminRolesCreateRequest = operations['admin/roles/create']['requestBody']['content']['application/json'];
export type AdminRolesCreateResponse = operations['admin/roles/create']['responses']['200']['content']['application/json'];
@@ -285,6 +284,7 @@ export type HashtagsUsersRequest = operations['hashtags/users']['requestBody']['
export type HashtagsUsersResponse = operations['hashtags/users']['responses']['200']['content']['application/json'];
export type IResponse = operations['i']['responses']['200']['content']['application/json'];
export type I2faDoneRequest = operations['i/2fa/done']['requestBody']['content']['application/json'];
+export type I2faDoneResponse = operations['i/2fa/done']['responses']['200']['content']['application/json'];
export type I2faKeyDoneRequest = operations['i/2fa/key-done']['requestBody']['content']['application/json'];
export type I2faKeyDoneResponse = operations['i/2fa/key-done']['responses']['200']['content']['application/json'];
export type I2faPasswordLessRequest = operations['i/2fa/password-less']['requestBody']['content']['application/json'];
@@ -335,6 +335,7 @@ export type IRegistryGetResponse = operations['i/registry/get']['responses']['20
export type IRegistryKeysWithTypeRequest = operations['i/registry/keys-with-type']['requestBody']['content']['application/json'];
export type IRegistryKeysWithTypeResponse = operations['i/registry/keys-with-type']['responses']['200']['content']['application/json'];
export type IRegistryKeysRequest = operations['i/registry/keys']['requestBody']['content']['application/json'];
+export type IRegistryKeysResponse = operations['i/registry/keys']['responses']['200']['content']['application/json'];
export type IRegistryRemoveRequest = operations['i/registry/remove']['requestBody']['content']['application/json'];
export type IRegistryScopesWithDomainResponse = operations['i/registry/scopes-with-domain']['responses']['200']['content']['application/json'];
export type IRegistrySetRequest = operations['i/registry/set']['requestBody']['content']['application/json'];
@@ -538,11 +539,9 @@ export type FetchExternalResourcesRequest = operations['fetch-external-resources
export type FetchExternalResourcesResponse = operations['fetch-external-resources']['responses']['200']['content']['application/json'];
export type RetentionResponse = operations['retention']['responses']['200']['content']['application/json'];
export type BubbleGameRegisterRequest = operations['bubble-game/register']['requestBody']['content']['application/json'];
-export type BubbleGameRegisterResponse = operations['bubble-game/register']['responses']['200']['content']['application/json'];
export type BubbleGameRankingRequest = operations['bubble-game/ranking']['requestBody']['content']['application/json'];
export type BubbleGameRankingResponse = operations['bubble-game/ranking']['responses']['200']['content']['application/json'];
export type ReversiCancelMatchRequest = operations['reversi/cancel-match']['requestBody']['content']['application/json'];
-export type ReversiCancelMatchResponse = operations['reversi/cancel-match']['responses']['200']['content']['application/json'];
export type ReversiGamesRequest = operations['reversi/games']['requestBody']['content']['application/json'];
export type ReversiGamesResponse = operations['reversi/games']['responses']['200']['content']['application/json'];
export type ReversiMatchRequest = operations['reversi/match']['requestBody']['content']['application/json'];
diff --git a/packages/misskey-js/src/autogen/models.ts b/packages/misskey-js/src/autogen/models.ts
index 8d594e61bb..6400567a2d 100644
--- a/packages/misskey-js/src/autogen/models.ts
+++ b/packages/misskey-js/src/autogen/models.ts
@@ -35,6 +35,12 @@ export type EmojiSimple = components['schemas']['EmojiSimple'];
export type EmojiDetailed = components['schemas']['EmojiDetailed'];
export type Flash = components['schemas']['Flash'];
export type Signin = components['schemas']['Signin'];
+export type RoleCondFormulaLogics = components['schemas']['RoleCondFormulaLogics'];
+export type RoleCondFormulaValueNot = components['schemas']['RoleCondFormulaValueNot'];
+export type RoleCondFormulaValueIsLocalOrRemote = components['schemas']['RoleCondFormulaValueIsLocalOrRemote'];
+export type RoleCondFormulaValueCreated = components['schemas']['RoleCondFormulaValueCreated'];
+export type RoleCondFormulaFollowersOrFollowingOrNotes = components['schemas']['RoleCondFormulaFollowersOrFollowingOrNotes'];
+export type RoleCondFormulaValue = components['schemas']['RoleCondFormulaValue'];
export type RoleLite = components['schemas']['RoleLite'];
export type Role = components['schemas']['Role'];
export type RolePolicies = components['schemas']['RolePolicies'];
diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts
index 94d6673ac5..ad3a9a7c66 100644
--- a/packages/misskey-js/src/autogen/types.ts
+++ b/packages/misskey-js/src/autogen/types.ts
@@ -3696,42 +3696,132 @@ export type components = {
hardMutedWords: string[][];
mutedInstances: string[] | null;
notificationRecieveConfig: {
- app?: {
+ note?: OneOf<[{
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- quote?: {
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- reply?: {
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ follow?: OneOf<[{
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- follow?: {
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- renote?: {
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ mention?: OneOf<[{
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- mention?: {
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- reaction?: {
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ reply?: OneOf<[{
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- pollEnded?: {
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
- receiveFollowRequest?: {
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ renote?: OneOf<[{
/** @enum {string} */
- type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'list' | 'never';
- };
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ quote?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ reaction?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ pollEnded?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ receiveFollowRequest?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ followRequestAccepted?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ roleAssigned?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ achievementEarned?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ app?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ test?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
};
emailNotificationTypes: string[];
achievements: {
@@ -4463,6 +4553,36 @@ export type components = {
headers: Record<string, never>;
success: boolean;
};
+ RoleCondFormulaLogics: {
+ id: string;
+ /** @enum {string} */
+ type: 'and' | 'or';
+ values: components['schemas']['RoleCondFormulaValue'][];
+ };
+ RoleCondFormulaValueNot: {
+ id: string;
+ /** @enum {string} */
+ type: 'not';
+ value: components['schemas']['RoleCondFormulaValue'];
+ };
+ RoleCondFormulaValueIsLocalOrRemote: {
+ id: string;
+ /** @enum {string} */
+ type: 'isLocal' | 'isRemote';
+ };
+ RoleCondFormulaValueCreated: {
+ id: string;
+ /** @enum {string} */
+ type: 'createdLessThan' | 'createdMoreThan';
+ sec: number;
+ };
+ RoleCondFormulaFollowersOrFollowingOrNotes: {
+ id: string;
+ /** @enum {string} */
+ type: 'followersLessThanOrEq' | 'followersMoreThanOrEq' | 'followingLessThanOrEq' | 'followingMoreThanOrEq' | 'notesLessThanOrEq' | 'notesMoreThanOrEq';
+ value: number;
+ };
+ RoleCondFormulaValue: components['schemas']['RoleCondFormulaLogics'] | components['schemas']['RoleCondFormulaValueNot'] | components['schemas']['RoleCondFormulaValueIsLocalOrRemote'] | components['schemas']['RoleCondFormulaValueCreated'] | components['schemas']['RoleCondFormulaFollowersOrFollowingOrNotes'];
RoleLite: {
/**
* Format: id
@@ -4489,7 +4609,7 @@ export type components = {
updatedAt: string;
/** @enum {string} */
target: 'manual' | 'conditional';
- condFormula: Record<string, never>;
+ condFormula: components['schemas']['RoleCondFormulaValue'];
/** @example false */
isPublic: boolean;
/** @example false */
@@ -4548,11 +4668,11 @@ export type components = {
user1Id: string;
/** Format: id */
user2Id: string;
- user1: components['schemas']['User'];
- user2: components['schemas']['User'];
+ user1: components['schemas']['UserLite'];
+ user2: components['schemas']['UserLite'];
/** Format: id */
winnerId: string | null;
- winner: components['schemas']['User'] | null;
+ winner: components['schemas']['UserLite'] | null;
/** Format: id */
surrenderedUserId: string | null;
/** Format: id */
@@ -4584,11 +4704,11 @@ export type components = {
user1Id: string;
/** Format: id */
user2Id: string;
- user1: components['schemas']['User'];
- user2: components['schemas']['User'];
+ user1: components['schemas']['UserLite'];
+ user2: components['schemas']['UserLite'];
/** Format: id */
winnerId: string | null;
- winner: components['schemas']['User'] | null;
+ winner: components['schemas']['UserLite'] | null;
/** Format: id */
surrenderedUserId: string | null;
/** Format: id */
@@ -4600,7 +4720,7 @@ export type components = {
canPutEverywhere: boolean;
loopedBoard: boolean;
timeLimitForEachTurn: number;
- logs: unknown[][];
+ logs: number[][];
map: string[];
};
};
@@ -6128,7 +6248,12 @@ export type operations = {
size: number;
comment: string | null;
blurhash: string | null;
- properties: Record<string, never>;
+ properties: {
+ width?: number;
+ height?: number;
+ orientation?: number;
+ avgColor?: string;
+ };
/** @example true */
storedInternal: boolean | null;
/** Format: url */
@@ -7189,7 +7314,12 @@ export type operations = {
/** @description OK (with results) */
200: {
content: {
- 'application/json': Record<string, never>;
+ 'application/json': {
+ [key: string]: {
+ count: number;
+ size: number;
+ };
+ };
};
};
/** @description Client error */
@@ -8185,7 +8315,162 @@ export type operations = {
/** @description OK (with results) */
200: {
content: {
- 'application/json': Record<string, never>;
+ 'application/json': {
+ email: string | null;
+ emailVerified: boolean;
+ autoAcceptFollowed: boolean;
+ noCrawle: boolean;
+ preventAiLearning: boolean;
+ alwaysMarkNsfw: boolean;
+ autoSensitive: boolean;
+ carefulBot: boolean;
+ injectFeaturedNote: boolean;
+ receiveAnnouncementEmail: boolean;
+ mutedWords: (string | string[])[];
+ mutedInstances: string[];
+ notificationRecieveConfig: {
+ note?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ follow?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ mention?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ reply?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ renote?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ quote?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ reaction?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ pollEnded?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ receiveFollowRequest?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ followRequestAccepted?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ roleAssigned?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ achievementEarned?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ app?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ test?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ };
+ isModerator: boolean;
+ isSilenced: boolean;
+ isSuspended: boolean;
+ isHibernated: boolean;
+ lastActiveDate: string | null;
+ moderationNote: string;
+ signins: components['schemas']['Signin'][];
+ policies: components['schemas']['RolePolicies'];
+ roles: components['schemas']['Role'][];
+ roleAssigns: ({
+ createdAt: string;
+ expiresAt: string | null;
+ roleId: string;
+ })[];
+ };
};
};
/** @description Client error */
@@ -8568,11 +8853,9 @@ export type operations = {
};
};
responses: {
- /** @description OK (with results) */
- 200: {
- content: {
- 'application/json': unknown;
- };
+ /** @description OK (without any results) */
+ 204: {
+ content: never;
};
/** @description Client error */
400: {
@@ -15567,9 +15850,13 @@ export type operations = {
};
};
responses: {
- /** @description OK (without any results) */
- 204: {
- content: never;
+ /** @description OK (with results) */
+ 200: {
+ content: {
+ 'application/json': {
+ backupCodes: string[];
+ };
+ };
};
/** @description Client error */
400: {
@@ -15737,7 +16024,7 @@ export type operations = {
content: {
'application/json': {
rp: {
- id: string | null;
+ id?: string;
};
user: {
id: string;
@@ -16048,11 +16335,11 @@ export type operations = {
'application/json': {
/** Format: misskey:id */
id: string;
- name: string;
+ name?: string;
/** Format: date-time */
createdAt: string;
/** Format: date-time */
- lastUsedAt: string;
+ lastUsedAt?: string;
permission: string[];
}[];
};
@@ -16122,7 +16409,7 @@ export type operations = {
name: string;
callbackUrl: string | null;
permission: string[];
- isAuthorized: boolean;
+ isAuthorized?: boolean;
})[];
};
};
@@ -17743,7 +18030,10 @@ export type operations = {
/** @description OK (with results) */
200: {
content: {
- 'application/json': Record<string, never>;
+ 'application/json': {
+ updatedAt: string;
+ value: unknown;
+ };
};
};
/** @description Client error */
@@ -17854,7 +18144,9 @@ export type operations = {
/** @description OK (with results) */
200: {
content: {
- 'application/json': Record<string, never>;
+ 'application/json': {
+ [key: string]: string;
+ };
};
};
/** @description Client error */
@@ -17906,9 +18198,11 @@ export type operations = {
};
};
responses: {
- /** @description OK (without any results) */
- 204: {
- content: never;
+ /** @description OK (with results) */
+ 200: {
+ content: {
+ 'application/json': string[];
+ };
};
/** @description Client error */
400: {
@@ -18385,7 +18679,134 @@ export type operations = {
mutedWords?: (string[] | string)[];
hardMutedWords?: (string[] | string)[];
mutedInstances?: string[];
- notificationRecieveConfig?: Record<string, never>;
+ notificationRecieveConfig?: {
+ note?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ follow?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ mention?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ reply?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ renote?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ quote?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ reaction?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ pollEnded?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ receiveFollowRequest?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ followRequestAccepted?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ roleAssigned?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ achievementEarned?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ app?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ test?: OneOf<[{
+ /** @enum {string} */
+ type: 'all' | 'following' | 'follower' | 'mutualFollow' | 'never';
+ }, {
+ /** @enum {string} */
+ type: 'list';
+ /** Format: misskey:id */
+ userListId: string;
+ }]>;
+ };
emailNotificationTypes?: string[];
alsoKnownAs?: string[];
};
@@ -23578,12 +23999,12 @@ export type operations = {
content: {
'application/json': {
/** Format: misskey:id */
- id: string;
+ id?: string;
required: boolean;
- string: string;
- default: string;
+ string?: string;
+ default?: string;
/** @default hello */
- nullableDefault: string | null;
+ nullableDefault?: string | null;
};
};
};
@@ -25694,18 +26115,16 @@ export type operations = {
'application/json': {
score: number;
seed: string;
- logs: unknown[];
+ logs: number[][];
gameMode: string;
gameVersion: number;
};
};
};
responses: {
- /** @description OK (with results) */
- 200: {
- content: {
- 'application/json': unknown;
- };
+ /** @description OK (without any results) */
+ 204: {
+ content: never;
};
/** @description Client error */
400: {
@@ -25767,7 +26186,7 @@ export type operations = {
/** Format: misskey:id */
id: string;
score: number;
- user: components['schemas']['UserLite'];
+ user?: components['schemas']['UserLite'];
}[];
};
};
@@ -25819,11 +26238,9 @@ export type operations = {
};
};
responses: {
- /** @description OK (with results) */
- 200: {
- content: {
- 'application/json': unknown;
- };
+ /** @description OK (without any results) */
+ 204: {
+ content: never;
};
/** @description Client error */
400: {
@@ -25940,9 +26357,13 @@ export type operations = {
/** @description OK (with results) */
200: {
content: {
- 'application/json': unknown;
+ 'application/json': components['schemas']['ReversiGameDetailed'];
};
};
+ /** @description OK (without any results) */
+ 204: {
+ content: never;
+ };
/** @description Client error */
400: {
content: {