summaryrefslogtreecommitdiff
path: root/src/api/common/watch-post.ts
blob: 1a50f0edaa1436ae8a7c3f5415531c3b7852a1b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
	});
};