diff --git a/ExpressAPI/src/managers/UserManager.ts b/ExpressAPI/src/managers/UserManager.ts index f100c2d4b827e143e43b57eefcdedb0f4f5f87d5..748ca4c6248f2cd871d33cc1acd2065278801162 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)) : []; + } }