1
0
mirror of https://gitlab.com/comunic/comunicapiv2 synced 2025-06-20 00:25:17 +00:00

Can open new conversations

This commit is contained in:
2019-11-30 15:17:47 +01:00
parent abd6514b59
commit 46f6e15b02
4 changed files with 124 additions and 0 deletions

View File

@ -1,6 +1,7 @@
import { Conversation, BaseConversation } from "../entities/Conversation";
import { DatabaseHelper } from "./DatabaseHelper";
import { time } from "../utils/DateUtils";
import { ConversationMessage } from "../entities/ConversationMessage";
/**
* Conversations helper
@ -240,6 +241,23 @@ export class ConversationsHelper {
}) == 1;
}
/**
* Get the last messages of a conversation
*
* @param convID Target conversation ID
* @param numberOfMessages The maximum number of messages to return
*/
public static async GetLastMessages(convID: number, numberOfMessages: number) : Promise<Array<ConversationMessage>> {
return (await DatabaseHelper.Query({
table: MESSAGES_TABLE,
where: {
conv_id: convID
},
limit: numberOfMessages,
order: "id DESC"
})).map(m => this.DBToConversationMessage(convID, m));
}
/**
* Get the list of members of a conversation
*
@ -274,4 +292,22 @@ export class ConversationsHelper {
members: await this.GetConversationMembers(row.id)
}
}
/**
* Turn a database entry into a conversation message
*
* @param convID The ID of the conversation the message belongs to
* @param row Row to convert
* @return Generated conversation message
*/
private static DBToConversationMessage(convID: number, row: any) : ConversationMessage {
return new ConversationMessage({
id: row.id,
convID: convID,
userID: row.user_id,
timeSent: row.time_insert,
imagePath: row.image_path ? row.image_path : "",
message: row.message ? row.message : ""
});
}
}