Ниже представлены модели Conversation
& Message
, которые я использую в своем приложении Ioni c 5 / Angular:
export class Conversation {
constructor(
public id: string,
public userId: string,
public mechanicId: string,
public messages: Message[]
) { }
}
А вот модель сообщения:
export class Message {
constructor(
public id: string,
public text: string,
public userId: string,
public timestamp: string
) { }
}
Когда пользователь создает объект Conversation
, я хочу, чтобы он добавил 1 Message
объект в Conversation
.
Затем, когда другие применения обновляют , Conversation
(то есть, отправляя больше сообщений) , они просто будут толкать еще один Message
к Conversation
.
Вот что у меня есть для создания Conversation
:
onSendMessage() {
this.conversationService.addConversation(
this.mechanicToContact.id,
this.form.value.message
);
}
Я попробовал следующий метод в моем ConversationService
:
addConversation(mechanicId: string, message: string) {
const newConversation = new Conversation(
Math.random().toString(),
this.authService.userId,
mechanicId,
new Message(Math.random().toString(), message, this.authService.userId, mechanicId)
);
}
Но я получаю эту ошибку при попытке создать новое Сообщение:
Аргумент типа «Сообщение» не может быть назначен параметру типа «Сообщение []»
Я не уверен, как мне передать остальные атрибуты Message
. Может кто-нибудь сказать, пожалуйста, как это делается?