summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/admin
diff options
context:
space:
mode:
authorChocolate Pie <106949016+chocolate-pie@users.noreply.github.com>2023-12-27 15:08:59 +0900
committerGitHub <noreply@github.com>2023-12-27 15:08:59 +0900
commitc96bc36fedc804dc840ea791a9355d7df0748e64 (patch)
tree127f0cc1478cb0248aa03b39e07f051423244c6c /packages/backend/src/server/api/endpoints/admin
parentchore(frontend): update team members (diff)
downloadsharkey-c96bc36fedc804dc840ea791a9355d7df0748e64.tar.gz
sharkey-c96bc36fedc804dc840ea791a9355d7df0748e64.tar.bz2
sharkey-c96bc36fedc804dc840ea791a9355d7df0748e64.zip
Merge pull request from GHSA-7pxq-6xx9-xpgm
* fix: fix improper authorization when accessing with third-party application * refactor: refactor type definitions * fix: get rid of unnecessary access limitation * enhance: サードパーティアプリケーションがWebsocket APIを使えるように * fix: add missing parentheses * Revert "fix(backend): add missing kind definition for admin endpoints to improve security" This reverts commit 5150053275594278e9eb23e72d98b16593c4c230. * frontend: 翻訳の抜けを訂正, read:adminとwrite:adminはアクセス発行トークンのデフォルトでは非表示にする * enhance(test): misskey-ghsa-7pxq-6xx9-xpgmに関するテストを追加 * enhance(test): Websocket APIに対するテストも追加 * enhance(refactor): `@/misc/api-permissions.ts`を`misskey-js/permissions`に統合 * fix(frontend): アクセストークン発行UIで全ての権限を有効にした際、管理者用APIへのアクセスも許可してしまう問題を修正 * enhance(backend): Websocketの接続に最低限必要な権限を変更 * fix(backend): `/api/admin/meta`をサードパーティアプリケーションからはアクセスできないように * fix(backend): エンドポイントにアクセスするために必要な権限を変更 * fix(frontend/locale): Add missing type declaration * chore: update `misskey-js/src/autogen` --------- Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/accounts/create.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/accounts/delete.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/accounts/find-by-email.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/ad/create.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/ad/delete.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/ad/list.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/ad/update.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/announcements/create.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/announcements/delete.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/announcements/list.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/announcements/update.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/avatar-decorations/delete.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/avatar-decorations/update.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/delete-account.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/drive/cleanup.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/drive/files.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/drive/show-file.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/add-aliases-bulk.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/add.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/copy.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/delete-bulk.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/delete.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/import-zip.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/list.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/set-license-bulk.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/update.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/get-index-stats.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/get-table-stats.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/get-user-ips.ts5
-rw-r--r--packages/backend/src/server/api/endpoints/admin/invite/create.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/invite/list.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/meta.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/promo/create.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/queue/clear.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/queue/promote.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/queue/stats.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/relays/add.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/relays/list.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/relays/remove.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/reset-password.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/assign.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/create.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/delete.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/list.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/show.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/unassign.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/update-default-policies.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/update.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/roles/users.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/send-email.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/server-info.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/show-user.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/show-users.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/suspend-user.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/unset-user-avatar.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/unset-user-banner.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/update-meta.ts3
-rw-r--r--packages/backend/src/server/api/endpoints/admin/update-user-note.ts3
76 files changed, 77 insertions, 151 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts b/packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts
index 484118cd46..3484d6707a 100644
--- a/packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts
+++ b/packages/backend/src/server/api/endpoints/admin/abuse-user-reports.ts
@@ -13,10 +13,9 @@ import { AbuseUserReportEntityService } from '@/core/entities/AbuseUserReportEnt
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:abuse-user-reports',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/accounts/create.ts b/packages/backend/src/server/api/endpoints/admin/accounts/create.ts
index 07f24d2995..a2f9bf6945 100644
--- a/packages/backend/src/server/api/endpoints/admin/accounts/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/accounts/create.ts
@@ -15,7 +15,7 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
+ secure: true,
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/admin/accounts/delete.ts b/packages/backend/src/server/api/endpoints/admin/accounts/delete.ts
index 86f4b0709b..52d8c8ce18 100644
--- a/packages/backend/src/server/api/endpoints/admin/accounts/delete.ts
+++ b/packages/backend/src/server/api/endpoints/admin/accounts/delete.ts
@@ -14,10 +14,9 @@ import { UserEntityService } from '@/core/entities/UserEntityService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:account',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/accounts/find-by-email.ts b/packages/backend/src/server/api/endpoints/admin/accounts/find-by-email.ts
index bc292fd53a..93673453d6 100644
--- a/packages/backend/src/server/api/endpoints/admin/accounts/find-by-email.ts
+++ b/packages/backend/src/server/api/endpoints/admin/accounts/find-by-email.ts
@@ -13,10 +13,9 @@ import { ApiError } from '@/server/api/error.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'read:admin:account',
errors: {
userNotFound: {
diff --git a/packages/backend/src/server/api/endpoints/admin/ad/create.ts b/packages/backend/src/server/api/endpoints/admin/ad/create.ts
index 087ae4befc..041b10f9f7 100644
--- a/packages/backend/src/server/api/endpoints/admin/ad/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/ad/create.ts
@@ -13,10 +13,9 @@ import { ModerationLogService } from '@/core/ModerationLogService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:ad',
res: {
type: 'object',
optional: false,
diff --git a/packages/backend/src/server/api/endpoints/admin/ad/delete.ts b/packages/backend/src/server/api/endpoints/admin/ad/delete.ts
index ba655a6aa3..5b18b347d3 100644
--- a/packages/backend/src/server/api/endpoints/admin/ad/delete.ts
+++ b/packages/backend/src/server/api/endpoints/admin/ad/delete.ts
@@ -13,10 +13,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:ad',
errors: {
noSuchAd: {
diff --git a/packages/backend/src/server/api/endpoints/admin/ad/list.ts b/packages/backend/src/server/api/endpoints/admin/ad/list.ts
index 12528917dc..586c1f44db 100644
--- a/packages/backend/src/server/api/endpoints/admin/ad/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/ad/list.ts
@@ -12,10 +12,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:ad',
res: {
type: 'array',
optional: false,
diff --git a/packages/backend/src/server/api/endpoints/admin/ad/update.ts b/packages/backend/src/server/api/endpoints/admin/ad/update.ts
index b83c163004..bf96e44b0c 100644
--- a/packages/backend/src/server/api/endpoints/admin/ad/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/ad/update.ts
@@ -13,10 +13,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:ad',
errors: {
noSuchAd: {
diff --git a/packages/backend/src/server/api/endpoints/admin/announcements/create.ts b/packages/backend/src/server/api/endpoints/admin/announcements/create.ts
index fb432336e4..c9df70c76b 100644
--- a/packages/backend/src/server/api/endpoints/admin/announcements/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/announcements/create.ts
@@ -10,10 +10,9 @@ import { AnnouncementService } from '@/core/AnnouncementService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:announcements',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/admin/announcements/delete.ts b/packages/backend/src/server/api/endpoints/admin/announcements/delete.ts
index e84e63c666..939333345e 100644
--- a/packages/backend/src/server/api/endpoints/admin/announcements/delete.ts
+++ b/packages/backend/src/server/api/endpoints/admin/announcements/delete.ts
@@ -13,10 +13,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:announcements',
errors: {
noSuchAnnouncement: {
diff --git a/packages/backend/src/server/api/endpoints/admin/announcements/list.ts b/packages/backend/src/server/api/endpoints/admin/announcements/list.ts
index e98ef0b169..429b138599 100644
--- a/packages/backend/src/server/api/endpoints/admin/announcements/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/announcements/list.ts
@@ -14,10 +14,9 @@ import { IdService } from '@/core/IdService.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:announcements',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/announcements/update.ts b/packages/backend/src/server/api/endpoints/admin/announcements/update.ts
index e2ec344899..db6db8356d 100644
--- a/packages/backend/src/server/api/endpoints/admin/announcements/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/announcements/update.ts
@@ -13,10 +13,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:announcements',
errors: {
noSuchAnnouncement: {
diff --git a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts
index 158435ed21..4ac74253cc 100644
--- a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/create.ts
@@ -10,10 +10,9 @@ import { AvatarDecorationService } from '@/core/AvatarDecorationService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageAvatarDecorations',
+ kind: 'write:admin:avatar-decorations',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/delete.ts b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/delete.ts
index 06083cc180..88977f801a 100644
--- a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/delete.ts
+++ b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/delete.ts
@@ -12,10 +12,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageAvatarDecorations',
+ kind: 'write:admin:avatar-decorations',
errors: {
},
} as const;
diff --git a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts
index 49a8718bce..33122c3eef 100644
--- a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/list.ts
@@ -15,10 +15,9 @@ import { AvatarDecorationService } from '@/core/AvatarDecorationService.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageAvatarDecorations',
+ kind: 'read:admin:avatar-decorations',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/update.ts b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/update.ts
index 3d8f3d63de..6211345f96 100644
--- a/packages/backend/src/server/api/endpoints/admin/avatar-decorations/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/avatar-decorations/update.ts
@@ -12,10 +12,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageAvatarDecorations',
+ kind: 'write:admin:avatar-decorations',
errors: {
},
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 adc446d14b..2c82c2879d 100644
--- a/packages/backend/src/server/api/endpoints/admin/delete-account.ts
+++ b/packages/backend/src/server/api/endpoints/admin/delete-account.ts
@@ -12,10 +12,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:delete-account',
res: {
},
diff --git a/packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts b/packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
index 1fdbbfb12e..7d33065f2e 100644
--- a/packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
@@ -12,10 +12,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:delete-all-files-of-a-user',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts b/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts
index 3f23319a5f..af2bb6b1ca 100644
--- a/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts
+++ b/packages/backend/src/server/api/endpoints/admin/drive/clean-remote-files.ts
@@ -10,10 +10,9 @@ import { QueueService } from '@/core/QueueService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:drive',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/drive/cleanup.ts b/packages/backend/src/server/api/endpoints/admin/drive/cleanup.ts
index fd8fa46a47..a3b221284b 100644
--- a/packages/backend/src/server/api/endpoints/admin/drive/cleanup.ts
+++ b/packages/backend/src/server/api/endpoints/admin/drive/cleanup.ts
@@ -13,10 +13,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:drive',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/drive/files.ts b/packages/backend/src/server/api/endpoints/admin/drive/files.ts
index 816bbfbc45..37fa439bcf 100644
--- a/packages/backend/src/server/api/endpoints/admin/drive/files.ts
+++ b/packages/backend/src/server/api/endpoints/admin/drive/files.ts
@@ -13,10 +13,9 @@ import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.j
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:drive',
res: {
type: 'array',
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 61cb843558..3aeb3e45e3 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
@@ -14,10 +14,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:drive',
errors: {
noSuchFile: {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/add-aliases-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/add-aliases-bulk.ts
index 5333adb624..1cd8125c52 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/add-aliases-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/add-aliases-bulk.ts
@@ -10,10 +10,9 @@ import { CustomEmojiService } from '@/core/CustomEmojiService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/add.ts b/packages/backend/src/server/api/endpoints/admin/emoji/add.ts
index 76ff1c6b94..4a9418d051 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/add.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/add.ts
@@ -14,10 +14,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
errors: {
noSuchFile: {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
index 87260faa43..476780b23f 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
@@ -16,10 +16,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
errors: {
noSuchEmoji: {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/delete-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/delete-bulk.ts
index c483794a40..450695984a 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/delete-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/delete-bulk.ts
@@ -10,10 +10,9 @@ import { CustomEmojiService } from '@/core/CustomEmojiService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/delete.ts b/packages/backend/src/server/api/endpoints/admin/emoji/delete.ts
index e15af7717b..e1e6e7c2c4 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/delete.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/delete.ts
@@ -10,10 +10,9 @@ import { CustomEmojiService } from '@/core/CustomEmojiService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
errors: {
noSuchEmoji: {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/import-zip.ts b/packages/backend/src/server/api/endpoints/admin/emoji/import-zip.ts
index b75616f3cc..208616c0ac 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/import-zip.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/import-zip.ts
@@ -8,7 +8,7 @@ import { Endpoint } from '@/server/api/endpoint-base.js';
import { QueueService } from '@/core/QueueService.js';
export const meta = {
- kind: 'write:admin',
+ secure: true,
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
} as const;
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts b/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts
index a383e09338..f3e0c1ef1f 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts
@@ -15,10 +15,9 @@ import { sqlLikeEscape } from '@/misc/sql-like-escape.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'read:admin:emoji',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/list.ts b/packages/backend/src/server/api/endpoints/admin/emoji/list.ts
index 210b3639c3..59e87253f6 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/list.ts
@@ -15,10 +15,9 @@ import { EmojiEntityService } from '@/core/entities/EmojiEntityService.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'read:admin:emoji',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts
index 8e92db1daf..26dd43e926 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts
@@ -10,10 +10,9 @@ import { CustomEmojiService } from '@/core/CustomEmojiService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts
index 5a06b5b32f..18961976f9 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts
@@ -10,10 +10,9 @@ import { CustomEmojiService } from '@/core/CustomEmojiService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts
index b3e9c6df13..c680f2e2d4 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts
@@ -10,10 +10,9 @@ import { CustomEmojiService } from '@/core/CustomEmojiService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/set-license-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/set-license-bulk.ts
index c59d13ad16..47c692b613 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/set-license-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/set-license-bulk.ts
@@ -10,10 +10,9 @@ import { CustomEmojiService } from '@/core/CustomEmojiService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/update.ts b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
index 61d857b7b0..550bb0052b 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/update.ts
@@ -13,10 +13,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireRolePolicy: 'canManageCustomEmojis',
+ kind: 'write:admin:emoji',
errors: {
noSuchEmoji: {
diff --git a/packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts b/packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts
index b81297413c..57612850b4 100644
--- a/packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts
+++ b/packages/backend/src/server/api/endpoints/admin/federation/delete-all-files.ts
@@ -12,10 +12,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:federation',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts b/packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
index 6cc4e3087f..0d061c685f 100644
--- a/packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
+++ b/packages/backend/src/server/api/endpoints/admin/federation/refresh-remote-instance-metadata.ts
@@ -13,10 +13,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:federation',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts b/packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts
index 18884dfca6..c15fb83454 100644
--- a/packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts
+++ b/packages/backend/src/server/api/endpoints/admin/federation/remove-all-following.ts
@@ -12,10 +12,9 @@ import { QueueService } from '@/core/QueueService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:federation',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts b/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts
index 4232d42ba5..f429949e16 100644
--- a/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts
+++ b/packages/backend/src/server/api/endpoints/admin/federation/update-instance.ts
@@ -14,10 +14,9 @@ import { ModerationLogService } from '@/core/ModerationLogService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:federation',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts b/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts
index b81d9857d7..0b50212119 100644
--- a/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts
+++ b/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts
@@ -11,8 +11,7 @@ import { DI } from '@/di-symbols.js';
export const meta = {
requireCredential: true,
requireAdmin: true,
-
- kind: 'read:admin',
+ kind: 'read:admin:index-stats',
tags: ['admin'],
res: {
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 c104f653ef..0d44b288cb 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
@@ -11,8 +11,7 @@ import { DI } from '@/di-symbols.js';
export const meta = {
requireCredential: true,
requireAdmin: true,
-
- kind: 'read:admin',
+ kind: 'read:admin:table-stats',
tags: ['admin'],
diff --git a/packages/backend/src/server/api/endpoints/admin/get-user-ips.ts b/packages/backend/src/server/api/endpoints/admin/get-user-ips.ts
index 76c32f2a9f..1b437f718b 100644
--- a/packages/backend/src/server/api/endpoints/admin/get-user-ips.ts
+++ b/packages/backend/src/server/api/endpoints/admin/get-user-ips.ts
@@ -12,10 +12,9 @@ import { IdService } from '@/core/IdService.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:user-ips',
res: {
type: 'array',
optional: false,
@@ -34,7 +33,7 @@ export const meta = {
},
},
},
- }
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/invite/create.ts b/packages/backend/src/server/api/endpoints/admin/invite/create.ts
index 96de772edc..396b84623f 100644
--- a/packages/backend/src/server/api/endpoints/admin/invite/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/invite/create.ts
@@ -16,10 +16,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:invite-codes',
errors: {
invalidDateTime: {
diff --git a/packages/backend/src/server/api/endpoints/admin/invite/list.ts b/packages/backend/src/server/api/endpoints/admin/invite/list.ts
index 3b7dc72e11..d293dcadc6 100644
--- a/packages/backend/src/server/api/endpoints/admin/invite/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/invite/list.ts
@@ -12,10 +12,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:invite-codes',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts
index eef27b9721..febc4ab1b1 100644
--- a/packages/backend/src/server/api/endpoints/admin/meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/meta.ts
@@ -13,10 +13,9 @@ import { DEFAULT_POLICIES } from '@/core/RoleService.js';
export const meta = {
tags: ['meta'],
- kind: 'read:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'read:admin:meta',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/admin/promo/create.ts b/packages/backend/src/server/api/endpoints/admin/promo/create.ts
index e2befec50f..ab69dfba96 100644
--- a/packages/backend/src/server/api/endpoints/admin/promo/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/promo/create.ts
@@ -13,10 +13,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:promo',
errors: {
noSuchNote: {
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/clear.ts b/packages/backend/src/server/api/endpoints/admin/queue/clear.ts
index 1d565e8f24..9912043c8b 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/clear.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/clear.ts
@@ -11,10 +11,9 @@ import { QueueService } from '@/core/QueueService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:queue',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
index 30005fc666..8473909103 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
@@ -11,10 +11,9 @@ import type { DeliverQueue } from '@/core/QueueModule.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:queue',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
index aa8b6edee5..19f7cb85c0 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
@@ -11,10 +11,9 @@ import type { InboxQueue } from '@/core/QueueModule.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:queue',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/promote.ts b/packages/backend/src/server/api/endpoints/admin/queue/promote.ts
index 8f46cd6375..d06780e044 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/promote.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/promote.ts
@@ -11,10 +11,9 @@ import { QueueService } from '@/core/QueueService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:queue',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/stats.ts b/packages/backend/src/server/api/endpoints/admin/queue/stats.ts
index 1d92e2bf86..189690b703 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/stats.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/stats.ts
@@ -10,10 +10,9 @@ import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, InboxQueue, Obj
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:emoji',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/admin/relays/add.ts b/packages/backend/src/server/api/endpoints/admin/relays/add.ts
index 53b83560cf..d55dff7b0c 100644
--- a/packages/backend/src/server/api/endpoints/admin/relays/add.ts
+++ b/packages/backend/src/server/api/endpoints/admin/relays/add.ts
@@ -12,10 +12,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:relays',
errors: {
invalidUrl: {
diff --git a/packages/backend/src/server/api/endpoints/admin/relays/list.ts b/packages/backend/src/server/api/endpoints/admin/relays/list.ts
index 35c8e05487..61ea287bff 100644
--- a/packages/backend/src/server/api/endpoints/admin/relays/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/relays/list.ts
@@ -10,10 +10,9 @@ import { RelayService } from '@/core/RelayService.js';
export const meta = {
tags: ['admin'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:relays',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/relays/remove.ts b/packages/backend/src/server/api/endpoints/admin/relays/remove.ts
index fdc53cb708..8a6dd4e152 100644
--- a/packages/backend/src/server/api/endpoints/admin/relays/remove.ts
+++ b/packages/backend/src/server/api/endpoints/admin/relays/remove.ts
@@ -10,10 +10,9 @@ import { RelayService } from '@/core/RelayService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:relays',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/reset-password.ts b/packages/backend/src/server/api/endpoints/admin/reset-password.ts
index 73bbd1f091..1a402b4a4a 100644
--- a/packages/backend/src/server/api/endpoints/admin/reset-password.ts
+++ b/packages/backend/src/server/api/endpoints/admin/reset-password.ts
@@ -14,10 +14,9 @@ import { ModerationLogService } from '@/core/ModerationLogService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:reset-password',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts b/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
index fb26c82a9d..26c4038b98 100644
--- a/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
+++ b/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
@@ -15,10 +15,9 @@ import { ModerationLogService } from '@/core/ModerationLogService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:resolve-abuse-user-report',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/assign.ts b/packages/backend/src/server/api/endpoints/admin/roles/assign.ts
index bbd4cfabbe..8eb3d2bf59 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/assign.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/assign.ts
@@ -13,10 +13,9 @@ import { RoleService } from '@/core/RoleService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:roles',
errors: {
noSuchRole: {
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/create.ts b/packages/backend/src/server/api/endpoints/admin/roles/create.ts
index ac6085d921..de23d2fb11 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/create.ts
@@ -11,10 +11,9 @@ import { RoleService } from '@/core/RoleService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:roles',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/delete.ts b/packages/backend/src/server/api/endpoints/admin/roles/delete.ts
index f60d6754a5..9e2968e317 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/delete.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/delete.ts
@@ -13,10 +13,9 @@ import { RoleService } from '@/core/RoleService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:roles',
errors: {
noSuchRole: {
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/list.ts b/packages/backend/src/server/api/endpoints/admin/roles/list.ts
index 30917ce984..d3d1a10a69 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/list.ts
@@ -12,10 +12,9 @@ import { RoleEntityService } from '@/core/entities/RoleEntityService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:roles',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/show.ts b/packages/backend/src/server/api/endpoints/admin/roles/show.ts
index 91e32d95be..ad4345e5a5 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/show.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/show.ts
@@ -13,10 +13,9 @@ import { RoleEntityService } from '@/core/entities/RoleEntityService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'read:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:roles',
errors: {
noSuchRole: {
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/unassign.ts b/packages/backend/src/server/api/endpoints/admin/roles/unassign.ts
index 701fea1ed5..c11265252c 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/unassign.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/unassign.ts
@@ -13,10 +13,9 @@ import { RoleService } from '@/core/RoleService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:roles',
errors: {
noSuchRole: {
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/update-default-policies.ts b/packages/backend/src/server/api/endpoints/admin/roles/update-default-policies.ts
index 066fc73234..203f749a6e 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/update-default-policies.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/update-default-policies.ts
@@ -11,10 +11,9 @@ import { MetaService } from '@/core/MetaService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:roles',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/update.ts b/packages/backend/src/server/api/endpoints/admin/roles/update.ts
index 6cfcd8ca4a..74d5aae5d8 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/update.ts
@@ -14,10 +14,9 @@ import { RoleService } from '@/core/RoleService.js';
export const meta = {
tags: ['admin', 'role'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:roles',
errors: {
noSuchRole: {
diff --git a/packages/backend/src/server/api/endpoints/admin/roles/users.ts b/packages/backend/src/server/api/endpoints/admin/roles/users.ts
index 6a0f7f9987..66f4d9d26b 100644
--- a/packages/backend/src/server/api/endpoints/admin/roles/users.ts
+++ b/packages/backend/src/server/api/endpoints/admin/roles/users.ts
@@ -16,10 +16,9 @@ import { ApiError } from '../../../error.js';
export const meta = {
tags: ['admin', 'role', 'users'],
- kind: 'read:admin',
-
requireCredential: false,
requireAdmin: true,
+ kind: 'read:admin:roles',
errors: {
noSuchRole: {
diff --git a/packages/backend/src/server/api/endpoints/admin/send-email.ts b/packages/backend/src/server/api/endpoints/admin/send-email.ts
index d22066909e..d20aee656c 100644
--- a/packages/backend/src/server/api/endpoints/admin/send-email.ts
+++ b/packages/backend/src/server/api/endpoints/admin/send-email.ts
@@ -10,10 +10,9 @@ import { EmailService } from '@/core/EmailService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:send-email',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/server-info.ts b/packages/backend/src/server/api/endpoints/admin/server-info.ts
index d3c3bebff6..374712f57d 100644
--- a/packages/backend/src/server/api/endpoints/admin/server-info.ts
+++ b/packages/backend/src/server/api/endpoints/admin/server-info.ts
@@ -14,11 +14,10 @@ import { DI } from '@/di-symbols.js';
export const meta = {
requireCredential: true,
requireModerator: true,
+ kind: 'read:admin:server-info',
tags: ['admin', 'meta'],
- kind: 'read:admin',
-
res: {
type: 'object',
optional: false, nullable: false,
diff --git a/packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts b/packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts
index c82532ed67..f3601be9bb 100644
--- a/packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts
+++ b/packages/backend/src/server/api/endpoints/admin/show-moderation-logs.ts
@@ -15,8 +15,7 @@ export const meta = {
requireCredential: true,
requireAdmin: true,
-
- kind: 'read:admin',
+ kind: 'read:admin:show-moderation-log',
res: {
type: 'array',
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 f1e7b75a32..2b50354cef 100644
--- a/packages/backend/src/server/api/endpoints/admin/show-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/show-user.ts
@@ -16,8 +16,7 @@ export const meta = {
requireCredential: true,
requireModerator: true,
-
- kind: 'read:admin',
+ kind: 'read:admin:show-user',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/admin/show-users.ts b/packages/backend/src/server/api/endpoints/admin/show-users.ts
index 5081383687..1d31e5e80f 100644
--- a/packages/backend/src/server/api/endpoints/admin/show-users.ts
+++ b/packages/backend/src/server/api/endpoints/admin/show-users.ts
@@ -16,8 +16,7 @@ export const meta = {
requireCredential: true,
requireModerator: true,
-
- kind: 'read:admin',
+ kind: 'read:admin:show-users',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/admin/suspend-user.ts b/packages/backend/src/server/api/endpoints/admin/suspend-user.ts
index 35c3f37481..a26fa81c13 100644
--- a/packages/backend/src/server/api/endpoints/admin/suspend-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/suspend-user.ts
@@ -19,10 +19,9 @@ import { QueueService } from '@/core/QueueService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:suspend-user',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/unset-user-avatar.ts b/packages/backend/src/server/api/endpoints/admin/unset-user-avatar.ts
index 2309493937..8b22fad1d4 100644
--- a/packages/backend/src/server/api/endpoints/admin/unset-user-avatar.ts
+++ b/packages/backend/src/server/api/endpoints/admin/unset-user-avatar.ts
@@ -12,10 +12,9 @@ import { ModerationLogService } from '@/core/ModerationLogService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:unset-user-avatar',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/unset-user-banner.ts b/packages/backend/src/server/api/endpoints/admin/unset-user-banner.ts
index 468c634e5b..5ec359c0ef 100644
--- a/packages/backend/src/server/api/endpoints/admin/unset-user-banner.ts
+++ b/packages/backend/src/server/api/endpoints/admin/unset-user-banner.ts
@@ -12,10 +12,9 @@ import { ModerationLogService } from '@/core/ModerationLogService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:unset-user-banner',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts b/packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts
index 8cdd317eae..9c896f0e64 100644
--- a/packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts
+++ b/packages/backend/src/server/api/endpoints/admin/unsuspend-user.ts
@@ -13,10 +13,9 @@ import { DI } from '@/di-symbols.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:unsuspend-user',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
index 5f9de0523e..5a215696fb 100644
--- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
@@ -12,10 +12,9 @@ import { MetaService } from '@/core/MetaService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireAdmin: true,
+ kind: 'write:admin:meta',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/admin/update-user-note.ts b/packages/backend/src/server/api/endpoints/admin/update-user-note.ts
index dd0b777373..e582147e72 100644
--- a/packages/backend/src/server/api/endpoints/admin/update-user-note.ts
+++ b/packages/backend/src/server/api/endpoints/admin/update-user-note.ts
@@ -12,10 +12,9 @@ import { ModerationLogService } from '@/core/ModerationLogService.js';
export const meta = {
tags: ['admin'],
- kind: 'write:admin',
-
requireCredential: true,
requireModerator: true,
+ kind: 'write:admin:user-note',
} as const;
export const paramDef = {