mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Merge branch 'feature/chat-new-api-peter' into feature/chat-new-api-eudes
This commit is contained in:
@@ -167,6 +167,7 @@ export class ChatPage implements OnInit {
|
||||
ngOnInit() {
|
||||
|
||||
this.items$ = this.RoomRepositoryService.getItemsLive()
|
||||
this.RoomRepositoryService.list();
|
||||
|
||||
this.segment = "Contactos";
|
||||
|
||||
|
||||
+2
-2
@@ -23,8 +23,8 @@ export class RoomRemoteDataSourceService {
|
||||
return await this.httpService.post<RoomOutPutDTO>(`${this.baseUrl}/Room`, data);
|
||||
}
|
||||
|
||||
async getRoomList(): Promise<Result<RoomListOutPutDTO ,any>> {
|
||||
return await this.httpService.get<any>(`${this.baseUrl}/Room`);
|
||||
async getRoomList(): Promise<DataSourceReturn<RoomListOutPutDTO>> {
|
||||
return await this.httpService.get<RoomListOutPutDTO>(`${this.baseUrl}/Room`);
|
||||
}
|
||||
|
||||
async getRoom(id: string): Promise<Result<any ,any>> {
|
||||
|
||||
+35
-4
@@ -24,10 +24,13 @@ export const roomDataSource = new Dexie('FriendDatabase') as Dexie & {
|
||||
room: EntityTable<TableRoom, 'id'>;
|
||||
};
|
||||
|
||||
|
||||
|
||||
roomDataSource.version(1).stores({
|
||||
room: '++id, createdBy, roomName, roomType, expirationDate'
|
||||
room: 'id, createdBy, roomName, roomType, expirationDate'
|
||||
});
|
||||
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
@@ -38,10 +41,38 @@ export class RoomLocalDataSourceService {
|
||||
constructor() {}
|
||||
|
||||
|
||||
async createRoom(data: RoomOutPutDTO) {
|
||||
|
||||
async createRoom(data: TableRoom) {
|
||||
try {
|
||||
const result = await roomDataSource.room.add(data.data)
|
||||
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)
|
||||
|
||||
@@ -15,8 +15,15 @@ const RoomListItemOutPutDTOSchema = z.object({
|
||||
expirationDate: z.string().datetime(),
|
||||
roomType: z.number()
|
||||
});
|
||||
|
||||
|
||||
// Define the schema for the entire response
|
||||
const RoomListOutPutDTOSchema = z.object({
|
||||
success: z.boolean(),
|
||||
message: z.string(),
|
||||
data: z.array(RoomListItemOutPutDTOSchema),
|
||||
});
|
||||
|
||||
export type RoomListItemOutPutDTO = z.infer<typeof RoomListItemOutPutDTOSchema>
|
||||
|
||||
|
||||
const RoomListOutPutDTOSchema = z.array(RoomListItemOutPutDTOSchema);
|
||||
export type RoomListOutPutDTO = z.infer<typeof RoomListOutPutDTOSchema>
|
||||
|
||||
@@ -21,6 +21,12 @@ export class RoomRepositoryService {
|
||||
|
||||
async list() {
|
||||
const result = await this.roomRemoteDataSourceService.getRoomList()
|
||||
|
||||
if(result.isOk()) {
|
||||
for( const roomData of result.value.data) {
|
||||
this.roomLocalDataSourceService.createOrUpdateRoom(roomData)
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -35,7 +41,7 @@ export class RoomRepositoryService {
|
||||
console.log('result', result)
|
||||
this.roomMemoryDataSourceService.dispatch( addRoom(result.value) )
|
||||
|
||||
this.roomLocalDataSourceService.createRoom(result.value)
|
||||
this.roomLocalDataSourceService.createRoom(result.value.data)
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -183,7 +183,7 @@ export class NewGroupPage implements OnInit{
|
||||
|
||||
if(result.isOk()) {
|
||||
|
||||
this.addGroupMessage.emit(result);
|
||||
// this.addGroupMessage.emit(result);
|
||||
|
||||
} else if(result.error instanceof HttpErrorResponse) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user