summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/following/create.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/following/create.ts')
-rw-r--r--src/server/api/endpoints/following/create.ts25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/server/api/endpoints/following/create.ts b/src/server/api/endpoints/following/create.ts
index 00aa904f08..372bad0222 100644
--- a/src/server/api/endpoints/following/create.ts
+++ b/src/server/api/endpoints/following/create.ts
@@ -3,8 +3,11 @@ const ms = require('ms');
import User, { pack, ILocalUser } from '../../../../models/user';
import Following from '../../../../models/following';
import create from '../../../../services/following/create';
+import getParams from '../../get-params';
export const meta = {
+ stability: 'stable',
+
desc: {
'ja-JP': '指定したユーザーをフォローします。',
'en-US': 'Follow a user.'
@@ -17,24 +20,32 @@ export const meta = {
requireCredential: true,
- kind: 'following-write'
+ kind: 'following-write',
+
+ params: {
+ userId: $.type(ID).note({
+ desc: {
+ 'ja-JP': '対象のユーザーのID',
+ 'en-US': 'Target user ID'
+ }
+ })
+ }
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const follower = user;
+ const [ps, psErr] = getParams(meta, params);
+ if (psErr) return rej(psErr);
- // Get 'userId' parameter
- const [userId, userIdErr] = $.type(ID).get(params.userId);
- if (userIdErr) return rej('invalid userId param');
+ const follower = user;
// 自分自身
- if (user._id.equals(userId)) {
+ if (user._id.equals(ps.userId)) {
return rej('followee is yourself');
}
// Get followee
const followee = await User.findOne({
- _id: userId
+ _id: ps.userId
}, {
fields: {
data: false,