diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-02-05 01:11:06 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-02-05 01:11:06 +0900 |
| commit | c107333f569883945df5ee961432742d47e79cc5 (patch) | |
| tree | a80e29f45e26c4967a9c83d736b7cfe1cdf61e25 /src/server/api/endpoints/notes | |
| parent | Add dummy option for some libraries (diff) | |
| download | sharkey-c107333f569883945df5ee961432742d47e79cc5.tar.gz sharkey-c107333f569883945df5ee961432742d47e79cc5.tar.bz2 sharkey-c107333f569883945df5ee961432742d47e79cc5.zip | |
[API] お気に入り状態は投稿情報に含めないように統一
Diffstat (limited to 'src/server/api/endpoints/notes')
| -rw-r--r-- | src/server/api/endpoints/notes/state.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/server/api/endpoints/notes/state.ts b/src/server/api/endpoints/notes/state.ts new file mode 100644 index 0000000000..d8adc48c94 --- /dev/null +++ b/src/server/api/endpoints/notes/state.ts @@ -0,0 +1,38 @@ +import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id'; +import define from '../../define'; +import Favorite from '../../../../models/favorite'; + +export const meta = { + stability: 'stable', + + desc: { + 'ja-JP': '指定した投稿の状態を取得します。', + 'en-US': 'Get state of a note.' + }, + + requireCredential: true, + + params: { + noteId: { + validator: $.type(ID), + transform: transform, + desc: { + 'ja-JP': '対象の投稿のID', + 'en-US': 'Target note ID.' + } + } + } +}; + +export default define(meta, (ps, user) => new Promise(async (res, rej) => { + const favorite = await Favorite.count({ + userId: user._id, + noteId: ps.noteId + }, { + limit: 1 + }); + + res({ + isFavorited: favorite !== 0 + }); +})); |