summaryrefslogtreecommitdiff
path: root/src/server/api
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-02-16 10:58:44 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-02-16 10:58:44 +0900
commit88dc4c83cbde7960c280ae359569cfbaa120ae69 (patch)
treeb116f963124b934ac68a399aa7979d031342d467 /src/server/api
parentImprove user-list component (diff)
downloadsharkey-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.ts23
-rw-r--r--src/server/api/endpoints/users/following.ts23
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');