From a3d21732c354cc47530eb6137ededc302794c82b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me>
Date: Wed, 28 Jun 2023 21:44:18 +0200
Subject: [PATCH] UserManager => Add get by id functions

---
 ExpressAPI/src/managers/UserManager.ts | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/ExpressAPI/src/managers/UserManager.ts b/ExpressAPI/src/managers/UserManager.ts
index 81f1296..7688789 100644
--- a/ExpressAPI/src/managers/UserManager.ts
+++ b/ExpressAPI/src/managers/UserManager.ts
@@ -34,6 +34,16 @@ class UserManager {
     async getByIds(ids: Array<number>): Promise<Array<User>> {
         return Promise.all(ids.map(userId => this.getById(userId)));
     }
+
+    async getByGitlabId(gitlabId: number): Promise<User | undefined> {
+        const raw = await db<User>(User.tableName).where('userGitlabId', gitlabId).first();
+
+        return raw ? this.createObjectFromRawSql(raw) : undefined;
+    }
+
+    async getByGitlabIds(gitlabIds: Array<number>): Promise<Array<User>> {
+        return Promise.all(gitlabIds.map(gitlabId => this.getByGitlabId(gitlabId)));
+    }
 }
 
 
-- 
GitLab