@Sweg wrote:
In my Ionic / Angular app, I have the following
Conversation
&Message
models: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: Date ) { } }
Here is where I am populating the data:
private _conversations = new BehaviorSubject<Conversation[]>([ new Conversation( 'conversation1', 'user3', 'user1', [ new Message('message1', 'Test message', 'user3', new Date(2018, 0O5, 0O5, 17, 23, 42, 11)), new Message('message2', 'Another message', 'user1', new Date(2018, 0O6, 0O5, 17, 23, 42, 11)) ]), new Conversation( 'conversation2', 'user4', 'user2', [ new Message('message3', 'my message', 'user4', new Date(2018, 0O7, 0O7, 17, 23, 42, 11)), new Message('message4', 'more messages', 'user2', new Date(2018, 0O7, 0O7, 17, 23, 42, 11)), ]) ]);
I am trying to delete a specified
Message
within aConversation
.For example, I want to delete the message with
id = message3
, which is insideconversation2
.I am currently able to delete an entire
Conversation
:deleteConversation(convoId: string) { return this.conversations.pipe( take(1), delay(1000), tap(conversations => { this._conversations.next(conversations.filter(convo => convo.id !== convoId)); })); }
But I am struggling applying this code to
deleteMessage()
:deleteMessage(conversationId: string, messageId: string) { return this.conversations.pipe( take(1), delay(1000), tap(conversations => { }) ) }
Posts: 1
Participants: 1