mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
set member to admin
This commit is contained in:
@@ -59,8 +59,8 @@ export class MessageRepositoryService {
|
||||
|
||||
let clone: TableMessage = {
|
||||
...sendMessageResult.value,
|
||||
messageId: sendMessageResult.value.id,
|
||||
id : localActionResult.value
|
||||
id: sendMessageResult.value.id,
|
||||
$id : localActionResult.value
|
||||
}
|
||||
|
||||
// console.log({clone})
|
||||
@@ -89,7 +89,7 @@ export class MessageRepositoryService {
|
||||
if(result.isOk()) {
|
||||
if(result.value) {
|
||||
|
||||
return await this.messageLiveSignalRDataSourceService.sendReadAt({roomId, memberId: SessionStore.user.UserId, chatMessageId: result.value.messageId})
|
||||
return await this.messageLiveSignalRDataSourceService.sendReadAt({roomId, memberId: SessionStore.user.UserId, chatMessageId: result.value.id})
|
||||
}
|
||||
return ok(true)
|
||||
}
|
||||
@@ -117,10 +117,7 @@ export class MessageRepositoryService {
|
||||
|
||||
for(const message of result.value.data) {
|
||||
let clone: TableMessage = message
|
||||
clone.messageId = message.id
|
||||
clone.roomId = id
|
||||
delete clone.id
|
||||
|
||||
await this.messageLocalDataSourceService.findOrUpdate(clone)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,9 @@ import { SessionStore } from 'src/app/store/session.service';
|
||||
import { RoomLiveDataSourceService } from '../data-source/room/room-live-data-source.service';
|
||||
import { isHttpResponse } from 'src/app/services/http.service';
|
||||
import { MessageLiveDataSourceService } from '../data-source/message/message-live-data-source.service';
|
||||
import { MemberListUPdateStatusInputDTO } from '../../domain/use-case/socket/member-list-update-status-use-case.service';
|
||||
import { MemberSetAdminDTO } from '../../domain/use-case/member-admin-use-case.service';
|
||||
import { MemberListMapper } from '../../domain/mapper/memberLIstMapper';
|
||||
|
||||
|
||||
function date(isoDateString) {
|
||||
@@ -54,46 +57,36 @@ export class RoomRepositoryService {
|
||||
const { roomsToDelete, roomsToInsert, roomsToUpdate } = roomListDetermineChanges(result.value.data, localList)
|
||||
|
||||
for( const roomData of roomsToInsert) {
|
||||
|
||||
// roomData["lastMessage"] = {
|
||||
// sentAt: date(roomData.createdAt),
|
||||
// message: "",
|
||||
// sender: {
|
||||
// wxUserId: "",
|
||||
// wxFullName: "",
|
||||
// },
|
||||
// }
|
||||
|
||||
this.roomLocalDataSourceService.createRoom(roomData.chatRoom)
|
||||
}
|
||||
|
||||
for( const roomData of roomsToUpdate) {
|
||||
|
||||
// roomData["lastMessage"] = {
|
||||
// sentAt: date(roomData.createdAt),
|
||||
// message: "",
|
||||
// sender: {
|
||||
// wxUserId: "",
|
||||
// wxFullName: "",
|
||||
// },
|
||||
// }
|
||||
|
||||
this.roomLocalDataSourceService.updateRoom(roomData.chatRoom)
|
||||
}
|
||||
|
||||
for( const roomData of roomsToDelete) {
|
||||
|
||||
// roomData["lastMessage"] = {
|
||||
// sentAt: date(roomData.createdAt),
|
||||
// message: "",
|
||||
// sender: {
|
||||
// wxUserId: 0,
|
||||
// wxFullName: "",
|
||||
// },
|
||||
// }
|
||||
|
||||
this.roomLocalDataSourceService.deleteRoomById(roomData.id)
|
||||
}
|
||||
|
||||
try {
|
||||
const rooms = roomsToInsert.concat(roomsToUpdate)
|
||||
|
||||
for(const room of rooms) {
|
||||
const expirationDate = new Date(room.chatRoom.expirationDate);
|
||||
const now = new Date();
|
||||
if (room.chatRoom.expirationDate != null && expirationDate.getTime() >= now.getTime()) {
|
||||
const timeRemaining = expirationDate.getTime() - now.getTime();
|
||||
setTimeout(() => {
|
||||
this.list()
|
||||
}, timeRemaining)
|
||||
}
|
||||
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return result
|
||||
}
|
||||
@@ -142,20 +135,17 @@ export class RoomRepositoryService {
|
||||
const { membersToInsert, membersToUpdate, membersToDelete } = roomMemberListDetermineChanges(result.value.data.members, localList, id)
|
||||
|
||||
for (const user of membersToInsert) {
|
||||
await this.roomLocalDataSourceService.addMember({...user, roomId:id})
|
||||
await this.roomLocalDataSourceService.addMember(MemberListMapper(user, id))
|
||||
}
|
||||
|
||||
for (const user of membersToUpdate) {
|
||||
await this.roomLocalDataSourceService.updateMemberRole(MemberListMapper(user, id))
|
||||
}
|
||||
|
||||
for(const user of membersToDelete) {
|
||||
await this.roomLocalDataSourceService.removeMemberFromRoom(user.$roomIdUserId)
|
||||
}
|
||||
|
||||
const __localListRoom = await this.roomLocalDataSourceService.getRoomList()
|
||||
|
||||
// this.roomLiveDataSourceService.getRoomById({
|
||||
// type:'memberList',
|
||||
// payload: __localListRoom
|
||||
// })
|
||||
|
||||
} else if (isHttpResponse(result.error) ) {
|
||||
if(result.error.status == 404) {
|
||||
await this.roomLocalDataSourceService.deleteRoomById(id)
|
||||
@@ -238,6 +228,12 @@ export class RoomRepositoryService {
|
||||
return result
|
||||
}
|
||||
|
||||
async updateMemberStatus(data: MemberListUPdateStatusInputDTO) {
|
||||
const result = await this.roomLocalDataSourceService.updateMembersStatus(data)
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
@captureAndReraiseAsync('RoomRepositoryService/removeMemberToRoom')
|
||||
async removeMemberToRoom(data: UserRemoveListInputDTO) {
|
||||
@@ -246,6 +242,11 @@ export class RoomRepositoryService {
|
||||
return result
|
||||
}
|
||||
|
||||
setAdmin(input: MemberSetAdminDTO) {
|
||||
return this.roomRemoteDataSourceService.setAmin(input);
|
||||
}
|
||||
|
||||
|
||||
|
||||
async leaveRoom(data: UserRemoveListInputDTO) {
|
||||
const result = await this.roomRemoteDataSourceService.removeMemberFromRoom(data)
|
||||
@@ -280,4 +281,13 @@ export class RoomRepositoryService {
|
||||
return this.roomLocalDataSourceService.getRoomMemberById(roomId)
|
||||
}
|
||||
|
||||
|
||||
getRoomStatus(roomId:string) {
|
||||
return this.roomLocalDataSourceService.allMemberOnline(roomId);
|
||||
}
|
||||
|
||||
|
||||
getRoomMemberNoneAdminByIdLive(roomId) {
|
||||
return this.roomLocalDataSourceService.getRoomMemberNoneAdminByIdLive(roomId)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user