diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-03-19 15:23:30 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-03-19 15:23:30 +0900 |
| commit | 6271c70d3cdbc5c55a158dcfe7d78ec3824af495 (patch) | |
| tree | 569a20adb5fb1c83a955ba2d86f19f760b70e69a /src/api/endpoints/posts.ts | |
| parent | [Client] Follow api changes and some cleanups (diff) | |
| download | sharkey-6271c70d3cdbc5c55a158dcfe7d78ec3824af495.tar.gz sharkey-6271c70d3cdbc5c55a158dcfe7d78ec3824af495.tar.bz2 sharkey-6271c70d3cdbc5c55a158dcfe7d78ec3824af495.zip | |
[API] Better public timeline api (BREAKING)
Diffstat (limited to 'src/api/endpoints/posts.ts')
| -rw-r--r-- | src/api/endpoints/posts.ts | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/src/api/endpoints/posts.ts b/src/api/endpoints/posts.ts index 999d63a86e..23b9bd0b66 100644 --- a/src/api/endpoints/posts.ts +++ b/src/api/endpoints/posts.ts @@ -12,13 +12,21 @@ import serialize from '../serializers/post'; * @return {Promise<any>} */ module.exports = (params) => new Promise(async (res, rej) => { - // Get 'include_replies' parameter - const [includeReplies = true, includeRepliesErr] = $(params.include_replies).optional.boolean().$; - if (includeRepliesErr) return rej('invalid include_replies param'); + // Get 'reply' parameter + const [reply, replyErr] = $(params.reply).optional.boolean().$; + if (replyErr) return rej('invalid reply param'); - // Get 'include_reposts' parameter - const [includeReposts = true, includeRepostsErr] = $(params.include_reposts).optional.boolean().$; - if (includeRepostsErr) return rej('invalid include_reposts param'); + // Get 'repost' parameter + const [repost, repostErr] = $(params.repost).optional.boolean().$; + if (repostErr) return rej('invalid repost param'); + + // Get 'media' parameter + const [media, mediaErr] = $(params.media).optional.boolean().$; + if (mediaErr) return rej('invalid media param'); + + // Get 'poll' parameter + const [poll, pollErr] = $(params.poll).optional.boolean().$; + if (pollErr) return rej('invalid poll param'); // Get 'limit' parameter const [limit = 10, limitErr] = $(params.limit).optional.number().range(1, 100).$; @@ -53,12 +61,20 @@ module.exports = (params) => new Promise(async (res, rej) => { }; } - if (!includeReplies) { - query.reply_to_id = null; + if (reply != undefined) { + query.reply_to_id = reply ? { $exists: true, $ne: null } : null; + } + + if (repost != undefined) { + query.repost_id = repost ? { $exists: true, $ne: null } : null; + } + + if (media != undefined) { + query.media_ids = media ? { $exists: true, $ne: null } : null; } - if (!includeReposts) { - query.repost_id = null; + if (poll != undefined) { + query.poll = poll ? { $exists: true, $ne: null } : null; } // Issue query |