diff --git a/src/app/services/Repositorys/chat/data-source/room/rooom-local-data-source.service.ts b/src/app/services/Repositorys/chat/data-source/room/rooom-local-data-source.service.ts index e16003763..bd1d5dab4 100644 --- a/src/app/services/Repositorys/chat/data-source/room/rooom-local-data-source.service.ts +++ b/src/app/services/Repositorys/chat/data-source/room/rooom-local-data-source.service.ts @@ -24,20 +24,13 @@ export const roomDataSource = new Dexie('FriendDatabase') as Dexie & { room: EntityTable; }; + + roomDataSource.version(1).stores({ - room: '++id, createdBy, roomName, roomType, expirationDate' + room: 'id, createdBy, roomName, roomType, expirationDate' }); -interface CreateRoomParams { - id?: string; - roomName?: string; - createdBy?: any; - createdAt?: Date; - expirationDate?: Date; - roomType?: any; -} - @Injectable({ providedIn: 'root' }) @@ -48,14 +41,42 @@ export class RoomLocalDataSourceService { constructor() {} - async createRoom(data: CreateRoomParams) { - + async createRoom(data: TableRoom) { try { const result = await roomDataSource.room.add(data) return ok(result) } catch (e) { return err(false) } + } + + async updateRoom(data: TableRoom) { + try { + const result = await roomDataSource.room.update(data.id, data); + + return ok(result) + } catch (e) { + return err(false) + } + } + + async createOrUpdateRoom(data: TableRoom) { + const createResult = await this.createRoom(data) + + if(createResult.isOk()) { + return this.updateRoom(data) + } else { + return createResult + } + } + + async getRoomById(id: any) { + try { + const result = await roomDataSource.room.get(id) + return ok(result) + } catch (e) { + return err(false) + } } diff --git a/src/app/services/Repositorys/chat/repository/room-repository.service.ts b/src/app/services/Repositorys/chat/repository/room-repository.service.ts index 363bdd278..f6c093d6d 100644 --- a/src/app/services/Repositorys/chat/repository/room-repository.service.ts +++ b/src/app/services/Repositorys/chat/repository/room-repository.service.ts @@ -24,7 +24,7 @@ export class RoomRepositoryService { if(result.isOk()) { for( const roomData of result.value.data) { - this.roomLocalDataSourceService.createRoom(roomData as any) + this.roomLocalDataSourceService.createOrUpdateRoom(roomData) } } return result diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 325154b25..07b85b03c 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -57,7 +57,6 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy userPresence = ''; dmUsers: any; checktimeOut: boolean; - members: any; downloadProgess = 0; @Input() roomId: string; @@ -368,7 +367,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy openBookMeetingComponent() { let data = { roomId: this.roomId, - members: this.members + members: [] } this.openNewEventPage.emit(data); } @@ -511,7 +510,6 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy // this.showLoader = false; // }); - this.members = this.ChatSystemService.getDmRoom(this.roomId).members this.dmUsers = this.ChatSystemService.getDmRoom(this.roomId).membersExcludeMe } @@ -936,7 +934,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy bookMeeting() { let data = { roomId: this.roomId, - members: this.members + members: [] } this.openNewEventPage.emit(data); } @@ -980,7 +978,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy cssClass: 'model profile-modal search-submodal', componentProps: { roomId: this.roomId, - members: this.members, + members: [], } }); @@ -992,7 +990,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy //this.closeAllDesktopComponents.emit(); let data = { roomId: this.roomId, - members: this.members + members: [] } this.openNewEventPage.emit(data); }