chore: Remove meteor functions from `messagePopupConfig.ts` (#35610)
Co-authored-by: Guilherme Gazzo <guilhermegazzo@gmail.com>pull/35712/head
parent
ccf77268e1
commit
02fa09f4c0
@ -1,66 +0,0 @@ |
||||
import type { IUser } from '@rocket.chat/core-typings'; |
||||
import { Meteor } from 'meteor/meteor'; |
||||
import { Tracker } from 'meteor/tracker'; |
||||
|
||||
import { RoomManager } from '../../../../client/lib/RoomManager'; |
||||
import { asReactiveSource } from '../../../../client/lib/tracker'; |
||||
import { Messages } from '../../../models/client'; |
||||
|
||||
type UserFromRoomMessage = { |
||||
_id: string; |
||||
username: string; |
||||
name: string | undefined; |
||||
ts: Date; |
||||
suggestion?: boolean; |
||||
}; |
||||
|
||||
export const usersFromRoomMessages = new Map<UserFromRoomMessage['_id'], UserFromRoomMessage>(); |
||||
|
||||
Meteor.startup(() => { |
||||
Tracker.autorun(() => { |
||||
const uid = Meteor.userId(); |
||||
const rid = asReactiveSource( |
||||
(cb) => RoomManager.on('changed', cb), |
||||
() => RoomManager.opened, |
||||
); |
||||
const user = uid ? (Meteor.users.findOne(uid, { fields: { username: 1 } }) as IUser | undefined) : undefined; |
||||
if (!rid || !user) { |
||||
return; |
||||
} |
||||
|
||||
usersFromRoomMessages.clear(); |
||||
|
||||
const uniqueMessageUsersControl: Record<string, boolean> = {}; |
||||
|
||||
Messages.find( |
||||
{ |
||||
rid, |
||||
'u.username': { $ne: user.username }, |
||||
't': { $exists: false }, |
||||
}, |
||||
{ |
||||
fields: { |
||||
'u.username': 1, |
||||
'u.name': 1, |
||||
'u._id': 1, |
||||
'ts': 1, |
||||
}, |
||||
sort: { ts: -1 }, |
||||
}, |
||||
) |
||||
.fetch() |
||||
.filter(({ u: { username } }) => { |
||||
const notMapped = !uniqueMessageUsersControl[username]; |
||||
uniqueMessageUsersControl[username] = true; |
||||
return notMapped; |
||||
}) |
||||
.forEach(({ u: { username, name, _id }, ts }) => { |
||||
usersFromRoomMessages.set(_id, { |
||||
_id, |
||||
username, |
||||
name, |
||||
ts, |
||||
}); |
||||
}); |
||||
}); |
||||
}); |
||||
Loading…
Reference in new issue