Add prelude function for URL Query (#4135)

* Update string.ts

* Refactor

* Update string.ts

* Update wrap-url.ts

* Update string.ts

* Update get-static-image-url.ts

* Use querystring.stringify

* Update outbox.ts

* Back to the urlQuery

* Update followers.ts

* Update following.ts

* Update outbox.ts

* Update string.ts

* Update get-static-image-url.ts

* Update string.ts

* Update string.ts

* Separate prelude files
This commit is contained in:
Acid Chicken (硫酸鶏)
2019-02-13 23:45:35 +09:00
committed by GitHub
parent 3548290ff2
commit 4b6c113251
5 changed files with 48 additions and 14 deletions

View File

@@ -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);