fix duplicate message

This commit is contained in:
Peter Maquiran
2024-08-01 16:38:08 +01:00
parent 82e4acbe87
commit 8774cef0b2
3 changed files with 52 additions and 18 deletions
@@ -53,7 +53,7 @@ export const messageDataSource = new Dexie('chat-message') as Dexie & {
};
messageDataSource.version(1).stores({
message: '++id, roomId, message, messageType, canEdit, oneShot, requireUnlock, messageId'
message: '++id, roomId, message, messageType, canEdit, oneShot, requireUnlock, messageId, info'
});
@Injectable({
@@ -136,13 +136,16 @@ export class MessageLocalDataSourceService {
async messageExist({messageId}) {
try {
console.log({messageId});
const existingMessage = await messageDataSource.message
.where('messageId')
.equals(messageId)
.first();
if (existingMessage) {
return ok(true)
return ok(existingMessage)
} else {
return err(false)
}
@@ -165,6 +168,18 @@ export class MessageLocalDataSourceService {
}
async updateByMessageId(data: TableMessage ) {
try {
const result = await messageDataSource.message.update(data.id, data)
return ok(result)
} catch (e) {
return err(false)
}
}
async findOrUpdate(data: TableMessage) {
const findResult = await this.findMessageById(data.messageId)