summaryrefslogtreecommitdiff
path: root/src/server/activitypub/featured.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/activitypub/featured.ts')
-rw-r--r--src/server/activitypub/featured.ts21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/server/activitypub/featured.ts b/src/server/activitypub/featured.ts
index fc6150902b..f43312d79a 100644
--- a/src/server/activitypub/featured.ts
+++ b/src/server/activitypub/featured.ts
@@ -1,35 +1,28 @@
-import { ObjectID } from 'mongodb';
import * as Router from 'koa-router';
import config from '../../config';
-import User from '../../models/user';
import { renderActivity } from '../../remote/activitypub/renderer';
import renderOrderedCollection from '../../remote/activitypub/renderer/ordered-collection';
import { setResponseType } from '../activitypub';
-import Note from '../../models/note';
import renderNote from '../../remote/activitypub/renderer/note';
+import { Users, Notes, UserNotePinings } from '../../models';
export default async (ctx: Router.IRouterContext) => {
- if (!ObjectID.isValid(ctx.params.user)) {
- ctx.status = 404;
- return;
- }
-
- const userId = new ObjectID(ctx.params.user);
+ const userId = ctx.params.user;
// Verify user
- const user = await User.findOne({
- _id: userId,
+ const user = await Users.findOne({
+ id: userId,
host: null
});
- if (user === null) {
+ if (user == null) {
ctx.status = 404;
return;
}
- const pinnedNoteIds = user.pinnedNoteIds || [];
+ const pinings = await UserNotePinings.find({ userId: user.id });
- const pinnedNotes = await Promise.all(pinnedNoteIds.filter(ObjectID.isValid).map(id => Note.findOne({ _id: id })));
+ const pinnedNotes = await Promise.all(pinings.map(pining => Notes.findOne(pining.noteId)));
const renderedNotes = await Promise.all(pinnedNotes.map(note => renderNote(note)));