mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
soft delete
This commit is contained in:
@@ -7,13 +7,13 @@ import { AttachmentTable, AttachmentTableSchema } from '../../infra/database/dex
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class AttachmentLocalDataSource extends DexieRepository<AttachmentTable> {
|
||||
export class AttachmentLocalDataSource extends DexieRepository<AttachmentTable, AttachmentTable> {
|
||||
|
||||
messageSubject = new Subject();
|
||||
|
||||
constructor() {
|
||||
super(chatDatabase.attachment, AttachmentTableSchema)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import { from } from 'rxjs';
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class MemberListLocalRepository extends DexieRepository<MemberTable> {
|
||||
export class MemberListLocalRepository extends DexieRepository<MemberTable, MemberTable> {
|
||||
|
||||
constructor() {
|
||||
super(chatDatabase.members, MemberTableSchema)
|
||||
@@ -35,13 +35,6 @@ export class MemberListLocalRepository extends DexieRepository<MemberTable> {
|
||||
async addMember(data: MemberTable) {
|
||||
data.$roomIdUserId = data.roomId + data.wxUserId
|
||||
return this.insert(data)
|
||||
// try {
|
||||
// data.$roomIdUserId = data.roomId + data.wxUserId
|
||||
// const result = await chatDatabase.members.add(data)
|
||||
// return ok(result)
|
||||
// } catch (e) {
|
||||
// return err(false)
|
||||
// }
|
||||
}
|
||||
|
||||
async updateMemberRole(data: MemberTable) {
|
||||
@@ -85,15 +78,11 @@ export class MemberListLocalRepository extends DexieRepository<MemberTable> {
|
||||
|
||||
async removeMemberFromRoom($roomIdUserId): Promise<Result<any ,any>> {
|
||||
try {
|
||||
|
||||
const member = await chatDatabase.members.where({ $roomIdUserId: $roomIdUserId }).first();
|
||||
|
||||
if (member) {
|
||||
const result = ok(await chatDatabase.members.delete($roomIdUserId));
|
||||
console.log(`Member with $roomIdUserId ${$roomIdUserId} removed from room ${member.roomId}.`);
|
||||
return result
|
||||
} else {
|
||||
console.log(`No member found with $roomIdUserId ${$roomIdUserId}`);
|
||||
return err('not Found')
|
||||
}
|
||||
|
||||
|
||||
+9
@@ -55,6 +55,11 @@ export class MessageSocketRepositoryService {
|
||||
|
||||
|
||||
async sendGroupMessage(data: MessageInputDTO) {
|
||||
|
||||
if(data['requestId']) {
|
||||
data['requestId'] = InstanceId +'@'+ uuidv4();
|
||||
}
|
||||
|
||||
const result = await this.socket.sendData<MessageOutPutDataDTO>({
|
||||
method: 'sendMessage',
|
||||
data: data,
|
||||
@@ -64,6 +69,10 @@ export class MessageSocketRepositoryService {
|
||||
}
|
||||
|
||||
async sendDirectMessage(data: MessageInputDTO) {
|
||||
|
||||
if(data['requestId']) {
|
||||
data['requestId'] = InstanceId +'@'+ uuidv4();
|
||||
}
|
||||
const result = await this.socket.sendData<MessageOutPutDataDTO>({
|
||||
method: 'SendDirectMessage',
|
||||
data: data as any,
|
||||
|
||||
@@ -3,7 +3,7 @@ import { liveQuery } from 'Dexie';
|
||||
import { err, ok, Result } from 'neverthrow';
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
import { filter } from 'rxjs/operators';
|
||||
import { MessageEntity } from '../../../domain/entity/message';
|
||||
import { MessageEntity } from '../../../../../core/chat/entity/message';
|
||||
import { DexieRepository } from 'src/app/infra/repository/dexie/dexie-repository.service';
|
||||
import { MessageTable, MessageTableSchema } from 'src/app/module/chat/infra/database/dexie/schema/message';
|
||||
import { chatDatabase } from '../../../infra/database/dexie/service';
|
||||
@@ -12,7 +12,7 @@ import { Observable as DexieObservable, PromiseExtended } from 'Dexie';
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class MessageLocalDataSourceService extends DexieRepository<MessageTable> {
|
||||
export class MessageLocalDataSourceService extends DexieRepository<MessageTable, MessageEntity> {
|
||||
|
||||
messageSubject = new Subject();
|
||||
|
||||
@@ -28,7 +28,6 @@ export class MessageLocalDataSourceService extends DexieRepository<MessageTable>
|
||||
// Perform the update operation within the transaction
|
||||
await chatDatabase.message.toCollection().modify({ sending: false });
|
||||
});
|
||||
console.log('All messages updated successfully.');
|
||||
} catch (error) {
|
||||
console.error('Error updating messages:', error);
|
||||
}
|
||||
@@ -49,7 +48,7 @@ export class MessageLocalDataSourceService extends DexieRepository<MessageTable>
|
||||
}
|
||||
}
|
||||
|
||||
async deleteByMessageId(id: string): Promise<Result<undefined|MessageTable, any>> {
|
||||
async deleteByMessageId(id: string): Promise<Result<undefined|number, any>> {
|
||||
try {
|
||||
console.log(id)
|
||||
const lastMessage = await chatDatabase.message
|
||||
@@ -197,10 +196,6 @@ export class MessageLocalDataSourceService extends DexieRepository<MessageTable>
|
||||
.filter(msg => typeof msg.id !== 'string' && msg.sending == false)
|
||||
.toArray();
|
||||
|
||||
|
||||
console.log("======================================================================")
|
||||
console.log({localMessage:allMessages})
|
||||
|
||||
return allMessages as MessageEntity[];
|
||||
} catch (error) {
|
||||
console.error('Error fetching messages:', error);
|
||||
|
||||
@@ -12,7 +12,7 @@ import { from } from 'rxjs';
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class RoomLocalRepository extends DexieRepository<RoomTable> {
|
||||
export class RoomLocalRepository extends DexieRepository<RoomTable, RoomTable> {
|
||||
|
||||
constructor() {
|
||||
super(chatDatabase.room, RoomTableSchema)
|
||||
|
||||
Reference in New Issue
Block a user