summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints
diff options
context:
space:
mode:
authorChocolate Pie <106949016+chocolate-pie@users.noreply.github.com>2023-12-27 15:08:59 +0900
committerMarie <marie@kaifa.ch>2023-12-28 09:45:54 +0100
commit82822e29d9414556b6cc1ea0d8c8dbbdb7f4fd1d (patch)
tree3c7793de433bd9106bf965747c4de082fb0b572e /packages/backend/src/server/api/endpoints
parentrefactor: paginationの型を明示する (#12809) (diff)
downloadsharkey-82822e29d9414556b6cc1ea0d8c8dbbdb7f4fd1d.tar.gz
sharkey-82822e29d9414556b6cc1ea0d8c8dbbdb7f4fd1d.tar.bz2
sharkey-82822e29d9414556b6cc1ea0d8c8dbbdb7f4fd1d.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')
-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
-rw-r--r--packages/backend/src/server/api/endpoints/ap/get.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/ap/show.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/federation/update-remote-user.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/fetch-external-resources.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/claim-achievement.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/get-all.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/get-detail.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/get.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/keys-with-type.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/keys.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/remove.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/i/registry/set.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/invite/create.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/invite/delete.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/invite/limit.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/invite/list.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/my/apps.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/notes/mentions.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/notes/state.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/notes/timeline.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/notes/translate.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/promo/read.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/roles/list.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/roles/notes.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/sw/register.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/sw/show-registration.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/sw/update-registration.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/users/achievements.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/favorite.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/users/lists/unfavorite.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/users/relation.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/users/report-abuse.ts1
113 files changed, 115 insertions, 154 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 7e484c612b..0868e24948 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 a24c72b9b8..611b64be07 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/copy.ts
@@ -17,10 +17,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 cf4ac70cc9..188ab69532 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 218ab42ffd..4fd2a568ad 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 d37a526db7..506cd609ae 100644
--- a/packages/backend/src/server/api/endpoints/admin/reset-password.ts
+++ b/packages/backend/src/server/api/endpoints/admin/reset-password.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: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 76032cfb3d..ea22f9eeb9 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 f29ebc7fd3..6267fb97b2 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 5d982b5093..5c916fe340 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 = {
diff --git a/packages/backend/src/server/api/endpoints/ap/get.ts b/packages/backend/src/server/api/endpoints/ap/get.ts
index a4a7fd2037..e0ef5d413a 100644
--- a/packages/backend/src/server/api/endpoints/ap/get.ts
+++ b/packages/backend/src/server/api/endpoints/ap/get.ts
@@ -12,6 +12,7 @@ export const meta = {
tags: ['federation'],
requireCredential: true,
+ kind: 'read:federation',
limit: {
duration: ms('1hour'),
diff --git a/packages/backend/src/server/api/endpoints/ap/show.ts b/packages/backend/src/server/api/endpoints/ap/show.ts
index 6cdd617561..8ab16880fa 100644
--- a/packages/backend/src/server/api/endpoints/ap/show.ts
+++ b/packages/backend/src/server/api/endpoints/ap/show.ts
@@ -25,6 +25,7 @@ export const meta = {
tags: ['federation'],
requireCredential: true,
+ kind: 'read:account',
limit: {
duration: ms('1minute'),
diff --git a/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts b/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
index c0aa882088..e6198ff601 100644
--- a/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
+++ b/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
@@ -11,7 +11,7 @@ import { GetterService } from '@/server/api/GetterService.js';
export const meta = {
tags: ['federation'],
- requireCredential: true,
+ requireCredential: false,
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/fetch-external-resources.ts b/packages/backend/src/server/api/endpoints/fetch-external-resources.ts
index 6391a2f580..cbe579eb6b 100644
--- a/packages/backend/src/server/api/endpoints/fetch-external-resources.ts
+++ b/packages/backend/src/server/api/endpoints/fetch-external-resources.ts
@@ -14,6 +14,7 @@ export const meta = {
tags: ['meta'],
requireCredential: true,
+ secure: true,
limit: {
duration: ms('1hour'),
diff --git a/packages/backend/src/server/api/endpoints/i.ts b/packages/backend/src/server/api/endpoints/i.ts
index c0530bf392..c24e049180 100644
--- a/packages/backend/src/server/api/endpoints/i.ts
+++ b/packages/backend/src/server/api/endpoints/i.ts
@@ -14,6 +14,7 @@ export const meta = {
tags: ['account'],
requireCredential: true,
+ kind: "read:account",
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/i/claim-achievement.ts b/packages/backend/src/server/api/endpoints/i/claim-achievement.ts
index 303c0a7f87..3580d6ba1b 100644
--- a/packages/backend/src/server/api/endpoints/i/claim-achievement.ts
+++ b/packages/backend/src/server/api/endpoints/i/claim-achievement.ts
@@ -11,6 +11,7 @@ import { MetaService } from '@/core/MetaService.js';
export const meta = {
requireCredential: true,
prohibitMoved: true,
+ kind: 'write:account',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/i/registry/get-all.ts b/packages/backend/src/server/api/endpoints/i/registry/get-all.ts
index bd6e85a074..79a81cb73f 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/get-all.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/get-all.ts
@@ -9,6 +9,7 @@ import { RegistryApiService } from '@/core/RegistryApiService.js';
export const meta = {
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'object',
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 2352beb130..d9b26cab2c 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
@@ -10,6 +10,7 @@ import { ApiError } from '../../../error.js';
export const meta = {
requireCredential: true,
+ kind: 'read:account',
errors: {
noSuchKey: {
diff --git a/packages/backend/src/server/api/endpoints/i/registry/get.ts b/packages/backend/src/server/api/endpoints/i/registry/get.ts
index 4155a43e0d..c373410256 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/get.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/get.ts
@@ -10,6 +10,7 @@ import { ApiError } from '../../../error.js';
export const meta = {
requireCredential: true,
+ kind: 'read:account',
errors: {
noSuchKey: {
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 b411cdd3d9..a91dcd9543 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
@@ -9,6 +9,7 @@ import { RegistryApiService } from '@/core/RegistryApiService.js';
export const meta = {
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'object',
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 04e120d752..ad203d5203 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/keys.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/keys.ts
@@ -9,6 +9,7 @@ import { RegistryApiService } from '@/core/RegistryApiService.js';
export const meta = {
requireCredential: true,
+ kind: 'read:account',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/i/registry/remove.ts b/packages/backend/src/server/api/endpoints/i/registry/remove.ts
index ba8100b547..9cbe271b91 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/remove.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/remove.ts
@@ -12,6 +12,7 @@ import { ApiError } from '../../../error.js';
export const meta = {
requireCredential: true,
+ kind: 'write:account',
errors: {
noSuchKey: {
diff --git a/packages/backend/src/server/api/endpoints/i/registry/set.ts b/packages/backend/src/server/api/endpoints/i/registry/set.ts
index 58bb450bce..c61d5b8727 100644
--- a/packages/backend/src/server/api/endpoints/i/registry/set.ts
+++ b/packages/backend/src/server/api/endpoints/i/registry/set.ts
@@ -9,6 +9,7 @@ import { RegistryApiService } from '@/core/RegistryApiService.js';
export const meta = {
requireCredential: true,
+ kind: 'write:account',
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/invite/create.ts b/packages/backend/src/server/api/endpoints/invite/create.ts
index d82fa50e4f..4f37f2f4bb 100644
--- a/packages/backend/src/server/api/endpoints/invite/create.ts
+++ b/packages/backend/src/server/api/endpoints/invite/create.ts
@@ -19,6 +19,7 @@ export const meta = {
requireCredential: true,
requireRolePolicy: 'canInvite',
+ kind: 'write:invite-codes',
errors: {
exceededCreateLimit: {
diff --git a/packages/backend/src/server/api/endpoints/invite/delete.ts b/packages/backend/src/server/api/endpoints/invite/delete.ts
index 3b57775739..d84430a49f 100644
--- a/packages/backend/src/server/api/endpoints/invite/delete.ts
+++ b/packages/backend/src/server/api/endpoints/invite/delete.ts
@@ -15,6 +15,7 @@ export const meta = {
requireCredential: true,
requireRolePolicy: 'canInvite',
+ kind: 'write:invite-codes',
errors: {
noSuchCode: {
diff --git a/packages/backend/src/server/api/endpoints/invite/limit.ts b/packages/backend/src/server/api/endpoints/invite/limit.ts
index 1f4190c948..fc3bb9bdc2 100644
--- a/packages/backend/src/server/api/endpoints/invite/limit.ts
+++ b/packages/backend/src/server/api/endpoints/invite/limit.ts
@@ -16,6 +16,7 @@ export const meta = {
requireCredential: true,
requireRolePolicy: 'canInvite',
+ kind: 'read:invite-codes',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/invite/list.ts b/packages/backend/src/server/api/endpoints/invite/list.ts
index 2107516ce4..6734f27e14 100644
--- a/packages/backend/src/server/api/endpoints/invite/list.ts
+++ b/packages/backend/src/server/api/endpoints/invite/list.ts
@@ -15,6 +15,7 @@ export const meta = {
requireCredential: true,
requireRolePolicy: 'canInvite',
+ kind: 'read:invite-codes',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/my/apps.ts b/packages/backend/src/server/api/endpoints/my/apps.ts
index 98c317346f..1b70b85b07 100644
--- a/packages/backend/src/server/api/endpoints/my/apps.ts
+++ b/packages/backend/src/server/api/endpoints/my/apps.ts
@@ -13,6 +13,7 @@ export const meta = {
tags: ['account', 'app'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts b/packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts
index 48b8a3f4b6..13cfb31ad0 100644
--- a/packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts
+++ b/packages/backend/src/server/api/endpoints/notes/hybrid-timeline.ts
@@ -25,6 +25,7 @@ export const meta = {
tags: ['notes'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/notes/mentions.ts b/packages/backend/src/server/api/endpoints/notes/mentions.ts
index 6fab024d17..2317f8f7b2 100644
--- a/packages/backend/src/server/api/endpoints/notes/mentions.ts
+++ b/packages/backend/src/server/api/endpoints/notes/mentions.ts
@@ -16,6 +16,7 @@ export const meta = {
tags: ['notes'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts b/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts
index af7ff8bdcd..90af29a695 100644
--- a/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts
+++ b/packages/backend/src/server/api/endpoints/notes/polls/recommendation.ts
@@ -14,6 +14,7 @@ export const meta = {
tags: ['notes'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/notes/state.ts b/packages/backend/src/server/api/endpoints/notes/state.ts
index b5fd47723c..20faea566d 100644
--- a/packages/backend/src/server/api/endpoints/notes/state.ts
+++ b/packages/backend/src/server/api/endpoints/notes/state.ts
@@ -12,6 +12,7 @@ export const meta = {
tags: ['notes'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/notes/timeline.ts b/packages/backend/src/server/api/endpoints/notes/timeline.ts
index 8e2de0cd37..3dcebe7e29 100644
--- a/packages/backend/src/server/api/endpoints/notes/timeline.ts
+++ b/packages/backend/src/server/api/endpoints/notes/timeline.ts
@@ -22,6 +22,7 @@ export const meta = {
tags: ['notes'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/notes/translate.ts b/packages/backend/src/server/api/endpoints/notes/translate.ts
index d46bd69795..698c37b616 100644
--- a/packages/backend/src/server/api/endpoints/notes/translate.ts
+++ b/packages/backend/src/server/api/endpoints/notes/translate.ts
@@ -17,6 +17,7 @@ export const meta = {
tags: ['notes'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'object',
diff --git a/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts b/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts
index 10d3a7a697..71c2b8054e 100644
--- a/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts
+++ b/packages/backend/src/server/api/endpoints/notes/user-list-timeline.ts
@@ -22,6 +22,7 @@ export const meta = {
tags: ['notes', 'lists'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/promo/read.ts b/packages/backend/src/server/api/endpoints/promo/read.ts
index 7d07c92178..f427939a7a 100644
--- a/packages/backend/src/server/api/endpoints/promo/read.ts
+++ b/packages/backend/src/server/api/endpoints/promo/read.ts
@@ -15,6 +15,7 @@ export const meta = {
tags: ['notes'],
requireCredential: true,
+ kind: 'write:account',
errors: {
noSuchNote: {
diff --git a/packages/backend/src/server/api/endpoints/roles/list.ts b/packages/backend/src/server/api/endpoints/roles/list.ts
index dc2be8e11d..d40e937d4e 100644
--- a/packages/backend/src/server/api/endpoints/roles/list.ts
+++ b/packages/backend/src/server/api/endpoints/roles/list.ts
@@ -13,6 +13,7 @@ export const meta = {
tags: ['role'],
requireCredential: true,
+ kind: 'read:account',
res: {
type: 'array',
diff --git a/packages/backend/src/server/api/endpoints/roles/notes.ts b/packages/backend/src/server/api/endpoints/roles/notes.ts
index 7010df22c9..4ce3fc8908 100644
--- a/packages/backend/src/server/api/endpoints/roles/notes.ts
+++ b/packages/backend/src/server/api/endpoints/roles/notes.ts
@@ -18,6 +18,7 @@ export const meta = {
tags: ['role', 'notes'],
requireCredential: true,
+ kind: 'read:account',
errors: {
noSuchRole: {
diff --git a/packages/backend/src/server/api/endpoints/sw/register.ts b/packages/backend/src/server/api/endpoints/sw/register.ts
index 9ab062326d..bb50048d94 100644
--- a/packages/backend/src/server/api/endpoints/sw/register.ts
+++ b/packages/backend/src/server/api/endpoints/sw/register.ts
@@ -14,6 +14,7 @@ export const meta = {
tags: ['account'],
requireCredential: true,
+ secure: true,
description: 'Register to receive push notifications.',
diff --git a/packages/backend/src/server/api/endpoints/sw/show-registration.ts b/packages/backend/src/server/api/endpoints/sw/show-registration.ts
index 126299e3f7..15d3df8587 100644
--- a/packages/backend/src/server/api/endpoints/sw/show-registration.ts
+++ b/packages/backend/src/server/api/endpoints/sw/show-registration.ts
@@ -12,6 +12,7 @@ export const meta = {
tags: ['account'],
requireCredential: true,
+ secure: true,
description: 'Check push notification registration exists.',
diff --git a/packages/backend/src/server/api/endpoints/sw/update-registration.ts b/packages/backend/src/server/api/endpoints/sw/update-registration.ts
index a1a97df0be..7bf59784a2 100644
--- a/packages/backend/src/server/api/endpoints/sw/update-registration.ts
+++ b/packages/backend/src/server/api/endpoints/sw/update-registration.ts
@@ -13,6 +13,7 @@ export const meta = {
tags: ['account'],
requireCredential: true,
+ secure: true,
description: 'Update push notification registration.',
diff --git a/packages/backend/src/server/api/endpoints/users/achievements.ts b/packages/backend/src/server/api/endpoints/users/achievements.ts
index d6ad718dfa..3a584a819a 100644
--- a/packages/backend/src/server/api/endpoints/users/achievements.ts
+++ b/packages/backend/src/server/api/endpoints/users/achievements.ts
@@ -9,7 +9,7 @@ import type { UserProfilesRepository } from '@/models/_.js';
import { DI } from '@/di-symbols.js';
export const meta = {
- requireCredential: true,
+ requireCredential: false,
res: {
type: 'array',
@@ -24,7 +24,7 @@ export const meta = {
},
},
},
- }
+ },
} as const;
export const paramDef = {
diff --git a/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts b/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts
index 4eb37c3e43..fa2e3338b8 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/create-from-public.ts
@@ -18,6 +18,7 @@ import { UserListService } from '@/core/UserListService.js';
export const meta = {
requireCredential: true,
prohibitMoved: true,
+ kind: 'write:account',
res: {
type: 'object',
optional: false, nullable: false,
diff --git a/packages/backend/src/server/api/endpoints/users/lists/favorite.ts b/packages/backend/src/server/api/endpoints/users/lists/favorite.ts
index 2ecf0a1256..864cdc2ee0 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/favorite.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/favorite.ts
@@ -12,6 +12,7 @@ import { DI } from '@/di-symbols.js';
export const meta = {
requireCredential: true,
+ kind: 'write:account',
errors: {
noSuchList: {
message: 'No such user list.',
diff --git a/packages/backend/src/server/api/endpoints/users/lists/unfavorite.ts b/packages/backend/src/server/api/endpoints/users/lists/unfavorite.ts
index 23611ab8c4..d51d57343e 100644
--- a/packages/backend/src/server/api/endpoints/users/lists/unfavorite.ts
+++ b/packages/backend/src/server/api/endpoints/users/lists/unfavorite.ts
@@ -11,6 +11,7 @@ import { DI } from '@/di-symbols.js';
export const meta = {
requireCredential: true,
+ kind: 'write:account',
errors: {
noSuchList: {
message: 'No such user list.',
diff --git a/packages/backend/src/server/api/endpoints/users/relation.ts b/packages/backend/src/server/api/endpoints/users/relation.ts
index 326042ed3d..26b61c9fb2 100644
--- a/packages/backend/src/server/api/endpoints/users/relation.ts
+++ b/packages/backend/src/server/api/endpoints/users/relation.ts
@@ -11,6 +11,7 @@ export const meta = {
tags: ['users'],
requireCredential: true,
+ kind: 'read:account',
description: 'Show the different kinds of relations between the authenticated user and the specified user(s).',
diff --git a/packages/backend/src/server/api/endpoints/users/report-abuse.ts b/packages/backend/src/server/api/endpoints/users/report-abuse.ts
index 649802744f..bdaf78758b 100644
--- a/packages/backend/src/server/api/endpoints/users/report-abuse.ts
+++ b/packages/backend/src/server/api/endpoints/users/report-abuse.ts
@@ -20,6 +20,7 @@ export const meta = {
tags: ['users'],
requireCredential: true,
+ kind: 'write:report-abuse',
description: 'File a report.',