This commit is contained in:
Peter Maquiran
2022-03-23 22:01:59 +01:00
parent 2728475815
commit 6960333d0a
4 changed files with 101 additions and 96 deletions
+34 -27
View File
@@ -360,40 +360,41 @@ export class RoomService {
* @param id message ID
*/
async deleteMessage(_id) {
alert('delete!!!')
const id = _id
for (let i =0; i <= this.messages.length; i++) {
console.log('message._id == id',this.messages[i]?._id, id, i, this.messages[i]?._id == id)
if(this.messages[i]?._id == id ) {
this.messages.splice(i, 1)
// console.log(_id,'==',this.messages[i]?._id, true)
this.messages.splice(i, 1)
if (SessionStore.user.RochetChatUser == this.messages[i].u.username) {
const allMemberThatIsOffline = this.getAllMemberThatIsOffline()
if (SessionStore.user.RochetChatUser == this.messages[i].u.username) {
const allMemberThatIsOffline = this.getAllMemberThatIsOffline()
DeleteMessageModel.create({
messageId: this.messages[i]._id,
rid: this.messages[i].rid,
ts: this.messages[i].ts,
u: this.messages[i].u,
needToReceiveBy: allMemberThatIsOffline
})
}
this.messages[i].delateStatusFalse()
this.messages[i].delateDB()
//Get previous last message from room
const previousLastMessage = this.messages.slice(-1)[0];
this.lastMessage = previousLastMessage;
this.calDateDuration(previousLastMessage._updatedAt)
this.sortRoomList()
DeleteMessageModel.create({
messageId: this.messages[i]._id,
rid: this.messages[i].rid,
ts: this.messages[i].ts,
u: this.messages[i].u,
needToReceiveBy: allMemberThatIsOffline
})
}
this.messages[i].delateDB()
//Get previous last message from room
const previousLastMessage = this.messages.slice(-1)[0];
this.lastMessage = previousLastMessage;
this.calDateDuration(previousLastMessage._updatedAt)
this.sortRoomList()
return true
} else {
console.log(_id,'==',this.messages[i]?._id, false)
}
}
@@ -420,18 +421,24 @@ export class RoomService {
async sendDeleteRequest(msgId) {
const message = this.messages.find((e)=>e._id = msgId)
message.delateStatusFalse()
// await message.delateStatusFalse()
this.ChatMethodsService.deleteMessage({_id:msgId, msgId:msgId, roomId:message.rid}).subscribe(
(response: any) => {
const message = this.messages.find((e)=>e._id = msgId)
message.delateRequest = true
message.save()
},
(response) => {
if (response.error.error.startsWith('No message found with the id of')) {
// alert('not found')
this.deleteMessage(msgId)
const message = this.messages.find((e)=>e._id = msgId)
message.delateRequest = true
} else {
this.WsChatService.registerCallback({
type: 'reConnect',