diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-05 23:19:47 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-05 23:19:47 +0900 |
| commit | 30bd467b7143502b5aacc86de7e724ac4aa9c6c3 (patch) | |
| tree | 99c48717e29824c523dfa4100238888a8f261178 /src/api/post | |
| parent | wip (diff) | |
| download | sharkey-30bd467b7143502b5aacc86de7e724ac4aa9c6c3.tar.gz sharkey-30bd467b7143502b5aacc86de7e724ac4aa9c6c3.tar.bz2 sharkey-30bd467b7143502b5aacc86de7e724ac4aa9c6c3.zip | |
wip
Diffstat (limited to 'src/api/post')
| -rw-r--r-- | src/api/post/create.ts | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/api/post/create.ts b/src/api/post/create.ts index dbeb87ae86..7b7fceda2a 100644 --- a/src/api/post/create.ts +++ b/src/api/post/create.ts @@ -31,7 +31,7 @@ export default async (user: IUser, content: { visibility?: string; uri?: string; app?: IApp; -}) => new Promise<IPost>(async (res, rej) => { +}, silent = false) => new Promise<IPost>(async (res, rej) => { if (content.createdAt == null) content.createdAt = new Date(); if (content.visibility == null) content.visibility = 'public'; @@ -120,26 +120,28 @@ export default async (user: IUser, content: { _id: false }); - const note = await renderNote(user, post); - const content = renderCreate(note); - content['@context'] = context; + if (!silent) { + const note = await renderNote(user, post); + const content = renderCreate(note); + content['@context'] = context; - Promise.all(followers.map(({ follower }) => { - if (isLocalUser(follower)) { - // Publish event to followers stream - stream(follower._id, 'post', postObj); - } else { - // フォロワーがリモートユーザーかつ投稿者がローカルユーザーなら投稿を配信 - if (isLocalUser(user)) { - createHttp({ - type: 'deliver', - user, - content, - to: follower.account.inbox - }).save(); + Promise.all(followers.map(({ follower }) => { + if (isLocalUser(follower)) { + // Publish event to followers stream + stream(follower._id, 'post', postObj); + } else { + // フォロワーがリモートユーザーかつ投稿者がローカルユーザーなら投稿を配信 + if (isLocalUser(user)) { + createHttp({ + type: 'deliver', + user, + content, + to: follower.account.inbox + }).save(); + } } - } - })); + })); + } } // チャンネルへの投稿 |