diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2018-04-04 22:48:27 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-04 22:48:27 +0900 |
| commit | cf160285f82a200a6f042cf924272809280bac79 (patch) | |
| tree | 9cf0211613474ecf5868e8a2bd59469a83bc9bb3 /src/queue/processors/http/deliver-post.ts | |
| parent | Merge pull request #1393 from akihikodaki/duplicate (diff) | |
| parent | Retry HTTP requests (diff) | |
| download | misskey-cf160285f82a200a6f042cf924272809280bac79.tar.gz misskey-cf160285f82a200a6f042cf924272809280bac79.tar.bz2 misskey-cf160285f82a200a6f042cf924272809280bac79.zip | |
Merge pull request #1394 from akihikodaki/duplicate
Retry HTTP requests
Diffstat (limited to 'src/queue/processors/http/deliver-post.ts')
| -rw-r--r-- | src/queue/processors/http/deliver-post.ts | 21 |
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); +}; |