From 6e34e77372bd74c85ebf5a6b4214c818231dbe8b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 8 Apr 2018 06:55:26 +0900 Subject: Implement announce And bug fixes --- src/server/activitypub/note.ts | 23 ++++------------------- src/server/activitypub/outbox.ts | 2 +- 2 files changed, 5 insertions(+), 20 deletions(-) (limited to 'src/server/activitypub') diff --git a/src/server/activitypub/note.ts b/src/server/activitypub/note.ts index cea9be52da..1c2e695b80 100644 --- a/src/server/activitypub/note.ts +++ b/src/server/activitypub/note.ts @@ -1,40 +1,25 @@ 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 Note from '../../models/note'; -import User from '../../models/user'; const app = express.Router(); -app.get('/@:user/:note', async (req, res, next) => { +app.get('/notes/: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(); } - const { username, host } = parseAcct(req.params.user); - if (host !== null) { - return res.sendStatus(422); - } - - const user = await User.findOne({ - usernameLower: username.toLowerCase(), - host: null - }); - if (user === null) { - return res.sendStatus(404); - } - const note = await Note.findOne({ - _id: req.params.note, - userId: user._id + _id: req.params.note }); + if (note === null) { return res.sendStatus(404); } - const rendered = await render(user, note); + const rendered = await render(note); rendered['@context'] = context; res.json(rendered); diff --git a/src/server/activitypub/outbox.ts b/src/server/activitypub/outbox.ts index b6f3a3f9db..4557871bc5 100644 --- a/src/server/activitypub/outbox.ts +++ b/src/server/activitypub/outbox.ts @@ -16,7 +16,7 @@ app.get('/@:user/outbox', withUser(username => { sort: { _id: -1 } }); - const renderedNotes = await Promise.all(notes.map(note => renderNote(user, note))); + const renderedNotes = await Promise.all(notes.map(note => renderNote(note))); const rendered = renderOrderedCollection(`${config.url}/@${user.username}/inbox`, user.notesCount, renderedNotes); rendered['@context'] = context; -- cgit v1.2.3-freya