diff --git a/src/app/services/Repositorys/contacts/data-source/contacts-data-source.service.ts b/src/app/services/Repositorys/contacts/data-source/contacts-data-source.service.ts index 6d08afd19..97f8e41a5 100644 --- a/src/app/services/Repositorys/contacts/data-source/contacts-data-source.service.ts +++ b/src/app/services/Repositorys/contacts/data-source/contacts-data-source.service.ts @@ -11,11 +11,16 @@ export interface UserContacts { wxeMail: string | null; userPhoto: string | null; } + +export interface UserListResult { + total: 192, + result: UserContacts[] +} export interface UserList { success: boolean; message: string; - data: UserContacts[]; + data: UserListResult; } @Injectable({ diff --git a/src/app/shared/chat/messages/contacts/contacts.page.ts b/src/app/shared/chat/messages/contacts/contacts.page.ts index 99b86d7d8..7de79db90 100644 --- a/src/app/shared/chat/messages/contacts/contacts.page.ts +++ b/src/app/shared/chat/messages/contacts/contacts.page.ts @@ -8,6 +8,7 @@ import { ChatSystemService } from 'src/app/services/chat/chat-system.service' import { SessionStore } from 'src/app/store/session.service'; import { ContactRepositoryService } from 'src/app/services/Repositorys/contacts/repository/contacts-repository.service'; import { UserContacts } from 'src/app/services/Repositorys/contacts/data-source/contacts-data-source.service'; +import { RoomRepositoryService } from 'src/app/services/Repositorys/chat/repository/room-repository.service'; @@ -47,7 +48,8 @@ export class ContactsPage implements OnInit { private chatService: ChatService, public ThemeService: ThemeService, public ChatSystemService: ChatSystemService, - private contactsRepositoryService: ContactRepositoryService + private contactsRepositoryService: ContactRepositoryService, + private roomRepositoryService: RoomRepositoryService ) { this.loggedUser = SessionStore.user.ChatData['data']; this.textSearch = ""; @@ -71,11 +73,12 @@ export class ContactsPage implements OnInit { } openMessagesPage(username: string) { - if (window.innerWidth < 701) { + this.createRoom(username); + /* if (window.innerWidth < 701) { this.createRoom(username); } else { - let body = { + let body = { username: username, } @@ -91,18 +94,27 @@ export class ContactsPage implements OnInit { }, () => { this.loading = false - }); - } + }); + }*/ } async loadUsers() { - /* this.ChatSystemService.getUser() */ - let users = await this.contactsRepositoryService.getUsers() - if (users.isOk()) { - this.originalUserList = users.value.data - this.userList = [...this.originalUserList]; - this.userList.sort((a, b) => a.wxFullName.toLowerCase().localeCompare(b.wxFullName.toLowerCase())); - console.log(users.value.data) + try { + let users = await this.contactsRepositoryService.getUsers(); + if (users.isOk()) { + const userData = users.value.data.result; + console.log(userData) + this.originalUserList = userData; + this.userList = [...this.originalUserList]; + this.userList.sort((a, b) => a.wxFullName.toLowerCase().localeCompare(b.wxFullName.toLowerCase())); + console.log('User data loaded successfully:', this.originalUserList); + } else { + console.error('Failed to fetch users:', users.error); + } + this.loading = false; + } catch (error) { + console.error('Error loading users', error); + this.loading = false; } } @@ -138,16 +150,21 @@ export class ContactsPage implements OnInit { } - createRoom(username: string) { + async createRoom(username: string) { let body = { - username: username, + roomName: username, + createdBy: SessionStore.user.UserId, + roomType: 0, + expirationDate: "" } - this.chatService.createRoom(body).subscribe(res => { - - this.room = res['room']; - this.openMessagesModal(this.room._id); - this.ChatSystemService.getAllRooms() - }); + let room = await this.roomRepositoryService.create(body) + console.log(room) + /* this.chatService.createRoom(body).subscribe(res => { + + this.room = res['room']; + this.openMessagesModal(this.room._id); + this.ChatSystemService.getAllRooms() + }); */ } async openMessagesModal(roomId: any) {