@ -4,7 +4,7 @@ import user from './user';
|
||||
import inbox from './inbox';
|
||||
import outbox from './outbox';
|
||||
import publicKey from './publickey';
|
||||
import post from './post';
|
||||
import note from './note';
|
||||
|
||||
const app = express();
|
||||
app.disable('x-powered-by');
|
||||
@ -13,6 +13,6 @@ app.use(user);
|
||||
app.use(inbox);
|
||||
app.use(outbox);
|
||||
app.use(publicKey);
|
||||
app.use(post);
|
||||
app.use(note);
|
||||
|
||||
export default app;
|
||||
|
@ -2,12 +2,12 @@ import * as express from 'express';
|
||||
import context from '../../remote/activitypub/renderer/context';
|
||||
import render from '../../remote/activitypub/renderer/note';
|
||||
import parseAcct from '../../acct/parse';
|
||||
import Post from '../../models/post';
|
||||
import Note from '../../models/note';
|
||||
import User from '../../models/user';
|
||||
|
||||
const app = express.Router();
|
||||
|
||||
app.get('/@:user/:post', async (req, res, next) => {
|
||||
app.get('/@:user/:note', async (req, res, next) => {
|
||||
const accepted = req.accepts(['html', 'application/activity+json', 'application/ld+json']);
|
||||
if (!(['application/activity+json', 'application/ld+json'] as any[]).includes(accepted)) {
|
||||
return next();
|
||||
@ -26,15 +26,15 @@ app.get('/@:user/:post', async (req, res, next) => {
|
||||
return res.sendStatus(404);
|
||||
}
|
||||
|
||||
const post = await Post.findOne({
|
||||
_id: req.params.post,
|
||||
const note = await Note.findOne({
|
||||
_id: req.params.note,
|
||||
userId: user._id
|
||||
});
|
||||
if (post === null) {
|
||||
if (note === null) {
|
||||
return res.sendStatus(404);
|
||||
}
|
||||
|
||||
const rendered = await render(user, post);
|
||||
const rendered = await render(user, note);
|
||||
rendered['@context'] = context;
|
||||
|
||||
res.json(rendered);
|
@ -3,7 +3,7 @@ import context from '../../remote/activitypub/renderer/context';
|
||||
import renderNote from '../../remote/activitypub/renderer/note';
|
||||
import renderOrderedCollection from '../../remote/activitypub/renderer/ordered-collection';
|
||||
import config from '../../config';
|
||||
import Post from '../../models/post';
|
||||
import Note from '../../models/note';
|
||||
import withUser from './with-user';
|
||||
|
||||
const app = express.Router();
|
||||
@ -11,13 +11,13 @@ const app = express.Router();
|
||||
app.get('/@:user/outbox', withUser(username => {
|
||||
return `${config.url}/@${username}/inbox`;
|
||||
}, async (user, req, res) => {
|
||||
const posts = await Post.find({ userId: user._id }, {
|
||||
const notes = await Note.find({ userId: user._id }, {
|
||||
limit: 20,
|
||||
sort: { _id: -1 }
|
||||
});
|
||||
|
||||
const renderedPosts = await Promise.all(posts.map(post => renderNote(user, post)));
|
||||
const rendered = renderOrderedCollection(`${config.url}/@${user.username}/inbox`, user.postsCount, renderedPosts);
|
||||
const renderedNotes = await Promise.all(notes.map(note => renderNote(user, note)));
|
||||
const rendered = renderOrderedCollection(`${config.url}/@${user.username}/inbox`, user.notesCount, renderedNotes);
|
||||
rendered['@context'] = context;
|
||||
|
||||
res.json(rendered);
|
||||
|
Reference in New Issue
Block a user