mirror of
https://gitlab.com/comunic/comunicapiv2
synced 2025-02-16 22:22:39 +00:00
46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
|
import { Comment } from "../entities/Comment";
|
||
|
import { DatabaseHelper } from "./DatabaseHelper";
|
||
|
|
||
|
/**
|
||
|
* Comments helper
|
||
|
*
|
||
|
* @author Pierre HUBERT
|
||
|
*/
|
||
|
|
||
|
const COMMENTS_TABLE = "commentaires";
|
||
|
|
||
|
export class CommentsHelper {
|
||
|
|
||
|
/**
|
||
|
* Get the comments of a POST
|
||
|
*
|
||
|
* @param postID Target post ID
|
||
|
*/
|
||
|
public static async Get(postID: number) : Promise<Array<Comment>> {
|
||
|
const results = await DatabaseHelper.Query({
|
||
|
table: COMMENTS_TABLE,
|
||
|
where: {
|
||
|
ID_texte: postID
|
||
|
},
|
||
|
order: "ID"
|
||
|
});
|
||
|
|
||
|
return results.map(this.DbToComment);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Turn a database entry into a Comment object
|
||
|
*
|
||
|
* @param row Database entry
|
||
|
*/
|
||
|
private static DbToComment(row: any) : Comment {
|
||
|
return new Comment({
|
||
|
id: row.ID,
|
||
|
userID: row.ID_personne,
|
||
|
postID: row.ID_texte,
|
||
|
timeSent: row.time_insert == null ? new Date(row.date_envoi).getTime() / 100 : row.time_insert,
|
||
|
content: row.commentaire,
|
||
|
imagePath: (row.image_commentaire != null && row.image_commentaire != "") ? row.image_commentaire.replace("file:", "") : null
|
||
|
});
|
||
|
}
|
||
|
}
|