diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-01-26 17:53:35 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-01-26 17:53:35 +0900 |
| commit | 0854f2e180be7b2ed4e7ea68d7f45cc156a95627 (patch) | |
| tree | ddf9b81d6a0b3c2d3e85ba73ae3aab3c6107221a /src/server/api/common/getters.ts | |
| parent | Resolve #2253 (diff) | |
| download | sharkey-0854f2e180be7b2ed4e7ea68d7f45cc156a95627.tar.gz sharkey-0854f2e180be7b2ed4e7ea68d7f45cc156a95627.tar.bz2 sharkey-0854f2e180be7b2ed4e7ea68d7f45cc156a95627.zip | |
管理画面からリモートユーザー情報を更新できるように (#3992)
Diffstat (limited to 'src/server/api/common/getters.ts')
| -rw-r--r-- | src/server/api/common/getters.ts | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/server/api/common/getters.ts b/src/server/api/common/getters.ts index 1fce58b20a..1cd054cab1 100644 --- a/src/server/api/common/getters.ts +++ b/src/server/api/common/getters.ts @@ -1,5 +1,6 @@ import * as mongo from 'mongodb'; import Note from "../../../models/note"; +import User, { isRemoteUser, isLocalUser } from "../../../models/user"; /** * Get valied note for API processing @@ -16,3 +17,44 @@ export async function getValiedNote(noteId: mongo.ObjectID) { return note; } + +/** + * Get user for API processing + */ +export async function getUser(userId: mongo.ObjectID) { + const user = await User.findOne({ + _id: userId + }); + + if (user == null) { + throw 'user not found'; + } + + return user; +} + +/** + * Get remote user for API processing + */ +export async function getRemoteUser(userId: mongo.ObjectID) { + const user = await getUser(userId); + + if (!isRemoteUser(user)) { + throw 'user is not a remote user'; + } + + return user; +} + +/** + * Get local user for API processing + */ +export async function getLocalUser(userId: mongo.ObjectID) { + const user = await getUser(userId); + + if (!isLocalUser(user)) { + throw 'user is not a local user'; + } + + return user; +} |