summaryrefslogtreecommitdiff
path: root/src/remote
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-10 04:38:02 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-10 04:38:02 +0900
commitcb85d7cb14b818d5fa198fb98f800cc31e56ad2a (patch)
tree833fa276580a8b6b9c6df007f0bd0adcd4b49b1a /src/remote
parentMerge pull request #1430 from syuilo/greenkeeper/@types/mongodb-3.0.11 (diff)
downloadsharkey-cb85d7cb14b818d5fa198fb98f800cc31e56ad2a.tar.gz
sharkey-cb85d7cb14b818d5fa198fb98f800cc31e56ad2a.tar.bz2
sharkey-cb85d7cb14b818d5fa198fb98f800cc31e56ad2a.zip
再帰的にNoteをレンダリングするように
Diffstat (limited to 'src/remote')
-rw-r--r--src/remote/activitypub/renderer/note.ts14
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)
};
-};
+}