diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-02-14 01:13:28 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-02-14 01:13:28 +0900 |
| commit | 8fc170109fc3f2ccf4037e852e78019ad9f97890 (patch) | |
| tree | 96179f79c86b8f6de9c0d1d56731524c88260b7d /src/server | |
| parent | ハッシュタグの集計期間を短くした (diff) | |
| parent | Docker: Remove unnecessary workaround for BusyBox's "free" (#4199) (#4213) (diff) | |
| download | misskey-8fc170109fc3f2ccf4037e852e78019ad9f97890.tar.gz misskey-8fc170109fc3f2ccf4037e852e78019ad9f97890.tar.bz2 misskey-8fc170109fc3f2ccf4037e852e78019ad9f97890.zip | |
Merge branch 'develop' of https://github.com/syuilo/misskey into develop
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/activitypub/followers.ts | 13 | ||||
| -rw-r--r-- | src/server/activitypub/following.ts | 13 | ||||
| -rw-r--r-- | src/server/activitypub/outbox.ts | 17 |
3 files changed, 34 insertions, 9 deletions
diff --git a/src/server/activitypub/followers.ts b/src/server/activitypub/followers.ts index bf5066008d..563b3da653 100644 --- a/src/server/activitypub/followers.ts +++ b/src/server/activitypub/followers.ts @@ -5,6 +5,7 @@ import $ from 'cafy'; import ID, { transform } from '../../misc/cafy-id'; import User from '../../models/user'; import Following from '../../models/following'; +import * as url from '../../prelude/url'; import { renderActivity } from '../../remote/activitypub/renderer'; import renderOrderedCollection from '../../remote/activitypub/renderer/ordered-collection'; import renderOrderedCollectionPage from '../../remote/activitypub/renderer/ordered-collection-page'; @@ -20,7 +21,7 @@ export default async (ctx: Router.IRouterContext) => { const userId = new ObjectID(ctx.params.user); // Get 'cursor' parameter - const [cursor = null, cursorErr] = $.optional.type(ID).get(ctx.request.query.cursor); + const [cursor, cursorErr] = $.optional.type(ID).get(ctx.request.query.cursor); // Get 'page' parameter const pageErr = !$.optional.str.or(['true', 'false']).ok(ctx.request.query.page); @@ -72,10 +73,16 @@ export default async (ctx: Router.IRouterContext) => { const renderedFollowers = await Promise.all(followings.map(following => renderFollowUser(following.followerId))); const rendered = renderOrderedCollectionPage( - `${partOf}?page=true${cursor ? `&cursor=${cursor}` : ''}`, + `${partOf}?${url.query({ + page: 'true', + cursor + })}`, user.followersCount, renderedFollowers, partOf, null, - inStock ? `${partOf}?page=true&cursor=${followings[followings.length - 1]._id}` : null + inStock ? `${partOf}?${url.query({ + page: 'true', + cursor: followings[followings.length - 1]._id.toHexString() + })}` : null ); ctx.body = renderActivity(rendered); diff --git a/src/server/activitypub/following.ts b/src/server/activitypub/following.ts index cb86546f1c..f23e177e25 100644 --- a/src/server/activitypub/following.ts +++ b/src/server/activitypub/following.ts @@ -5,6 +5,7 @@ import $ from 'cafy'; import ID, { transform } from '../../misc/cafy-id'; import User from '../../models/user'; import Following from '../../models/following'; +import * as url from '../../prelude/url'; import { renderActivity } from '../../remote/activitypub/renderer'; import renderOrderedCollection from '../../remote/activitypub/renderer/ordered-collection'; import renderOrderedCollectionPage from '../../remote/activitypub/renderer/ordered-collection-page'; @@ -20,7 +21,7 @@ export default async (ctx: Router.IRouterContext) => { const userId = new ObjectID(ctx.params.user); // Get 'cursor' parameter - const [cursor = null, cursorErr] = $.optional.type(ID).get(ctx.request.query.cursor); + const [cursor, cursorErr] = $.optional.type(ID).get(ctx.request.query.cursor); // Get 'page' parameter const pageErr = !$.optional.str.or(['true', 'false']).ok(ctx.request.query.page); @@ -72,10 +73,16 @@ export default async (ctx: Router.IRouterContext) => { const renderedFollowees = await Promise.all(followings.map(following => renderFollowUser(following.followeeId))); const rendered = renderOrderedCollectionPage( - `${partOf}?page=true${cursor ? `&cursor=${cursor}` : ''}`, + `${partOf}?${url.query({ + page: 'true', + cursor + })}`, user.followingCount, renderedFollowees, partOf, null, - inStock ? `${partOf}?page=true&cursor=${followings[followings.length - 1]._id}` : null + inStock ? `${partOf}?${url.query({ + page: 'true', + cursor: followings[followings.length - 1]._id.toHexString() + })}` : null ); ctx.body = renderActivity(rendered); diff --git a/src/server/activitypub/outbox.ts b/src/server/activitypub/outbox.ts index 508e7e5ec9..8b65ce993a 100644 --- a/src/server/activitypub/outbox.ts +++ b/src/server/activitypub/outbox.ts @@ -14,6 +14,7 @@ import renderNote from '../../remote/activitypub/renderer/note'; import renderCreate from '../../remote/activitypub/renderer/create'; import renderAnnounce from '../../remote/activitypub/renderer/announce'; import { countIf } from '../../prelude/array'; +import * as url from '../../prelude/url'; export default async (ctx: Router.IRouterContext) => { if (!ObjectID.isValid(ctx.params.user)) { @@ -88,10 +89,20 @@ export default async (ctx: Router.IRouterContext) => { const activities = await Promise.all(notes.map(note => packActivity(note))); const rendered = renderOrderedCollectionPage( - `${partOf}?page=true${sinceId ? `&since_id=${sinceId}` : ''}${untilId ? `&until_id=${untilId}` : ''}`, + `${partOf}?${url.query({ + page: 'true', + since_id: sinceId, + until_id: untilId + })}`, user.notesCount, activities, partOf, - notes.length > 0 ? `${partOf}?page=true&since_id=${notes[0]._id}` : null, - notes.length > 0 ? `${partOf}?page=true&until_id=${notes[notes.length - 1]._id}` : null + notes.length ? `${partOf}?${url.query({ + page: 'true', + since_id: notes[0]._id.toHexString() + })}` : null, + notes.length ? `${partOf}?${url.query({ + page: 'true', + until_id: notes[notes.length - 1]._id.toHexString() + })}` : null ); ctx.body = renderActivity(rendered); |