Skip to content
Snippets Groups Projects
Commit 83dc1d86 authored by michael.minelli's avatar michael.minelli
Browse files

Managers => Add user manager

parent 869804e1
No related branches found
No related tags found
No related merge requests found
import User from '../models/User';
import db from '../helpers/DatabaseHelper';
class UserManager {
private static _instance: UserManager;
private constructor() { }
public static get instance(): UserManager {
if ( !UserManager._instance ) {
UserManager._instance = new UserManager();
}
return UserManager._instance;
}
createObjectFromRawSql(raw: any): User {
return User.createFromSql(raw);
}
async getByMail(mail: string): Promise<User | undefined> {
const raw = await db<User>(User.tableName).where('userMail', mail).first();
return raw ? this.createObjectFromRawSql(raw) : undefined;
}
async getById(id: number): Promise<User | undefined> {
const raw = await db<User>(User.tableName).where('userID', id).first();
return raw ? this.createObjectFromRawSql(raw) : undefined;
}
async getByIds(ids: Array<number>): Promise<Array<User>> {
return Promise.all(ids.map(userId => this.getById(userId)));
}
}
export default UserManager.instance;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment