diff options
Diffstat (limited to 'src/server/api/common/watch-post.ts')
| -rw-r--r-- | src/server/api/common/watch-post.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/server/api/common/watch-post.ts b/src/server/api/common/watch-post.ts new file mode 100644 index 0000000000..1a50f0edaa --- /dev/null +++ b/src/server/api/common/watch-post.ts @@ -0,0 +1,26 @@ +import * as mongodb from 'mongodb'; +import Watching from '../models/post-watching'; + +export default async (me: mongodb.ObjectID, post: object) => { + // 自分の投稿はwatchできない + if (me.equals((post as any).user_id)) { + return; + } + + // if watching now + const exist = await Watching.findOne({ + post_id: (post as any)._id, + user_id: me, + deleted_at: { $exists: false } + }); + + if (exist !== null) { + return; + } + + await Watching.insert({ + created_at: new Date(), + post_id: (post as any)._id, + user_id: me + }); +}; |