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:
@ -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 : ""
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user