summaryrefslogtreecommitdiff
path: root/src/api/endpoints/users/posts.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-27 16:51:12 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-27 23:51:21 +0900
commit68ce6d574882c1badbb4a3d2772451534014dd01 (patch)
tree3b468556c25dd5b63e3774aca1869b71dd9b1919 /src/api/endpoints/users/posts.ts
parentMerge pull request #1316 from akihikodaki/host (diff)
downloadsharkey-68ce6d574882c1badbb4a3d2772451534014dd01.tar.gz
sharkey-68ce6d574882c1badbb4a3d2772451534014dd01.tar.bz2
sharkey-68ce6d574882c1badbb4a3d2772451534014dd01.zip
Implement remote account resolution
Diffstat (limited to 'src/api/endpoints/users/posts.ts')
-rw-r--r--src/api/endpoints/users/posts.ts13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/api/endpoints/users/posts.ts b/src/api/endpoints/users/posts.ts
index 0c8bceee3d..3c84bf0d80 100644
--- a/src/api/endpoints/users/posts.ts
+++ b/src/api/endpoints/users/posts.ts
@@ -2,6 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
+import getHostLower from '../../common/get-host-lower';
import Post, { pack } from '../../models/post';
import User from '../../models/user';
@@ -22,7 +23,15 @@ module.exports = (params, me) => new Promise(async (res, rej) => {
if (usernameErr) return rej('invalid username param');
if (userId === undefined && username === undefined) {
- return rej('user_id or username is required');
+ return rej('user_id or pair of username and host is required');
+ }
+
+ // Get 'host' parameter
+ const [host, hostErr] = $(params.host).optional.string().$;
+ if (hostErr) return rej('invalid host param');
+
+ if (userId === undefined && host === undefined) {
+ return rej('user_id or pair of username and host is required');
}
// Get 'include_replies' parameter
@@ -60,7 +69,7 @@ module.exports = (params, me) => new Promise(async (res, rej) => {
const q = userId !== undefined
? { _id: userId }
- : { username_lower: username.toLowerCase() } ;
+ : { username_lower: username.toLowerCase(), host_lower: getHostLower(host) } ;
// Lookup user
const user = await User.findOne(q, {