From 1d814ba0e124e97ec72361254f42a76f6a0449ae Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 5 Feb 2019 01:24:44 +0900 Subject: 個別に投稿のウォッチ/ウォッチ解除をできるように MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve #161 --- src/server/api/endpoints/notes/state.ts | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'src/server/api/endpoints') diff --git a/src/server/api/endpoints/notes/state.ts b/src/server/api/endpoints/notes/state.ts index d8adc48c94..e9db12ead7 100644 --- a/src/server/api/endpoints/notes/state.ts +++ b/src/server/api/endpoints/notes/state.ts @@ -1,6 +1,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id'; import define from '../../define'; import Favorite from '../../../../models/favorite'; +import NoteWatching from '../../../../models/note-watching'; export const meta = { stability: 'stable', @@ -25,14 +26,23 @@ export const meta = { }; export default define(meta, (ps, user) => new Promise(async (res, rej) => { - const favorite = await Favorite.count({ - userId: user._id, - noteId: ps.noteId - }, { - limit: 1 - }); + const [favorite, watching] = await Promise.all([ + Favorite.count({ + userId: user._id, + noteId: ps.noteId + }, { + limit: 1 + }), + NoteWatching.count({ + userId: user._id, + noteId: ps.noteId + }, { + limit: 1 + }) + ]); res({ - isFavorited: favorite !== 0 + isFavorited: favorite !== 0, + isWatching: watching !== 0 }); })); -- cgit v1.2.3-freya