1
0
mirror of https://gitlab.com/comunic/comunicapiv2 synced 2025-09-19 21:58:48 +00:00

Can fetch basic information about a user

This commit is contained in:
2019-11-23 15:11:33 +01:00
parent c1068be8f1
commit 53a616da15
4 changed files with 136 additions and 0 deletions

45
src/helpers/UserHelper.ts Normal file
View File

@@ -0,0 +1,45 @@
import { User, UserPageStatus } from "../entities/User";
import { DatabaseHelper } from "./DatabaseHelper";
/**
* User helper
*
* @author Pierre HUBERT
*/
const TABLE_NAME = "utilisateurs";
export class UserHelper {
/**
* Get information a single user
*
* @param id The ID of the user to get
* @returns Information about the user | null if not found
*/
public static async GetUserInfo(id: number) : Promise<User|null> {
const result = await DatabaseHelper.QueryRow({
table: TABLE_NAME,
where: {
ID: id
}
});
if(!result)
return null;
return this.DbToUser(result);
}
private static DbToUser(row: any) : User {
return new User({
id: row.ID,
firstName: row.prenom,
lastName: row.nom,
timeCreate: new Date(row.date_creation).getTime()/1000,
virtualDirectory: row.sous_repertoire,
pageStatus: row.pageouverte == 1 ? UserPageStatus.OPEN : (row.public == 1 ? UserPageStatus.PUBLIC : UserPageStatus.PRIVATE)
});
}
}