From 88dc4c83cbde7960c280ae359569cfbaa120ae69 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 16 Feb 2019 10:58:44 +0900 Subject: Improve UI --- src/server/api/endpoints/users/followers.ts | 23 ++++++++++++++--------- src/server/api/endpoints/users/following.ts | 23 ++++++++++++++--------- 2 files changed, 28 insertions(+), 18 deletions(-) (limited to 'src/server/api') diff --git a/src/server/api/endpoints/users/followers.ts b/src/server/api/endpoints/users/followers.ts index 2a39da4064..2f7f1af6a5 100644 --- a/src/server/api/endpoints/users/followers.ts +++ b/src/server/api/endpoints/users/followers.ts @@ -16,7 +16,7 @@ export const meta = { params: { userId: { - validator: $.type(ID), + validator: $.optional.type(ID), transform: transform, desc: { 'ja-JP': '対象のユーザーのID', @@ -24,6 +24,14 @@ export const meta = { } }, + username: { + validator: $.optional.str + }, + + host: { + validator: $.optional.nullable.str + }, + limit: { validator: $.optional.num.range(1, 100), default: 10 @@ -43,14 +51,11 @@ export const meta = { }; export default define(meta, (ps, me) => new Promise(async (res, rej) => { - // Lookup user - const user = await User.findOne({ - _id: ps.userId - }, { - fields: { - _id: true - } - }); + const q: any = ps.userId != null + ? { _id: ps.userId } + : { usernameLower: ps.username.toLowerCase(), host: ps.host }; + + const user = await User.findOne(q); if (user === null) { return rej('user not found'); diff --git a/src/server/api/endpoints/users/following.ts b/src/server/api/endpoints/users/following.ts index 4ccc13f633..1485a63f24 100644 --- a/src/server/api/endpoints/users/following.ts +++ b/src/server/api/endpoints/users/following.ts @@ -16,7 +16,7 @@ export const meta = { params: { userId: { - validator: $.type(ID), + validator: $.optional.type(ID), transform: transform, desc: { 'ja-JP': '対象のユーザーのID', @@ -24,6 +24,14 @@ export const meta = { } }, + username: { + validator: $.optional.str + }, + + host: { + validator: $.optional.nullable.str + }, + limit: { validator: $.optional.num.range(1, 100), default: 10 @@ -43,14 +51,11 @@ export const meta = { }; export default define(meta, (ps, me) => new Promise(async (res, rej) => { - // Lookup user - const user = await User.findOne({ - _id: ps.userId - }, { - fields: { - _id: true - } - }); + const q: any = ps.userId != null + ? { _id: ps.userId } + : { usernameLower: ps.username.toLowerCase(), host: ps.host }; + + const user = await User.findOne(q); if (user === null) { return rej('user not found'); -- cgit v1.2.3-freya