summaryrefslogtreecommitdiff
path: root/src/server/api/common/getters.ts
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-01-26 17:53:35 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-01-26 17:53:35 +0900
commit0854f2e180be7b2ed4e7ea68d7f45cc156a95627 (patch)
treeddf9b81d6a0b3c2d3e85ba73ae3aab3c6107221a /src/server/api/common/getters.ts
parentResolve #2253 (diff)
downloadsharkey-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.ts42
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;
+}