This commit is contained in:
Peter Maquiran
2024-10-08 13:16:01 +01:00
parent 0dd4fd665b
commit 9c8ecc182f
22 changed files with 121 additions and 60 deletions
@@ -39,6 +39,7 @@ export class RoomBoldSyncUseCaseService {
*/
private listenToIncomingMessage() {
return this.MessageSocketRepositoryService.listenToMessages().pipe(
map(message => message.data),
filter((message) => !message?.requestId?.startsWith(InstanceId)),
map(message => Object.assign(new MessageEntity(), message)),
filter((message) => !message.meSender())
@@ -9,6 +9,7 @@ import { RoomEntity } from 'src/app/core/chat/entity/group';
import { RoomTable } from 'src/app/infra/database/dexie/instance/chat/schema/room';
import { IMessageLocalRepository } from 'src/app/core/chat/repository/message/message-local-repository';
import { messageListDetermineChanges } from '../../../data/async/list/rooms/messageListChangedetector';
import { IDBoolean } from 'src/app/infra/database/dexie/type';
@Injectable({
providedIn: 'root'
@@ -80,9 +81,10 @@ export class RoomSetLastMessageService {
}
private listenToIncomingMessage() {
return this.messageSocketRepository.listenToMessages().pipe(
map(message => Object.assign(new MessageEntity(), message))
).subscribe(async (message) => {
return this.messageSocketRepository.listenToMessages()
.subscribe(async (e) => {
const message = Object.assign(new MessageEntity(), e.data)
if(message?.roomId) {
console.log('listenToIncomingMessage', message.roomId)
@@ -100,6 +102,18 @@ export class RoomSetLastMessageService {
} else {
console.log('set last message')
}
} else if (findRoom.isOk() && !findRoom.value && e.payload.receiverId) {
// console.log('new room', e)
const findLocalDirectRoom = await this.roomLocalRepository.findOne({
receiverId: e.payload.receiverId
})
if(findLocalDirectRoom.isOk() && findLocalDirectRoom.value) {
findLocalDirectRoom.value.id = message.roomId
findLocalDirectRoom.value.local = IDBoolean.false
findLocalDirectRoom.value.messages = [message];
await findLocalDirectRoom.value.save()
}
}
}
});