diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-02-16 10:58:44 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-02-16 10:58:44 +0900 |
| commit | 88dc4c83cbde7960c280ae359569cfbaa120ae69 (patch) | |
| tree | b116f963124b934ac68a399aa7979d031342d467 /src/server/api | |
| parent | Improve user-list component (diff) | |
| download | sharkey-88dc4c83cbde7960c280ae359569cfbaa120ae69.tar.gz sharkey-88dc4c83cbde7960c280ae359569cfbaa120ae69.tar.bz2 sharkey-88dc4c83cbde7960c280ae359569cfbaa120ae69.zip | |
Improve UI
Diffstat (limited to 'src/server/api')
| -rw-r--r-- | src/server/api/endpoints/users/followers.ts | 23 | ||||
| -rw-r--r-- | src/server/api/endpoints/users/following.ts | 23 |
2 files changed, 28 insertions, 18 deletions
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'); |