summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/users
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/users')
-rw-r--r--src/server/api/endpoints/users/followers.ts11
-rw-r--r--src/server/api/endpoints/users/following.ts11
-rw-r--r--src/server/api/endpoints/users/get_frequently_replied_users.ts11
-rw-r--r--src/server/api/endpoints/users/lists/create.ts10
-rw-r--r--src/server/api/endpoints/users/lists/delete.ts10
-rw-r--r--src/server/api/endpoints/users/lists/list.ts6
-rw-r--r--src/server/api/endpoints/users/lists/push.ts11
-rw-r--r--src/server/api/endpoints/users/lists/show.ts10
-rw-r--r--src/server/api/endpoints/users/lists/update.ts10
-rw-r--r--src/server/api/endpoints/users/notes.ts11
-rw-r--r--src/server/api/endpoints/users/recommendation.ts19
-rw-r--r--src/server/api/endpoints/users/relation.ts11
-rw-r--r--src/server/api/endpoints/users/search.ts14
-rw-r--r--src/server/api/endpoints/users/show.ts11
14 files changed, 55 insertions, 101 deletions
diff --git a/src/server/api/endpoints/users/followers.ts b/src/server/api/endpoints/users/followers.ts
index 71081835c7..9e3a30f6f1 100644
--- a/src/server/api/endpoints/users/followers.ts
+++ b/src/server/api/endpoints/users/followers.ts
@@ -1,9 +1,9 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
-import User, { ILocalUser } from '../../../../models/user';
+import User from '../../../../models/user';
import Following from '../../../../models/following';
import { pack } from '../../../../models/user';
import { getFriendIds } from '../../common/get-friends';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -37,10 +37,7 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Lookup user
const user = await User.findOne({
_id: ps.userId
@@ -95,4 +92,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
users: users,
next: inStock ? following[following.length - 1]._id : null,
});
-});
+}));
diff --git a/src/server/api/endpoints/users/following.ts b/src/server/api/endpoints/users/following.ts
index 778ef54a27..57bf1e1e8b 100644
--- a/src/server/api/endpoints/users/following.ts
+++ b/src/server/api/endpoints/users/following.ts
@@ -1,9 +1,9 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
-import User, { ILocalUser } from '../../../../models/user';
+import User from '../../../../models/user';
import Following from '../../../../models/following';
import { pack } from '../../../../models/user';
import { getFriendIds } from '../../common/get-friends';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -37,10 +37,7 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Lookup user
const user = await User.findOne({
_id: ps.userId
@@ -95,4 +92,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
users: users,
next: inStock ? following[following.length - 1]._id : null,
});
-});
+}));
diff --git a/src/server/api/endpoints/users/get_frequently_replied_users.ts b/src/server/api/endpoints/users/get_frequently_replied_users.ts
index b0fd259588..6b8b985eea 100644
--- a/src/server/api/endpoints/users/get_frequently_replied_users.ts
+++ b/src/server/api/endpoints/users/get_frequently_replied_users.ts
@@ -1,7 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
-import User, { pack, ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import User, { pack } from '../../../../models/user';
+import define from '../../define';
export const meta = {
requireCredential: false,
@@ -19,10 +19,7 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Lookup user
const user = await User.findOne({
_id: ps.userId
@@ -104,4 +101,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
})));
res(repliesObj);
-});
+}));
diff --git a/src/server/api/endpoints/users/lists/create.ts b/src/server/api/endpoints/users/lists/create.ts
index c14bb64daa..d93cf13d94 100644
--- a/src/server/api/endpoints/users/lists/create.ts
+++ b/src/server/api/endpoints/users/lists/create.ts
@@ -1,7 +1,6 @@
import $ from 'cafy';
import UserList, { pack } from '../../../../../models/user-list';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -20,10 +19,7 @@ export const meta = {
}
};
-export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// insert
const userList = await UserList.insert({
createdAt: new Date(),
@@ -34,4 +30,4 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res,
// Response
res(await pack(userList));
-});
+}));
diff --git a/src/server/api/endpoints/users/lists/delete.ts b/src/server/api/endpoints/users/lists/delete.ts
index 1d4513a822..8d297198c9 100644
--- a/src/server/api/endpoints/users/lists/delete.ts
+++ b/src/server/api/endpoints/users/lists/delete.ts
@@ -1,8 +1,7 @@
import $ from 'cafy';
import ID, { transform } from '../../../../../misc/cafy-id';
import UserList from '../../../../../models/user-list';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -26,10 +25,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
const userList = await UserList.findOne({
_id: ps.listId,
userId: user._id
@@ -44,4 +40,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
});
res();
-});
+}));
diff --git a/src/server/api/endpoints/users/lists/list.ts b/src/server/api/endpoints/users/lists/list.ts
index 966e1d3ad9..8f9775e19b 100644
--- a/src/server/api/endpoints/users/lists/list.ts
+++ b/src/server/api/endpoints/users/lists/list.ts
@@ -1,5 +1,5 @@
import UserList, { pack } from '../../../../../models/user-list';
-import { ILocalUser } from '../../../../../models/user';
+import define from '../../../define';
export const meta = {
desc: {
@@ -11,11 +11,11 @@ export const meta = {
kind: 'account-read'
};
-export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Fetch lists
const userLists = await UserList.find({
userId: me._id,
});
res(await Promise.all(userLists.map(x => pack(x))));
-});
+}));
diff --git a/src/server/api/endpoints/users/lists/push.ts b/src/server/api/endpoints/users/lists/push.ts
index 8208e627ed..5c11f25dc4 100644
--- a/src/server/api/endpoints/users/lists/push.ts
+++ b/src/server/api/endpoints/users/lists/push.ts
@@ -1,11 +1,11 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import UserList from '../../../../../models/user-list';
-import User, { pack as packUser, isRemoteUser, getGhost, ILocalUser } from '../../../../../models/user';
+import User, { pack as packUser, isRemoteUser, getGhost } from '../../../../../models/user';
import { publishUserListStream } from '../../../../../stream';
import ap from '../../../../../remote/activitypub/renderer';
import renderFollow from '../../../../../remote/activitypub/renderer/follow';
import { deliver } from '../../../../../queue';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -30,10 +30,7 @@ export const meta = {
}
};
-export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Fetch the list
const userList = await UserList.findOne({
_id: ps.listId,
@@ -74,4 +71,4 @@ export default async (params: any, me: ILocalUser) => new Promise(async (res, re
const content = ap(renderFollow(ghost, user));
deliver(ghost, content, user.inbox);
}
-});
+}));
diff --git a/src/server/api/endpoints/users/lists/show.ts b/src/server/api/endpoints/users/lists/show.ts
index 585833a2fe..2662ab2769 100644
--- a/src/server/api/endpoints/users/lists/show.ts
+++ b/src/server/api/endpoints/users/lists/show.ts
@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import UserList, { pack } from '../../../../../models/user-list';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -21,10 +20,7 @@ export const meta = {
}
};
-export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Fetch the list
const userList = await UserList.findOne({
_id: ps.listId,
@@ -36,4 +32,4 @@ export default async (params: any, me: ILocalUser) => new Promise(async (res, re
}
res(await pack(userList));
-});
+}));
diff --git a/src/server/api/endpoints/users/lists/update.ts b/src/server/api/endpoints/users/lists/update.ts
index fb1a37b2f1..79a7da5658 100644
--- a/src/server/api/endpoints/users/lists/update.ts
+++ b/src/server/api/endpoints/users/lists/update.ts
@@ -1,8 +1,7 @@
import $ from 'cafy';
import ID, { transform } from '../../../../../misc/cafy-id';
import UserList, { pack } from '../../../../../models/user-list';
-import { ILocalUser } from '../../../../../models/user';
-import getParams from '../../../get-params';
+import define from '../../../define';
export const meta = {
desc: {
@@ -34,10 +33,7 @@ export const meta = {
}
};
-export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Fetch the list
const userList = await UserList.findOne({
_id: ps.listId,
@@ -57,4 +53,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Response
res(await pack(userList._id));
-});
+}));
diff --git a/src/server/api/endpoints/users/notes.ts b/src/server/api/endpoints/users/notes.ts
index ac6601f64f..4bbacab2bf 100644
--- a/src/server/api/endpoints/users/notes.ts
+++ b/src/server/api/endpoints/users/notes.ts
@@ -1,8 +1,8 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import getHostLower from '../../common/get-host-lower';
import Note, { packMany } from '../../../../models/note';
-import User, { ILocalUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import User from '../../../../models/user';
+import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -126,10 +126,7 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
if (ps.userId === undefined && ps.username === undefined) {
return rej('userId or username is required');
}
@@ -215,4 +212,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
// Serialize
res(await packMany(notes, me));
-});
+}));
diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts
index 47c809ee4c..127029f83c 100644
--- a/src/server/api/endpoints/users/recommendation.ts
+++ b/src/server/api/endpoints/users/recommendation.ts
@@ -1,11 +1,11 @@
const ms = require('ms');
import $ from 'cafy';
-import User, { pack, ILocalUser } from '../../../../models/user';
+import User, { pack } from '../../../../models/user';
import { getFriendIds } from '../../common/get-friends';
import Mute from '../../../../models/mute';
import * as request from 'request';
import config from '../../../../config';
-import getParams from '../../get-params';
+import define from '../../define';
export const meta = {
desc: {
@@ -29,22 +29,19 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
if (config.user_recommendation && config.user_recommendation.external) {
const userName = me.username;
const hostName = config.hostname;
- const limit = params.limit;
- const offset = params.offset;
+ const limit = ps.limit;
+ const offset = ps.offset;
const timeout = config.user_recommendation.timeout;
const engine = config.user_recommendation.engine;
const url = engine
.replace('{{host}}', hostName)
.replace('{{user}}', userName)
- .replace('{{limit}}', limit)
- .replace('{{offset}}', offset);
+ .replace('{{limit}}', limit.toString())
+ .replace('{{offset}}', offset.toString());
request({
url: url,
@@ -89,4 +86,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
res(await Promise.all(users.map(user => pack(user, me, { detail: true }))));
}
-});
+}));
diff --git a/src/server/api/endpoints/users/relation.ts b/src/server/api/endpoints/users/relation.ts
index 19643ceed0..c63ec337bf 100644
--- a/src/server/api/endpoints/users/relation.ts
+++ b/src/server/api/endpoints/users/relation.ts
@@ -1,6 +1,6 @@
import $ from 'cafy'; import ID, { transform, ObjectId } from '../../../../misc/cafy-id';
-import { ILocalUser, getRelation } from '../../../../models/user';
-import getParams from '../../get-params';
+import { getRelation } from '../../../../models/user';
+import define from '../../define';
export const meta = {
desc: {
@@ -20,13 +20,10 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
const ids = Array.isArray(ps.userId) ? ps.userId : [ps.userId];
const relations = await Promise.all(ids.map(id => getRelation(me._id, id)));
res(Array.isArray(ps.userId) ? relations : relations[0]);
-});
+}));
diff --git a/src/server/api/endpoints/users/search.ts b/src/server/api/endpoints/users/search.ts
index a2077b589d..edc4d603ca 100644
--- a/src/server/api/endpoints/users/search.ts
+++ b/src/server/api/endpoints/users/search.ts
@@ -1,7 +1,7 @@
import $ from 'cafy';
const escapeRegexp = require('escape-regexp');
-import User, { pack, ILocalUser, validateUsername, IUser } from '../../../../models/user';
-import getParams from '../../get-params';
+import User, { pack, validateUsername, IUser } from '../../../../models/user';
+import define from '../../define';
export const meta = {
desc: {
@@ -44,13 +44,7 @@ export const meta = {
},
};
-/**
- * Search a user
- */
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
const isUsername = validateUsername(ps.query.replace('@', ''));
let users: IUser[] = [];
@@ -158,4 +152,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
// Serialize
res(await Promise.all(users.map(user => pack(user, me, { detail: true }))));
-});
+}));
diff --git a/src/server/api/endpoints/users/show.ts b/src/server/api/endpoints/users/show.ts
index c6f01593d4..93223b3f9f 100644
--- a/src/server/api/endpoints/users/show.ts
+++ b/src/server/api/endpoints/users/show.ts
@@ -1,7 +1,7 @@
import $ from 'cafy'; import ID, { transform, transformMany } from '../../../../misc/cafy-id';
-import User, { pack, ILocalUser, isRemoteUser } from '../../../../models/user';
+import User, { pack, isRemoteUser } from '../../../../models/user';
import resolveRemoteUser from '../../../../remote/resolve-user';
-import getParams from '../../get-params';
+import define from '../../define';
const cursorOption = { fields: { data: false } };
@@ -39,10 +39,7 @@ export const meta = {
}
};
-export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
- const [ps, psErr] = getParams(meta, params);
- if (psErr) return rej(psErr);
-
+export default define(meta, (ps, me) => new Promise(async (res, rej) => {
let user;
if (ps.userIds) {
@@ -87,4 +84,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
}
}
}
-});
+}));