|
|
@ -1,23 +1,21 @@ |
|
|
|
import * as log from "loglevel"; |
|
|
|
import { ChatMessageDTO } from "../dto/ChatMessageDTO"; |
|
|
|
import { EncryptionService } from "../service/EncryptionService"; |
|
|
|
import { SJCLEncryptionService } from "../service/SJCLEncryptionService"; |
|
|
|
import { EncryptionServiceFactory } from "../service/EncryptionServiceFactory"; |
|
|
|
import { JsonAPI } from "../singleton/JsonAPI"; |
|
|
|
import { Sprintf } from "../singleton/Sprintf"; |
|
|
|
import { ChatMessageViewModel } from "../viewmodel/ChatMessageViewModel"; |
|
|
|
import { ChatModel } from "./ChatModel"; |
|
|
|
import { fetchErrorHandler } from "./FetchErrorHandler"; |
|
|
|
|
|
|
|
export class ChatModelHelper { |
|
|
|
private static readonly _encryptionService: EncryptionService = new SJCLEncryptionService(); |
|
|
|
private static readonly _encryptionService: EncryptionService = EncryptionServiceFactory.getEncryptionService(); |
|
|
|
|
|
|
|
public static async getMessages(userName: string, passphrase: string, page: number | null, lastMessageTime: string | null, chatModel: ChatModel): Promise<ChatMessageViewModel[]> { |
|
|
|
public static async getMessages(userName: string, passphrase: string, page: number | null, lastMessageTime: string | null): Promise<ChatMessageViewModel[]> { |
|
|
|
switch (lastMessageTime) { |
|
|
|
case null: { |
|
|
|
const data: ChatMessageDTO[] = await this.getPaginatedMessagesAjax(userName, page!); |
|
|
|
const data2 = Promise.all(data.map(vm => this.toChatMessageVMAsync(vm, passphrase)).reverse()); |
|
|
|
return data2; |
|
|
|
// return data.map(vm => this.toChatMessageVM(vm, passphrase)).reverse();
|
|
|
|
const cVMs = Promise.all(data.map(vm => this.toChatMessageVMAsync(vm, passphrase)).reverse()); |
|
|
|
return cVMs; |
|
|
|
} |
|
|
|
default: { |
|
|
|
const data: ChatMessageDTO[] = await this.getNewMessagesAjax(userName, lastMessageTime); |
|
|
|