import { User, UserPageStatus } from "../entities/User"; import { DatabaseHelper } from "./DatabaseHelper"; import { AccountImageHelper } from "./AccountImageHelper"; /** * 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 { const result = await DatabaseHelper.QueryRow({ table: TABLE_NAME, where: { ID: id } }); if(!result) return null; return this.DbToUser(result); } private static async DbToUser(row: any) : Promise { 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), accountImage: await AccountImageHelper.Get(row.ID) }); } }