summaryrefslogtreecommitdiff
path: root/src/services/note/watch.ts
blob: 28fb7a32c29966333bafa337537707525e0f77f4 (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/note-watching';

export default async (me: mongodb.ObjectID, note: object) => {
	// 自分の投稿はwatchできない
	if (me.equals((note as any).userId)) {
		return;
	}

	// if watching now
	const exist = await Watching.findOne({
		noteId: (note as any)._id,
		userId: me,
		deletedAt: { $exists: false }
	});

	if (exist !== null) {
		return;
	}

	await Watching.insert({
		createdAt: new Date(),
		noteId: (note as any)._id,
		userId: me
	});
};