summaryrefslogtreecommitdiff
path: root/src/queue/processors/http/deliver-post.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-04-04 22:45:55 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-04-04 22:45:55 +0900
commitd7c13b975f55c85b695b72a3ded3d5de97227414 (patch)
treee197f64e6b977c1f8199b3b2a93815a5529e704d /src/queue/processors/http/deliver-post.ts
parentMake HTTP request first in unfollow job (diff)
downloadmisskey-d7c13b975f55c85b695b72a3ded3d5de97227414.tar.gz
misskey-d7c13b975f55c85b695b72a3ded3d5de97227414.tar.bz2
misskey-d7c13b975f55c85b695b72a3ded3d5de97227414.zip
Retry HTTP requests
Diffstat (limited to 'src/queue/processors/http/deliver-post.ts')
-rw-r--r--src/queue/processors/http/deliver-post.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/queue/processors/http/deliver-post.ts b/src/queue/processors/http/deliver-post.ts
new file mode 100644
index 0000000000..e743fc5f68
--- /dev/null
+++ b/src/queue/processors/http/deliver-post.ts
@@ -0,0 +1,21 @@
+import Post from '../../../models/post';
+import User, { IRemoteUser } from '../../../models/user';
+import context from '../../../remote/activitypub/renderer/context';
+import renderCreate from '../../../remote/activitypub/renderer/create';
+import renderNote from '../../../remote/activitypub/renderer/note';
+import request from '../../../remote/request';
+
+export default async ({ data }) => {
+ const promisedTo = User.findOne({ _id: data.toId }) as Promise<IRemoteUser>;
+ const [from, post] = await Promise.all([
+ User.findOne({ _id: data.fromId }),
+ Post.findOne({ _id: data.postId })
+ ]);
+ const note = await renderNote(from, post);
+ const to = await promisedTo;
+ const create = renderCreate(note);
+
+ create['@context'] = context;
+
+ return request(from, to.account.inbox, create);
+};