diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-10 04:38:02 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-10 04:38:02 +0900 |
| commit | cb85d7cb14b818d5fa198fb98f800cc31e56ad2a (patch) | |
| tree | 833fa276580a8b6b9c6df007f0bd0adcd4b49b1a /src/remote | |
| parent | Merge pull request #1430 from syuilo/greenkeeper/@types/mongodb-3.0.11 (diff) | |
| download | sharkey-cb85d7cb14b818d5fa198fb98f800cc31e56ad2a.tar.gz sharkey-cb85d7cb14b818d5fa198fb98f800cc31e56ad2a.tar.bz2 sharkey-cb85d7cb14b818d5fa198fb98f800cc31e56ad2a.zip | |
再帰的にNoteをレンダリングするように
Diffstat (limited to 'src/remote')
| -rw-r--r-- | src/remote/activitypub/renderer/note.ts | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/remote/activitypub/renderer/note.ts b/src/remote/activitypub/renderer/note.ts index 7cc388dc33..c364b13249 100644 --- a/src/remote/activitypub/renderer/note.ts +++ b/src/remote/activitypub/renderer/note.ts @@ -5,7 +5,7 @@ import DriveFile from '../../../models/drive-file'; import Note, { INote } from '../../../models/note'; import User from '../../../models/user'; -export default async (note: INote) => { +export default async function renderNote(note: INote, dive = true) { const promisedFiles = note.mediaIds ? DriveFile.find({ _id: { $in: note.mediaIds } }) : Promise.resolve([]); @@ -23,7 +23,15 @@ export default async (note: INote) => { }); if (inReplyToUser !== null) { - inReplyTo = inReplyToNote.uri || `${config.url}/notes/${inReplyToNote._id}`; + if (inReplyToNote.uri) { + inReplyTo = inReplyToNote.uri; + } else { + if (dive) { + inReplyTo = await renderNote(inReplyToNote, false); + } else { + inReplyTo = `${config.url}/notes/${inReplyToNote._id}`; + } + } } } } else { @@ -48,4 +56,4 @@ export default async (note: INote) => { attachment: (await promisedFiles).map(renderDocument), tag: (note.tags || []).map(renderHashtag) }; -}; +} |