summaryrefslogtreecommitdiff
path: root/packages/backend/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server')
-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
20 files changed, 296 insertions, 37 deletions
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 = {