From 16726789da8c20d35f127afff9d37f1c25575765 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 17 Jul 2018 04:36:44 +0900 Subject: [PATCH] Update api definitions --- src/server/api/endpoints/app/create.ts | 4 ++++ src/server/api/endpoints/auth/accept.ts | 5 +++++ src/server/api/endpoints/drive.ts | 14 ++++++++++--- src/server/api/endpoints/drive/files.ts | 14 ++++++++++--- .../api/endpoints/drive/files/create.ts | 3 ++- .../api/endpoints/drive/files/delete.ts | 14 ++++++++++--- src/server/api/endpoints/drive/files/find.ts | 9 ++++++--- src/server/api/endpoints/drive/files/show.ts | 14 ++++++++++--- .../api/endpoints/drive/files/update.ts | 14 ++++++++++--- .../endpoints/drive/files/upload_from_url.ts | 19 +++++++++++++++--- src/server/api/endpoints/drive/folders.ts | 14 ++++++++++--- .../api/endpoints/drive/folders/create.ts | 14 ++++++++++--- .../api/endpoints/drive/folders/find.ts | 9 ++++++--- .../api/endpoints/drive/folders/show.ts | 13 +++++++++--- .../api/endpoints/drive/folders/update.ts | 14 ++++++++++--- src/server/api/endpoints/drive/stream.ts | 9 ++++++--- src/server/api/endpoints/following/create.ts | 20 ++++++++++++++++--- src/server/api/endpoints/following/delete.ts | 20 ++++++++++++++++--- .../endpoints/following/requests/accept.ts | 14 ++++++++++--- .../endpoints/following/requests/cancel.ts | 14 ++++++++++--- .../api/endpoints/following/requests/list.ts | 14 ++++++++++--- .../endpoints/following/requests/reject.ts | 14 ++++++++++--- src/server/api/endpoints/following/stalk.ts | 14 ++++++++++--- src/server/api/endpoints/following/unstalk.ts | 14 ++++++++++--- .../api/endpoints/games/reversi/games.ts | 4 ++++ .../endpoints/games/reversi/invitations.ts | 4 ++++ .../api/endpoints/games/reversi/match.ts | 4 ++++ .../endpoints/games/reversi/match/cancel.ts | 4 ++++ src/server/api/endpoints/i/2fa/done.ts | 5 +++++ src/server/api/endpoints/i/2fa/register.ts | 5 +++++ src/server/api/endpoints/i/2fa/unregister.ts | 5 +++++ src/server/api/endpoints/i/authorized_apps.ts | 8 +++++--- src/server/api/endpoints/i/change_password.ts | 8 +++++--- src/server/api/endpoints/i/favorites.ts | 14 ++++++++++--- .../api/endpoints/i/regenerate_token.ts | 8 +++++--- src/server/api/endpoints/i/signin_history.ts | 8 +++++--- src/server/api/endpoints/i/update.ts | 14 ++++++++++--- .../api/endpoints/i/update_client_setting.ts | 8 +++++--- src/server/api/endpoints/i/update_home.ts | 5 +++++ .../api/endpoints/i/update_mobile_home.ts | 5 +++++ src/server/api/endpoints/i/update_widget.ts | 5 +++++ src/server/api/endpoints/messaging/history.ts | 14 ++++++++++--- .../api/endpoints/messaging/messages.ts | 14 ++++++++++--- .../endpoints/messaging/messages/create.ts | 14 ++++++++++--- src/server/api/endpoints/mute/create.ts | 14 ++++++++++--- src/server/api/endpoints/mute/delete.ts | 14 ++++++++++--- src/server/api/endpoints/mute/list.ts | 14 ++++++++++--- src/server/api/endpoints/my/apps.ts | 12 ++++++++--- src/server/api/endpoints/notes/delete.ts | 14 ++++++++++--- .../api/endpoints/notes/favorites/create.ts | 14 ++++++++++--- .../api/endpoints/notes/favorites/delete.ts | 14 ++++++++++--- src/server/api/endpoints/notes/mentions.ts | 12 ++++++++--- .../endpoints/notes/polls/recommendation.ts | 12 ++++++++--- src/server/api/endpoints/notes/polls/vote.ts | 14 ++++++++++--- src/server/api/endpoints/notes/reactions.ts | 15 +++++++++----- .../api/endpoints/notes/reactions/create.ts | 12 +++++------ .../api/endpoints/notes/reactions/delete.ts | 14 ++++++++++--- src/server/api/endpoints/notes/trend.ts | 12 ++++++++--- .../api/endpoints/notes/user-list-timeline.ts | 12 ++++++++--- .../notifications/mark_as_read_all.ts | 11 ++++++++++ src/server/api/endpoints/sw/register.ts | 4 ++++ .../api/endpoints/users/lists/create.ts | 14 ++++++++++--- src/server/api/endpoints/users/lists/list.ts | 13 +++++++++--- src/server/api/endpoints/users/lists/push.ts | 11 ++++++++++ src/server/api/endpoints/users/lists/show.ts | 14 ++++++++++--- .../api/endpoints/users/recommendation.ts | 13 +++++++++--- 66 files changed, 586 insertions(+), 156 deletions(-) diff --git a/src/server/api/endpoints/app/create.ts b/src/server/api/endpoints/app/create.ts index 3b3eafa699..82a2fcb55e 100644 --- a/src/server/api/endpoints/app/create.ts +++ b/src/server/api/endpoints/app/create.ts @@ -3,6 +3,10 @@ import $ from 'cafy'; import App, { isValidNameId, pack } from '../../../../models/app'; import { ILocalUser } from '../../../../models/user'; +export const meta = { + requireCredential: true +}; + /** * @swagger * /app/create: diff --git a/src/server/api/endpoints/auth/accept.ts b/src/server/api/endpoints/auth/accept.ts index d14c853415..2638ebc148 100644 --- a/src/server/api/endpoints/auth/accept.ts +++ b/src/server/api/endpoints/auth/accept.ts @@ -6,6 +6,11 @@ import AuthSess from '../../../../models/auth-session'; import AccessToken from '../../../../models/access-token'; import { ILocalUser } from '../../../../models/user'; +export const meta = { + requireCredential: true, + secure: true +}; + /** * @swagger * /auth/accept: diff --git a/src/server/api/endpoints/drive.ts b/src/server/api/endpoints/drive.ts index 66ac30c4cf..a98a3a5b87 100644 --- a/src/server/api/endpoints/drive.ts +++ b/src/server/api/endpoints/drive.ts @@ -1,9 +1,17 @@ import DriveFile from '../../../models/drive-file'; import { ILocalUser } from '../../../models/user'; -/** - * Get drive information - */ +export const meta = { + desc: { + ja: 'ドライブの情報を取得します。', + en: 'Get drive information.' + }, + + requireCredential: true, + + kind: 'drive-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Calculate drive usage const usage = await DriveFile diff --git a/src/server/api/endpoints/drive/files.ts b/src/server/api/endpoints/drive/files.ts index 000e4dcdd2..063b4adde1 100644 --- a/src/server/api/endpoints/drive/files.ts +++ b/src/server/api/endpoints/drive/files.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import DriveFile, { pack } from '../../../../models/drive-file'; import { ILocalUser } from '../../../../models/user'; -/** - * Get drive files - */ +export const meta = { + desc: { + ja: 'ドライブのファイル一覧を取得します。', + en: 'Get files of drive.' + }, + + requireCredential: true, + + kind: 'drive-read' +}; + export default async (params: any, user: ILocalUser) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/drive/files/create.ts b/src/server/api/endpoints/drive/files/create.ts index c5eb29e1af..ca12be9104 100644 --- a/src/server/api/endpoints/drive/files/create.ts +++ b/src/server/api/endpoints/drive/files/create.ts @@ -8,7 +8,8 @@ import getParams from '../../../get-params'; export const meta = { desc: { - ja: 'ドライブにファイルをアップロードします。' + ja: 'ドライブにファイルをアップロードします。', + en: 'Upload a file to drive.' }, requireCredential: true, diff --git a/src/server/api/endpoints/drive/files/delete.ts b/src/server/api/endpoints/drive/files/delete.ts index 8a63be0e2f..02cd96dd8f 100644 --- a/src/server/api/endpoints/drive/files/delete.ts +++ b/src/server/api/endpoints/drive/files/delete.ts @@ -4,9 +4,17 @@ import del from '../../../../../services/drive/delete-file'; import { publishDriveStream } from '../../../../../stream'; import { ILocalUser } from '../../../../../models/user'; -/** - * Delete a file - */ +export const meta = { + desc: { + ja: 'ドライブのファイルを削除します。', + en: 'Delete a file of drive.' + }, + + requireCredential: true, + + kind: 'drive-write' +}; + export default async (params: any, user: ILocalUser) => { // Get 'fileId' parameter const [fileId, fileIdErr] = $.type(ID).get(params.fileId); diff --git a/src/server/api/endpoints/drive/files/find.ts b/src/server/api/endpoints/drive/files/find.ts index 8b166e2dbc..aa44ee688e 100644 --- a/src/server/api/endpoints/drive/files/find.ts +++ b/src/server/api/endpoints/drive/files/find.ts @@ -2,9 +2,12 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import DriveFile, { pack } from '../../../../../models/drive-file'; import { ILocalUser } from '../../../../../models/user'; -/** - * Find a file(s) - */ +export const meta = { + requireCredential: true, + + kind: 'drive-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'name' parameter const [name, nameErr] = $.str.get(params.name); diff --git a/src/server/api/endpoints/drive/files/show.ts b/src/server/api/endpoints/drive/files/show.ts index 02faa6d5a7..6a66c7a272 100644 --- a/src/server/api/endpoints/drive/files/show.ts +++ b/src/server/api/endpoints/drive/files/show.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import DriveFile, { pack } from '../../../../../models/drive-file'; import { ILocalUser } from '../../../../../models/user'; -/** - * Show a file - */ +export const meta = { + desc: { + ja: '指定したドライブのファイルの情報を取得します。', + en: 'Get specified file of drive.' + }, + + requireCredential: true, + + kind: 'drive-read' +}; + export default async (params: any, user: ILocalUser) => { // Get 'fileId' parameter const [fileId, fileIdErr] = $.type(ID).get(params.fileId); diff --git a/src/server/api/endpoints/drive/files/update.ts b/src/server/api/endpoints/drive/files/update.ts index 95dd6c2acc..396bc97694 100644 --- a/src/server/api/endpoints/drive/files/update.ts +++ b/src/server/api/endpoints/drive/files/update.ts @@ -4,9 +4,17 @@ import DriveFile, { validateFileName, pack } from '../../../../../models/drive-f import { publishDriveStream } from '../../../../../stream'; import { ILocalUser } from '../../../../../models/user'; -/** - * Update a file - */ +export const meta = { + desc: { + ja: '指定したドライブのファイルの情報を更新します。', + en: 'Update specified file of drive.' + }, + + requireCredential: true, + + kind: 'drive-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'fileId' parameter const [fileId, fileIdErr] = $.type(ID).get(params.fileId); diff --git a/src/server/api/endpoints/drive/files/upload_from_url.ts b/src/server/api/endpoints/drive/files/upload_from_url.ts index 4af365c394..d634cf46db 100644 --- a/src/server/api/endpoints/drive/files/upload_from_url.ts +++ b/src/server/api/endpoints/drive/files/upload_from_url.ts @@ -1,11 +1,24 @@ -/** - * Module dependencies - */ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; +const ms = require('ms'); import { pack } from '../../../../../models/drive-file'; import uploadFromUrl from '../../../../../services/drive/upload-from-url'; import { ILocalUser } from '../../../../../models/user'; +export const meta = { + desc: { + ja: 'ドライブに指定されたURLに存在するファイルをアップロードします。' + }, + + limit: { + duration: ms('1hour'), + max: 10 + }, + + requireCredential: true, + + kind: 'drive-write' +}; + /** * Create a file from a URL */ diff --git a/src/server/api/endpoints/drive/folders.ts b/src/server/api/endpoints/drive/folders.ts index f1817ec42f..de398eb720 100644 --- a/src/server/api/endpoints/drive/folders.ts +++ b/src/server/api/endpoints/drive/folders.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import DriveFolder, { pack } from '../../../../models/drive-folder'; import { ILocalUser } from '../../../../models/user'; -/** - * Get drive folders - */ +export const meta = { + desc: { + ja: 'ドライブのフォルダ一覧を取得します。', + en: 'Get folders of drive.' + }, + + requireCredential: true, + + kind: 'drive-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/drive/folders/create.ts b/src/server/api/endpoints/drive/folders/create.ts index 6205691e15..03f9504774 100644 --- a/src/server/api/endpoints/drive/folders/create.ts +++ b/src/server/api/endpoints/drive/folders/create.ts @@ -3,9 +3,17 @@ import DriveFolder, { isValidFolderName, pack } from '../../../../../models/driv import { publishDriveStream } from '../../../../../stream'; import { ILocalUser } from '../../../../../models/user'; -/** - * Create drive folder - */ +export const meta = { + desc: { + ja: 'ドライブのフォルダを作成します。', + en: 'Create a folder of drive.' + }, + + requireCredential: true, + + kind: 'drive-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'name' parameter const [name = '無題のフォルダー', nameErr] = $.str.optional.pipe(isValidFolderName).get(params.name); diff --git a/src/server/api/endpoints/drive/folders/find.ts b/src/server/api/endpoints/drive/folders/find.ts index 64065d9379..ec3c1d2e36 100644 --- a/src/server/api/endpoints/drive/folders/find.ts +++ b/src/server/api/endpoints/drive/folders/find.ts @@ -2,9 +2,12 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import DriveFolder, { pack } from '../../../../../models/drive-folder'; import { ILocalUser } from '../../../../../models/user'; -/** - * Find a folder(s) - */ +export const meta = { + requireCredential: true, + + kind: 'drive-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'name' parameter const [name, nameErr] = $.str.get(params.name); diff --git a/src/server/api/endpoints/drive/folders/show.ts b/src/server/api/endpoints/drive/folders/show.ts index 5f56606215..6a6c879a01 100644 --- a/src/server/api/endpoints/drive/folders/show.ts +++ b/src/server/api/endpoints/drive/folders/show.ts @@ -2,9 +2,16 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import DriveFolder, { pack } from '../../../../../models/drive-folder'; import { ILocalUser } from '../../../../../models/user'; -/** - * Show a folder - */ +export const meta = { + desc: { + ja: '指定したドライブのフォルダの情報を取得します。' + }, + + requireCredential: true, + + kind: 'drive-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'folderId' parameter const [folderId, folderIdErr] = $.type(ID).get(params.folderId); diff --git a/src/server/api/endpoints/drive/folders/update.ts b/src/server/api/endpoints/drive/folders/update.ts index b833655974..1b449428a6 100644 --- a/src/server/api/endpoints/drive/folders/update.ts +++ b/src/server/api/endpoints/drive/folders/update.ts @@ -3,9 +3,17 @@ import DriveFolder, { isValidFolderName, pack } from '../../../../../models/driv import { publishDriveStream } from '../../../../../stream'; import { ILocalUser } from '../../../../../models/user'; -/** - * Update a folder - */ +export const meta = { + desc: { + ja: '指定したドライブのフォルダの情報を更新します。', + en: 'Update specified folder of drive.' + }, + + requireCredential: true, + + kind: 'drive-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'folderId' parameter const [folderId, folderIdErr] = $.type(ID).get(params.folderId); diff --git a/src/server/api/endpoints/drive/stream.ts b/src/server/api/endpoints/drive/stream.ts index 39c878a1f8..53f94a2639 100644 --- a/src/server/api/endpoints/drive/stream.ts +++ b/src/server/api/endpoints/drive/stream.ts @@ -2,9 +2,12 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import DriveFile, { pack } from '../../../../models/drive-file'; import { ILocalUser } from '../../../../models/user'; -/** - * Get drive stream - */ +export const meta = { + requireCredential: true, + + kind: 'drive-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/following/create.ts b/src/server/api/endpoints/following/create.ts index a902af023f..ebe319e0cf 100644 --- a/src/server/api/endpoints/following/create.ts +++ b/src/server/api/endpoints/following/create.ts @@ -1,11 +1,25 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; +const ms = require('ms'); import User, { pack, ILocalUser } from '../../../../models/user'; import Following from '../../../../models/following'; import create from '../../../../services/following/create'; -/** - * Follow a user - */ +export const meta = { + desc: { + ja: '指定したユーザーをフォローします。', + en: 'Follow a user.' + }, + + limit: { + duration: ms('1hour'), + max: 100 + }, + + requireCredential: true, + + kind: 'following-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const follower = user; diff --git a/src/server/api/endpoints/following/delete.ts b/src/server/api/endpoints/following/delete.ts index f1d29e80b2..4806fe4e39 100644 --- a/src/server/api/endpoints/following/delete.ts +++ b/src/server/api/endpoints/following/delete.ts @@ -1,11 +1,25 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; +const ms = require('ms'); import User, { pack, ILocalUser } from '../../../../models/user'; import Following from '../../../../models/following'; import deleteFollowing from '../../../../services/following/delete'; -/** - * Unfollow a user - */ +export const meta = { + desc: { + ja: '指定したユーザーのフォローを解除します。', + en: 'Unfollow a user.' + }, + + limit: { + duration: ms('1hour'), + max: 100 + }, + + requireCredential: true, + + kind: 'following-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const follower = user; diff --git a/src/server/api/endpoints/following/requests/accept.ts b/src/server/api/endpoints/following/requests/accept.ts index 49c29160b1..b3bf2dd667 100644 --- a/src/server/api/endpoints/following/requests/accept.ts +++ b/src/server/api/endpoints/following/requests/accept.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import acceptFollowRequest from '../../../../../services/following/requests/accept'; import User, { ILocalUser } from '../../../../../models/user'; -/** - * Accept a follow request - */ +export const meta = { + desc: { + ja: '自分に届いた、指定したフォローリクエストを承認します。', + en: 'Accept a follow request.' + }, + + requireCredential: true, + + kind: 'following-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'userId' parameter const [followerId, followerIdErr] = $.type(ID).get(params.userId); diff --git a/src/server/api/endpoints/following/requests/cancel.ts b/src/server/api/endpoints/following/requests/cancel.ts index 6c3539d757..9bfc40ce65 100644 --- a/src/server/api/endpoints/following/requests/cancel.ts +++ b/src/server/api/endpoints/following/requests/cancel.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import cancelFollowRequest from '../../../../../services/following/requests/cancel'; import User, { pack, ILocalUser } from '../../../../../models/user'; -/** - * Cancel a follow request - */ +export const meta = { + desc: { + ja: '自分が作成した、指定したフォローリクエストをキャンセルします。', + en: 'Cancel a follow request.' + }, + + requireCredential: true, + + kind: 'following-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'userId' parameter const [followeeId, followeeIdErr] = $.type(ID).get(params.userId); diff --git a/src/server/api/endpoints/following/requests/list.ts b/src/server/api/endpoints/following/requests/list.ts index dfe9858f3a..b06a158c08 100644 --- a/src/server/api/endpoints/following/requests/list.ts +++ b/src/server/api/endpoints/following/requests/list.ts @@ -2,9 +2,17 @@ import FollowRequest, { pack } from '../../../../../models/follow-request'; import { ILocalUser } from '../../../../../models/user'; -/** - * Get all pending received follow requests - */ +export const meta = { + desc: { + ja: '自分に届いたフォローリクエストの一覧を取得します。', + en: 'Get all pending received follow requests.' + }, + + requireCredential: true, + + kind: 'following-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const reqs = await FollowRequest.find({ followeeId: user._id diff --git a/src/server/api/endpoints/following/requests/reject.ts b/src/server/api/endpoints/following/requests/reject.ts index f92ea52d46..a232549bb8 100644 --- a/src/server/api/endpoints/following/requests/reject.ts +++ b/src/server/api/endpoints/following/requests/reject.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import rejectFollowRequest from '../../../../../services/following/requests/reject'; import User, { ILocalUser } from '../../../../../models/user'; -/** - * Reject a follow request - */ +export const meta = { + desc: { + ja: '自分に届いた、指定したフォローリクエストを拒否します。', + en: 'Reject a follow request.' + }, + + requireCredential: true, + + kind: 'following-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'userId' parameter const [followerId, followerIdErr] = $.type(ID).get(params.userId); diff --git a/src/server/api/endpoints/following/stalk.ts b/src/server/api/endpoints/following/stalk.ts index eb4afb3116..79a3fb976c 100644 --- a/src/server/api/endpoints/following/stalk.ts +++ b/src/server/api/endpoints/following/stalk.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import Following from '../../../../models/following'; import { ILocalUser } from '../../../../models/user'; -/** - * Stalk a user - */ +export const meta = { + desc: { + ja: '指定したユーザーをストーキングします。', + en: 'Stalk a user.' + }, + + requireCredential: true, + + kind: 'following-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const follower = user; diff --git a/src/server/api/endpoints/following/unstalk.ts b/src/server/api/endpoints/following/unstalk.ts index b44ef68b96..71a7a97eeb 100644 --- a/src/server/api/endpoints/following/unstalk.ts +++ b/src/server/api/endpoints/following/unstalk.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import Following from '../../../../models/following'; import { ILocalUser } from '../../../../models/user'; -/** - * Unstalk a user - */ +export const meta = { + desc: { + ja: '指定したユーザーのストーキングをやめます。', + en: 'Unstalk a user.' + }, + + requireCredential: true, + + kind: 'following-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const follower = user; diff --git a/src/server/api/endpoints/games/reversi/games.ts b/src/server/api/endpoints/games/reversi/games.ts index 50a8faa88c..b72af06d22 100644 --- a/src/server/api/endpoints/games/reversi/games.ts +++ b/src/server/api/endpoints/games/reversi/games.ts @@ -2,6 +2,10 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import ReversiGame, { pack } from '../../../../../models/games/reversi/game'; import { ILocalUser } from '../../../../../models/user'; +export const meta = { + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'my' parameter const [my = false, myErr] = $.bool.optional.get(params.my); diff --git a/src/server/api/endpoints/games/reversi/invitations.ts b/src/server/api/endpoints/games/reversi/invitations.ts index c6d0ecfa73..3962282759 100644 --- a/src/server/api/endpoints/games/reversi/invitations.ts +++ b/src/server/api/endpoints/games/reversi/invitations.ts @@ -1,6 +1,10 @@ import Matching, { pack as packMatching } from '../../../../../models/games/reversi/matching'; import { ILocalUser } from '../../../../../models/user'; +export const meta = { + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Find session const invitations = await Matching.find({ diff --git a/src/server/api/endpoints/games/reversi/match.ts b/src/server/api/endpoints/games/reversi/match.ts index 4364531516..24746170ff 100644 --- a/src/server/api/endpoints/games/reversi/match.ts +++ b/src/server/api/endpoints/games/reversi/match.ts @@ -5,6 +5,10 @@ import User, { ILocalUser } from '../../../../../models/user'; import publishUserStream, { publishReversiStream } from '../../../../../stream'; import { eighteight } from '../../../../../games/reversi/maps'; +export const meta = { + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'userId' parameter const [childId, childIdErr] = $.type(ID).get(params.userId); diff --git a/src/server/api/endpoints/games/reversi/match/cancel.ts b/src/server/api/endpoints/games/reversi/match/cancel.ts index 84cd1ff119..d5c186409c 100644 --- a/src/server/api/endpoints/games/reversi/match/cancel.ts +++ b/src/server/api/endpoints/games/reversi/match/cancel.ts @@ -1,6 +1,10 @@ import Matching from '../../../../../../models/games/reversi/matching'; import { ILocalUser } from '../../../../../../models/user'; +export const meta = { + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { await Matching.remove({ parentId: user._id diff --git a/src/server/api/endpoints/i/2fa/done.ts b/src/server/api/endpoints/i/2fa/done.ts index fef045948a..6d38ca1de1 100644 --- a/src/server/api/endpoints/i/2fa/done.ts +++ b/src/server/api/endpoints/i/2fa/done.ts @@ -2,6 +2,11 @@ import $ from 'cafy'; import * as speakeasy from 'speakeasy'; import User, { ILocalUser } from '../../../../../models/user'; +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'token' parameter const [token, tokenErr] = $.str.get(params.token); diff --git a/src/server/api/endpoints/i/2fa/register.ts b/src/server/api/endpoints/i/2fa/register.ts index ac703f5b0a..0466a4f366 100644 --- a/src/server/api/endpoints/i/2fa/register.ts +++ b/src/server/api/endpoints/i/2fa/register.ts @@ -5,6 +5,11 @@ import * as QRCode from 'qrcode'; import User, { ILocalUser } from '../../../../../models/user'; import config from '../../../../../config'; +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'password' parameter const [password, passwordErr] = $.str.get(params.password); diff --git a/src/server/api/endpoints/i/2fa/unregister.ts b/src/server/api/endpoints/i/2fa/unregister.ts index 7d99ee397d..accf3ea0f2 100644 --- a/src/server/api/endpoints/i/2fa/unregister.ts +++ b/src/server/api/endpoints/i/2fa/unregister.ts @@ -2,6 +2,11 @@ import $ from 'cafy'; import * as bcrypt from 'bcryptjs'; import User, { ILocalUser } from '../../../../../models/user'; +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'password' parameter const [password, passwordErr] = $.str.get(params.password); diff --git a/src/server/api/endpoints/i/authorized_apps.ts b/src/server/api/endpoints/i/authorized_apps.ts index 24c4b58f7f..313bb474f4 100644 --- a/src/server/api/endpoints/i/authorized_apps.ts +++ b/src/server/api/endpoints/i/authorized_apps.ts @@ -3,9 +3,11 @@ import AccessToken from '../../../../models/access-token'; import { pack } from '../../../../models/app'; import { ILocalUser } from '../../../../models/user'; -/** - * Get authorized apps of my account - */ +export const meta = { + requireCredential: true, + secure: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/i/change_password.ts b/src/server/api/endpoints/i/change_password.ts index 698db5a6e4..dc0f060c08 100644 --- a/src/server/api/endpoints/i/change_password.ts +++ b/src/server/api/endpoints/i/change_password.ts @@ -2,9 +2,11 @@ import $ from 'cafy'; import * as bcrypt from 'bcryptjs'; import User, { ILocalUser } from '../../../../models/user'; -/** - * Change password - */ +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'currentPasword' parameter const [currentPassword, currentPasswordErr] = $.str.get(params.currentPasword); diff --git a/src/server/api/endpoints/i/favorites.ts b/src/server/api/endpoints/i/favorites.ts index d37632822a..47c8a87fd9 100644 --- a/src/server/api/endpoints/i/favorites.ts +++ b/src/server/api/endpoints/i/favorites.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import Favorite, { pack } from '../../../../models/favorite'; import { ILocalUser } from '../../../../models/user'; -/** - * Get favorited notes - */ +export const meta = { + desc: { + ja: 'お気に入りに登録した投稿一覧を取得します。', + en: 'Get favorited notes' + }, + + requireCredential: true, + + kind: 'favorites-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/i/regenerate_token.ts b/src/server/api/endpoints/i/regenerate_token.ts index 5c30c4f496..374861daaf 100644 --- a/src/server/api/endpoints/i/regenerate_token.ts +++ b/src/server/api/endpoints/i/regenerate_token.ts @@ -4,9 +4,11 @@ import User, { ILocalUser } from '../../../../models/user'; import event from '../../../../stream'; import generateUserToken from '../../common/generate-native-user-token'; -/** - * Regenerate native token - */ +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'password' parameter const [password, passwordErr] = $.str.get(params.password); diff --git a/src/server/api/endpoints/i/signin_history.ts b/src/server/api/endpoints/i/signin_history.ts index a99a9e81ec..5a3c122f3a 100644 --- a/src/server/api/endpoints/i/signin_history.ts +++ b/src/server/api/endpoints/i/signin_history.ts @@ -2,9 +2,11 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import Signin, { pack } from '../../../../models/signin'; import { ILocalUser } from '../../../../models/user'; -/** - * Get signin history of my account - */ +export const meta = { + requireCredential: true, + secure: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/i/update.ts b/src/server/api/endpoints/i/update.ts index 6d6cf3e4c5..4002bcdc39 100644 --- a/src/server/api/endpoints/i/update.ts +++ b/src/server/api/endpoints/i/update.ts @@ -5,9 +5,17 @@ import DriveFile from '../../../../models/drive-file'; import acceptAllFollowRequests from '../../../../services/following/requests/accept-all'; import { IApp } from '../../../../models/app'; -/** - * Update myself - */ +export const meta = { + desc: { + ja: 'アカウント情報を更新します。', + en: 'Update myself' + }, + + requireCredential: true, + + kind: 'account-write' +}; + export default async (params: any, user: ILocalUser, app: IApp) => new Promise(async (res, rej) => { const isSecure = user != null && app == null; diff --git a/src/server/api/endpoints/i/update_client_setting.ts b/src/server/api/endpoints/i/update_client_setting.ts index affaee37ee..9342f5dadc 100644 --- a/src/server/api/endpoints/i/update_client_setting.ts +++ b/src/server/api/endpoints/i/update_client_setting.ts @@ -2,9 +2,11 @@ import $ from 'cafy'; import User, { ILocalUser } from '../../../../models/user'; import event from '../../../../stream'; -/** - * Update myself - */ +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'name' parameter const [name, nameErr] = $.str.get(params.name); diff --git a/src/server/api/endpoints/i/update_home.ts b/src/server/api/endpoints/i/update_home.ts index c41ae7b3e8..6f39854290 100644 --- a/src/server/api/endpoints/i/update_home.ts +++ b/src/server/api/endpoints/i/update_home.ts @@ -2,6 +2,11 @@ import $ from 'cafy'; import User, { ILocalUser } from '../../../../models/user'; import event from '../../../../stream'; +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'home' parameter const [home, homeErr] = $.arr($.obj({ diff --git a/src/server/api/endpoints/i/update_mobile_home.ts b/src/server/api/endpoints/i/update_mobile_home.ts index ca61e52600..1babe409e9 100644 --- a/src/server/api/endpoints/i/update_mobile_home.ts +++ b/src/server/api/endpoints/i/update_mobile_home.ts @@ -2,6 +2,11 @@ import $ from 'cafy'; import User, { ILocalUser } from '../../../../models/user'; import event from '../../../../stream'; +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'home' parameter const [home, homeErr] = $.arr($.obj({ diff --git a/src/server/api/endpoints/i/update_widget.ts b/src/server/api/endpoints/i/update_widget.ts index a413ca7e9b..5bf9c23053 100644 --- a/src/server/api/endpoints/i/update_widget.ts +++ b/src/server/api/endpoints/i/update_widget.ts @@ -2,6 +2,11 @@ import $ from 'cafy'; import User, { ILocalUser } from '../../../../models/user'; import event from '../../../../stream'; +export const meta = { + requireCredential: true, + secure: true +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'id' parameter const [id, idErr] = $.str.get(params.id); diff --git a/src/server/api/endpoints/messaging/history.ts b/src/server/api/endpoints/messaging/history.ts index a1bd015864..66798d50c5 100644 --- a/src/server/api/endpoints/messaging/history.ts +++ b/src/server/api/endpoints/messaging/history.ts @@ -4,9 +4,17 @@ import Mute from '../../../../models/mute'; import { pack } from '../../../../models/messaging-message'; import { ILocalUser } from '../../../../models/user'; -/** - * Show messaging history - */ +export const meta = { + desc: { + ja: 'Messagingの履歴を取得します。', + en: 'Show messaging history.' + }, + + requireCredential: true, + + kind: 'messaging-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/messaging/messages.ts b/src/server/api/endpoints/messaging/messages.ts index 083fcd83f5..84c28dc0c1 100644 --- a/src/server/api/endpoints/messaging/messages.ts +++ b/src/server/api/endpoints/messaging/messages.ts @@ -4,9 +4,17 @@ import User, { ILocalUser } from '../../../../models/user'; import { pack } from '../../../../models/messaging-message'; import read from '../../common/read-messaging-message'; -/** - * Get messages - */ +export const meta = { + desc: { + ja: '指定したユーザーとのMessagingのメッセージ一覧を取得します。', + en: 'Get messages of messaging.' + }, + + requireCredential: true, + + kind: 'messaging-read' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'userId' parameter const [recipientId, recipientIdErr] = $.type(ID).get(params.userId); diff --git a/src/server/api/endpoints/messaging/messages/create.ts b/src/server/api/endpoints/messaging/messages/create.ts index c3d9824d69..9b897b45e7 100644 --- a/src/server/api/endpoints/messaging/messages/create.ts +++ b/src/server/api/endpoints/messaging/messages/create.ts @@ -11,9 +11,17 @@ import { publishMessagingStream, publishMessagingIndexStream } from '../../../.. import pushSw from '../../../../../push-sw'; import config from '../../../../../config'; -/** - * Create a message - */ +export const meta = { + desc: { + ja: '指定したユーザーへMessagingのメッセージを送信します。', + en: 'Create a message of messaging.' + }, + + requireCredential: true, + + kind: 'messaging-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'userId' parameter const [recipientId, recipientIdErr] = $.type(ID).get(params.userId); diff --git a/src/server/api/endpoints/mute/create.ts b/src/server/api/endpoints/mute/create.ts index 3e766bf170..bd70cd62ef 100644 --- a/src/server/api/endpoints/mute/create.ts +++ b/src/server/api/endpoints/mute/create.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import User, { ILocalUser } from '../../../../models/user'; import Mute from '../../../../models/mute'; -/** - * Mute a user - */ +export const meta = { + desc: { + ja: 'ユーザーをミュートします。', + en: 'Mute a user' + }, + + requireCredential: true, + + kind: 'account/write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const muter = user; diff --git a/src/server/api/endpoints/mute/delete.ts b/src/server/api/endpoints/mute/delete.ts index 057baed2be..3187c46f83 100644 --- a/src/server/api/endpoints/mute/delete.ts +++ b/src/server/api/endpoints/mute/delete.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import User, { ILocalUser } from '../../../../models/user'; import Mute from '../../../../models/mute'; -/** - * Unmute a user - */ +export const meta = { + desc: { + ja: 'ユーザーのミュートを解除します。', + en: 'Unmute a user' + }, + + requireCredential: true, + + kind: 'account/write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const muter = user; diff --git a/src/server/api/endpoints/mute/list.ts b/src/server/api/endpoints/mute/list.ts index 54ca84c61d..e297605338 100644 --- a/src/server/api/endpoints/mute/list.ts +++ b/src/server/api/endpoints/mute/list.ts @@ -3,9 +3,17 @@ import Mute from '../../../../models/mute'; import { pack, ILocalUser } from '../../../../models/user'; import { getFriendIds } from '../../common/get-friends'; -/** - * Get muted users of a user - */ +export const meta = { + desc: { + ja: 'ミュートしているユーザー一覧を取得します。', + en: 'Get muted users.' + }, + + requireCredential: true, + + kind: 'account/read' +}; + export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => { // Get 'iknow' parameter const [iknow = false, iknowErr] = $.bool.optional.get(params.iknow); diff --git a/src/server/api/endpoints/my/apps.ts b/src/server/api/endpoints/my/apps.ts index 8e946c9466..35185db41d 100644 --- a/src/server/api/endpoints/my/apps.ts +++ b/src/server/api/endpoints/my/apps.ts @@ -2,9 +2,15 @@ import $ from 'cafy'; import App, { pack } from '../../../../models/app'; import { ILocalUser } from '../../../../models/user'; -/** - * Get my apps - */ +export const meta = { + desc: { + ja: '自分のアプリケーション一覧を取得します。', + en: 'Get my apps' + }, + + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/notes/delete.ts b/src/server/api/endpoints/notes/delete.ts index bebf7b2035..22c6101e14 100644 --- a/src/server/api/endpoints/notes/delete.ts +++ b/src/server/api/endpoints/notes/delete.ts @@ -3,9 +3,17 @@ import Note from '../../../../models/note'; import deleteNote from '../../../../services/note/delete'; import { ILocalUser } from '../../../../models/user'; -/** - * Delete a note - */ +export const meta = { + desc: { + ja: '指定した投稿を削除します。', + en: 'Delete a note.' + }, + + requireCredential: true, + + kind: 'note-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'noteId' parameter const [noteId, noteIdErr] = $.type(ID).get(params.noteId); diff --git a/src/server/api/endpoints/notes/favorites/create.ts b/src/server/api/endpoints/notes/favorites/create.ts index 280283d340..87f6cf1f08 100644 --- a/src/server/api/endpoints/notes/favorites/create.ts +++ b/src/server/api/endpoints/notes/favorites/create.ts @@ -3,9 +3,17 @@ import Favorite from '../../../../../models/favorite'; import Note from '../../../../../models/note'; import { ILocalUser } from '../../../../../models/user'; -/** - * Favorite a note - */ +export const meta = { + desc: { + ja: '指定した投稿をお気に入りに登録します。', + en: 'Favorite a note.' + }, + + requireCredential: true, + + kind: 'favorite-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'noteId' parameter const [noteId, noteIdErr] = $.type(ID).get(params.noteId); diff --git a/src/server/api/endpoints/notes/favorites/delete.ts b/src/server/api/endpoints/notes/favorites/delete.ts index 2cd00f876b..3906fe99bb 100644 --- a/src/server/api/endpoints/notes/favorites/delete.ts +++ b/src/server/api/endpoints/notes/favorites/delete.ts @@ -3,9 +3,17 @@ import Favorite from '../../../../../models/favorite'; import Note from '../../../../../models/note'; import { ILocalUser } from '../../../../../models/user'; -/** - * Unfavorite a note - */ +export const meta = { + desc: { + ja: '指定した投稿のお気に入りを解除します。', + en: 'Unfavorite a note.' + }, + + requireCredential: true, + + kind: 'favorite-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'noteId' parameter const [noteId, noteIdErr] = $.type(ID).get(params.noteId); diff --git a/src/server/api/endpoints/notes/mentions.ts b/src/server/api/endpoints/notes/mentions.ts index c4e420602f..db91230a81 100644 --- a/src/server/api/endpoints/notes/mentions.ts +++ b/src/server/api/endpoints/notes/mentions.ts @@ -4,9 +4,15 @@ import { getFriendIds } from '../../common/get-friends'; import { pack } from '../../../../models/note'; import { ILocalUser } from '../../../../models/user'; -/** - * Get mentions of myself - */ +export const meta = { + desc: { + ja: '自分に言及している投稿の一覧を取得します。', + en: 'Get mentions of myself.' + }, + + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'following' parameter const [following = false, followingError] = diff --git a/src/server/api/endpoints/notes/polls/recommendation.ts b/src/server/api/endpoints/notes/polls/recommendation.ts index f448bb66fc..a0469d1870 100644 --- a/src/server/api/endpoints/notes/polls/recommendation.ts +++ b/src/server/api/endpoints/notes/polls/recommendation.ts @@ -3,9 +3,15 @@ import Vote from '../../../../../models/poll-vote'; import Note, { pack } from '../../../../../models/note'; import { ILocalUser } from '../../../../../models/user'; -/** - * Get recommended polls - */ +export const meta = { + desc: { + ja: 'おすすめのアンケート一覧を取得します。', + en: 'Get recommended polls.' + }, + + requireCredential: true, +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/notes/polls/vote.ts b/src/server/api/endpoints/notes/polls/vote.ts index 026caa0b4e..568c187f8a 100644 --- a/src/server/api/endpoints/notes/polls/vote.ts +++ b/src/server/api/endpoints/notes/polls/vote.ts @@ -7,9 +7,17 @@ import { publishNoteStream } from '../../../../../stream'; import notify from '../../../../../notify'; import { ILocalUser } from '../../../../../models/user'; -/** - * Vote poll of a note - */ +export const meta = { + desc: { + ja: '指定した投稿のアンケートに投票します。', + en: 'Vote poll of a note.' + }, + + requireCredential: true, + + kind: 'vote-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'noteId' parameter const [noteId, noteIdErr] = $.type(ID).get(params.noteId); diff --git a/src/server/api/endpoints/notes/reactions.ts b/src/server/api/endpoints/notes/reactions.ts index 938ed6f514..8921c55916 100644 --- a/src/server/api/endpoints/notes/reactions.ts +++ b/src/server/api/endpoints/notes/reactions.ts @@ -3,9 +3,15 @@ import Note from '../../../../models/note'; import Reaction, { pack } from '../../../../models/note-reaction'; import { ILocalUser } from '../../../../models/user'; -/** - * Show reactions of a note - */ +export const meta = { + desc: { + ja: '指定した投稿のリアクション一覧を取得します。', + en: 'Show reactions of a note.' + }, + + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'noteId' parameter const [noteId, noteIdErr] = $.type(ID).get(params.noteId); @@ -46,6 +52,5 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = }); // Serialize - res(await Promise.all(reactions.map(async reaction => - await pack(reaction, user)))); + res(await Promise.all(reactions.map(reaction => pack(reaction, user)))); }); diff --git a/src/server/api/endpoints/notes/reactions/create.ts b/src/server/api/endpoints/notes/reactions/create.ts index f290ab00b4..65e24e7c06 100644 --- a/src/server/api/endpoints/notes/reactions/create.ts +++ b/src/server/api/endpoints/notes/reactions/create.ts @@ -6,12 +6,15 @@ import { ILocalUser } from '../../../../../models/user'; import getParams from '../../../get-params'; export const meta = { - name: 'notes/reactions/create', - desc: { - ja: '投稿にリアクションします。' + ja: '指定した投稿にリアクションします。', + en: 'React to a note.' }, + requireCredential: true, + + kind: 'reaction-write', + params: { noteId: $.type(ID).note({ desc: { @@ -27,9 +30,6 @@ export const meta = { } }; -/** - * React to a note - */ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { const [ps, psErr] = getParams(meta, params); if (psErr) return rej(psErr); diff --git a/src/server/api/endpoints/notes/reactions/delete.ts b/src/server/api/endpoints/notes/reactions/delete.ts index 6f662526d0..62af0407bc 100644 --- a/src/server/api/endpoints/notes/reactions/delete.ts +++ b/src/server/api/endpoints/notes/reactions/delete.ts @@ -3,9 +3,17 @@ import Reaction from '../../../../../models/note-reaction'; import Note from '../../../../../models/note'; import { ILocalUser } from '../../../../../models/user'; -/** - * Unreact to a note - */ +export const meta = { + desc: { + ja: '指定した投稿へのリアクションを取り消します。', + en: 'Unreact to a note.' + }, + + requireCredential: true, + + kind: 'reaction-write' +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'noteId' parameter const [noteId, noteIdErr] = $.type(ID).get(params.noteId); diff --git a/src/server/api/endpoints/notes/trend.ts b/src/server/api/endpoints/notes/trend.ts index ae66234c0b..1cbbfacadc 100644 --- a/src/server/api/endpoints/notes/trend.ts +++ b/src/server/api/endpoints/notes/trend.ts @@ -3,9 +3,15 @@ import $ from 'cafy'; import Note, { pack } from '../../../../models/note'; import { ILocalUser } from '../../../../models/user'; -/** - * Get trend notes - */ +export const meta = { + desc: { + ja: '人気の投稿の一覧を取得します。', + en: 'Get trend notes.' + }, + + requireCredential: true +}; + export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/notes/user-list-timeline.ts b/src/server/api/endpoints/notes/user-list-timeline.ts index ef08f69c10..5837a9a301 100644 --- a/src/server/api/endpoints/notes/user-list-timeline.ts +++ b/src/server/api/endpoints/notes/user-list-timeline.ts @@ -5,9 +5,15 @@ import { pack } from '../../../../models/note'; import UserList from '../../../../models/user-list'; import { ILocalUser } from '../../../../models/user'; -/** - * Get timeline of a user list - */ +export const meta = { + desc: { + ja: '指定したユーザーリストのタイムラインを取得します。', + en: 'Get timeline of a user list.' + }, + + requireCredential: true +}; + export default async (params: any, user: ILocalUser) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/endpoints/notifications/mark_as_read_all.ts b/src/server/api/endpoints/notifications/mark_as_read_all.ts index 5011c72d54..7cf4cd16e9 100644 --- a/src/server/api/endpoints/notifications/mark_as_read_all.ts +++ b/src/server/api/endpoints/notifications/mark_as_read_all.ts @@ -2,6 +2,17 @@ import Notification from '../../../../models/notification'; import event from '../../../../stream'; import User, { ILocalUser } from '../../../../models/user'; +export const meta = { + desc: { + ja: '全ての通知を既読にします。', + en: 'Mark as read all notifications.' + }, + + requireCredential: true, + + kind: 'notification-write' +}; + /** * Mark as read all notifications */ diff --git a/src/server/api/endpoints/sw/register.ts b/src/server/api/endpoints/sw/register.ts index c7bf1bfbe5..3414600048 100644 --- a/src/server/api/endpoints/sw/register.ts +++ b/src/server/api/endpoints/sw/register.ts @@ -2,6 +2,10 @@ import $ from 'cafy'; import Subscription from '../../../../models/sw-subscription'; import { ILocalUser } from '../../../../models/user'; +export const meta = { + requireCredential: true +}; + /** * subscribe service worker */ diff --git a/src/server/api/endpoints/users/lists/create.ts b/src/server/api/endpoints/users/lists/create.ts index f3776afee0..d7dc2a5f70 100644 --- a/src/server/api/endpoints/users/lists/create.ts +++ b/src/server/api/endpoints/users/lists/create.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import UserList, { pack } from '../../../../../models/user-list'; import { ILocalUser } from '../../../../../models/user'; -/** - * Create a user list - */ +export const meta = { + desc: { + ja: 'ユーザーリストを作成します。', + en: 'Create a user list' + }, + + requireCredential: true, + + kind: 'account-write' +}; + export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => { // Get 'title' parameter const [title, titleErr] = $.str.range(1, 100).get(params.title); diff --git a/src/server/api/endpoints/users/lists/list.ts b/src/server/api/endpoints/users/lists/list.ts index 88fa75a111..31fef26bdc 100644 --- a/src/server/api/endpoints/users/lists/list.ts +++ b/src/server/api/endpoints/users/lists/list.ts @@ -1,9 +1,16 @@ import UserList, { pack } from '../../../../../models/user-list'; import { ILocalUser } from '../../../../../models/user'; -/** - * Add a user to a user list - */ +export const meta = { + desc: { + ja: '自分の作成したユーザーリスト一覧を取得します。' + }, + + requireCredential: true, + + kind: 'account-read' +}; + export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => { // Fetch lists const userLists = await UserList.find({ diff --git a/src/server/api/endpoints/users/lists/push.ts b/src/server/api/endpoints/users/lists/push.ts index 9e99d59fc1..bd4e201bde 100644 --- a/src/server/api/endpoints/users/lists/push.ts +++ b/src/server/api/endpoints/users/lists/push.ts @@ -6,6 +6,17 @@ import ap from '../../../../../remote/activitypub/renderer'; import renderFollow from '../../../../../remote/activitypub/renderer/follow'; import { deliver } from '../../../../../queue'; +export const meta = { + desc: { + ja: '指定したユーザーリストに指定したユーザーを追加します。', + en: 'Add a user to a user list.' + }, + + requireCredential: true, + + kind: 'account-write' +}; + /** * Add a user to a user list */ diff --git a/src/server/api/endpoints/users/lists/show.ts b/src/server/api/endpoints/users/lists/show.ts index f432cf44fb..2fd142a609 100644 --- a/src/server/api/endpoints/users/lists/show.ts +++ b/src/server/api/endpoints/users/lists/show.ts @@ -2,9 +2,17 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; import UserList, { pack } from '../../../../../models/user-list'; import { ILocalUser } from '../../../../../models/user'; -/** - * Show a user list - */ +export const meta = { + desc: { + ja: '指定したユーザーリストの情報を取得します。', + en: 'Show a user list.' + }, + + requireCredential: true, + + kind: 'account-read' +}; + export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => { // Get 'listId' parameter const [listId, listIdErr] = $.type(ID).get(params.listId); diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts index b7402b7fb1..13377e6fff 100644 --- a/src/server/api/endpoints/users/recommendation.ts +++ b/src/server/api/endpoints/users/recommendation.ts @@ -4,9 +4,16 @@ import User, { pack, ILocalUser } from '../../../../models/user'; import { getFriendIds } from '../../common/get-friends'; import Mute from '../../../../models/mute'; -/** - * Get recommended users - */ +export const meta = { + desc: { + ja: 'おすすめのユーザー一覧を取得します。' + }, + + requireCredential: true, + + kind: 'account-read' +}; + export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit);