summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/users/recommendation.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-02-22 11:46:58 +0900
committerGitHub <noreply@github.com>2019-02-22 11:46:58 +0900
commit2756f553c68082342a784ef716c62da6cea6f3ca (patch)
tree1e0364ca9ddc1fd88e311f0687746f44e007effd /src/server/api/endpoints/users/recommendation.ts
parentUpdate CHANGELOG.md (diff)
downloadmisskey-2756f553c68082342a784ef716c62da6cea6f3ca.tar.gz
misskey-2756f553c68082342a784ef716c62da6cea6f3ca.tar.bz2
misskey-2756f553c68082342a784ef716c62da6cea6f3ca.zip
Improve error handling of API (#4345)
* wip * wip * wip * Update attached_notes.ts * wip * Refactor * wip * wip * wip * wip * wip * wip * wip * wip * Update call.ts * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * :v: * Fix
Diffstat (limited to 'src/server/api/endpoints/users/recommendation.ts')
-rw-r--r--src/server/api/endpoints/users/recommendation.ts51
1 files changed, 25 insertions, 26 deletions
diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts
index e9f0107716..dc37bc56ba 100644
--- a/src/server/api/endpoints/users/recommendation.ts
+++ b/src/server/api/endpoints/users/recommendation.ts
@@ -32,7 +32,7 @@ export const meta = {
}
};
-export default define(meta, (ps, me) => new Promise(async (res, rej) => {
+export default define(meta, async (ps, me) => {
const instance = await fetchMeta();
if (instance.enableExternalUserRecommendation) {
@@ -48,7 +48,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
.replace('{{limit}}', limit.toString())
.replace('{{offset}}', offset.toString());
- request({
+ const users = await request({
url: url,
proxy: config.proxy,
timeout: timeout,
@@ -56,37 +56,36 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => {
followRedirect: true,
followAllRedirects: true
})
- .then(body => convertUsers(body, me))
- .then(packed => res(packed))
- .catch(e => rej(e));
+ .then(body => convertUsers(body, me));
+
+ return users;
} else {
// ID list of the user itself and other users who the user follows
const followingIds = await getFriendIds(me._id);
- // 隠すユーザーを取得
- const hideUserIds = await getHideUserIds(me);
+ // 隠すユーザーを取得
+ const hideUserIds = await getHideUserIds(me);
- const users = await User
- .find({
- _id: {
- $nin: followingIds.concat(hideUserIds)
- },
- isLocked: { $ne: true },
- updatedAt: {
- $gte: new Date(Date.now() - ms('7days'))
- },
- host: null
- }, {
- limit: ps.limit,
- skip: ps.offset,
- sort: {
- followersCount: -1
- }
- });
+ const users = await User.find({
+ _id: {
+ $nin: followingIds.concat(hideUserIds)
+ },
+ isLocked: { $ne: true },
+ updatedAt: {
+ $gte: new Date(Date.now() - ms('7days'))
+ },
+ host: null
+ }, {
+ limit: ps.limit,
+ skip: ps.offset,
+ sort: {
+ followersCount: -1
+ }
+ });
- res(await Promise.all(users.map(user => pack(user, me, { detail: true }))));
+ return await Promise.all(users.map(user => pack(user, me, { detail: true })));
}
-}));
+});
type IRecommendUser = {
name: string;