summaryrefslogtreecommitdiff
path: root/src/api/post/create.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-05 23:19:47 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-05 23:19:47 +0900
commit30bd467b7143502b5aacc86de7e724ac4aa9c6c3 (patch)
tree99c48717e29824c523dfa4100238888a8f261178 /src/api/post/create.ts
parentwip (diff)
downloadsharkey-30bd467b7143502b5aacc86de7e724ac4aa9c6c3.tar.gz
sharkey-30bd467b7143502b5aacc86de7e724ac4aa9c6c3.tar.bz2
sharkey-30bd467b7143502b5aacc86de7e724ac4aa9c6c3.zip
wip
Diffstat (limited to 'src/api/post/create.ts')
-rw-r--r--src/api/post/create.ts40
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();
+ }
}
- }
- }));
+ }));
+ }
}
// チャンネルへの投稿