strictNullChecks (#4666)
* wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip
This commit is contained in:
@ -5,6 +5,7 @@ import renderOrderedCollection from '../../remote/activitypub/renderer/ordered-c
|
||||
import { setResponseType } from '../activitypub';
|
||||
import renderNote from '../../remote/activitypub/renderer/note';
|
||||
import { Users, Notes, UserNotePinings } from '../../models';
|
||||
import { ensure } from '../../prelude/ensure';
|
||||
|
||||
export default async (ctx: Router.IRouterContext) => {
|
||||
const userId = ctx.params.user;
|
||||
@ -22,13 +23,14 @@ export default async (ctx: Router.IRouterContext) => {
|
||||
|
||||
const pinings = await UserNotePinings.find({ userId: user.id });
|
||||
|
||||
const pinnedNotes = await Promise.all(pinings.map(pining => Notes.findOne(pining.noteId)));
|
||||
const pinnedNotes = await Promise.all(pinings.map(pining =>
|
||||
Notes.findOne(pining.noteId).then(ensure)));
|
||||
|
||||
const renderedNotes = await Promise.all(pinnedNotes.map(note => renderNote(note)));
|
||||
|
||||
const rendered = renderOrderedCollection(
|
||||
`${config.url}/users/${userId}/collections/featured`,
|
||||
renderedNotes.length, null, null, renderedNotes
|
||||
renderedNotes.length, undefined, undefined, renderedNotes
|
||||
);
|
||||
|
||||
ctx.body = renderActivity(rendered);
|
||||
|
@ -69,18 +69,18 @@ export default async (ctx: Router.IRouterContext) => {
|
||||
cursor
|
||||
})}`,
|
||||
user.followersCount, renderedFollowers, partOf,
|
||||
null,
|
||||
undefined,
|
||||
inStock ? `${partOf}?${url.query({
|
||||
page: 'true',
|
||||
cursor: followings[followings.length - 1].id
|
||||
})}` : null
|
||||
})}` : undefined
|
||||
);
|
||||
|
||||
ctx.body = renderActivity(rendered);
|
||||
setResponseType(ctx);
|
||||
} else {
|
||||
// index page
|
||||
const rendered = renderOrderedCollection(partOf, user.followersCount, `${partOf}?page=true`, null);
|
||||
const rendered = renderOrderedCollection(partOf, user.followersCount, `${partOf}?page=true`);
|
||||
ctx.body = renderActivity(rendered);
|
||||
ctx.set('Cache-Control', 'private, max-age=0, must-revalidate');
|
||||
setResponseType(ctx);
|
||||
|
@ -70,18 +70,18 @@ export default async (ctx: Router.IRouterContext) => {
|
||||
cursor
|
||||
})}`,
|
||||
user.followingCount, renderedFollowees, partOf,
|
||||
null,
|
||||
undefined,
|
||||
inStock ? `${partOf}?${url.query({
|
||||
page: 'true',
|
||||
cursor: followings[followings.length - 1].id
|
||||
})}` : null
|
||||
})}` : undefined
|
||||
);
|
||||
|
||||
ctx.body = renderActivity(rendered);
|
||||
setResponseType(ctx);
|
||||
} else {
|
||||
// index page
|
||||
const rendered = renderOrderedCollection(partOf, user.followingCount, `${partOf}?page=true`, null);
|
||||
const rendered = renderOrderedCollection(partOf, user.followingCount, `${partOf}?page=true`);
|
||||
ctx.body = renderActivity(rendered);
|
||||
ctx.set('Cache-Control', 'private, max-age=0, must-revalidate');
|
||||
setResponseType(ctx);
|
||||
|
@ -15,6 +15,7 @@ import { Users, Notes } from '../../models';
|
||||
import { makePaginationQuery } from '../api/common/make-pagination-query';
|
||||
import { Brackets } from 'typeorm';
|
||||
import { Note } from '../../models/entities/note';
|
||||
import { ensure } from '../../prelude/ensure';
|
||||
|
||||
export default async (ctx: Router.IRouterContext) => {
|
||||
const userId = ctx.params.user;
|
||||
@ -73,11 +74,11 @@ export default async (ctx: Router.IRouterContext) => {
|
||||
notes.length ? `${partOf}?${url.query({
|
||||
page: 'true',
|
||||
since_id: notes[0].id
|
||||
})}` : null,
|
||||
})}` : undefined,
|
||||
notes.length ? `${partOf}?${url.query({
|
||||
page: 'true',
|
||||
until_id: notes[notes.length - 1].id
|
||||
})}` : null
|
||||
})}` : undefined
|
||||
);
|
||||
|
||||
ctx.body = renderActivity(rendered);
|
||||
@ -99,9 +100,9 @@ export default async (ctx: Router.IRouterContext) => {
|
||||
* Pack Create<Note> or Announce Activity
|
||||
* @param note Note
|
||||
*/
|
||||
export async function packActivity(note: Note): Promise<object> {
|
||||
export async function packActivity(note: Note): Promise<any> {
|
||||
if (note.renoteId && note.text == null && !note.hasPoll && (note.fileIds == null || note.fileIds.length == 0)) {
|
||||
const renote = await Notes.findOne(note.renoteId);
|
||||
const renote = await Notes.findOne(note.renoteId).then(ensure);
|
||||
return renderAnnounce(renote.uri ? renote.uri : `${config.url}/notes/${renote.id}`, note);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user