From a39ad1e6b8f8b5707f47fd32d9fccdde6e21d009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Mon, 3 Jul 2023 23:40:05 +0200 Subject: [PATCH] UserManager => Add get staff function --- ExpressAPI/src/managers/UserManager.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ExpressAPI/src/managers/UserManager.ts b/ExpressAPI/src/managers/UserManager.ts index f100c2d..748ca4c 100644 --- a/ExpressAPI/src/managers/UserManager.ts +++ b/ExpressAPI/src/managers/UserManager.ts @@ -1,6 +1,7 @@ -import User from '../models/User'; -import db from '../helpers/DatabaseHelper'; -import GitlabUser from '../shared/types/Gitlab/GitlabUser'; +import User from '../models/User'; +import db from '../helpers/DatabaseHelper'; +import GitlabUser from '../shared/types/Gitlab/GitlabUser'; +import EnonceStaff from '../models/EnonceStaff'; class UserManager { @@ -62,6 +63,14 @@ class UserManager { async getFromGitlabUsers(gitlabUsers: Array<GitlabUser>, createIfNotExist: boolean = false): Promise<Array<User | number>> { return Promise.all(gitlabUsers.map(gitlabUser => this.getFromGitlabUser(gitlabUser, createIfNotExist))); } + + async getStaffOfEnonce(enonceName: string): Promise<Array<User>> { + const raw = await db<User>(User.tableName) + .innerJoin(EnonceStaff.tableName, `${ EnonceStaff.tableName }.userId`, `${ User.tableName }.userId`) + .where('enonceName', enonceName); + + return raw ? raw.map(user => this.createObjectFromRawSql(user)) : []; + } } -- GitLab