11import { FederationMatrix , Message , MeteorService } from '@rocket.chat/core-services' ;
22import type { IUser , IRoom , FileAttachmentProps } from '@rocket.chat/core-typings' ;
3- import type { Emitter } from '@rocket.chat/emitter' ;
4- import {
5- type FileMessageType ,
6- type MessageType ,
7- type FileMessageContent ,
8- type HomeserverEventSignatures ,
9- type EventID ,
10- federationSDK ,
11- } from '@rocket.chat/federation-sdk' ;
3+ import { type FileMessageType , type MessageType , type FileMessageContent , type EventID , federationSDK } from '@rocket.chat/federation-sdk' ;
124import { Logger } from '@rocket.chat/logger' ;
135import { Users , Rooms , Messages } from '@rocket.chat/models' ;
146
@@ -118,8 +110,8 @@ async function handleMediaMessage(
118110 } ;
119111}
120112
121- export function message ( emitter : Emitter < HomeserverEventSignatures > ) {
122- emitter . on ( 'homeserver.matrix.message' , async ( { event, event_id : eventId } ) => {
113+ export function message ( ) {
114+ federationSDK . eventEmitterService . on ( 'homeserver.matrix.message' , async ( { event, event_id : eventId } ) => {
123115 try {
124116 const { msgtype, body } = event . content ;
125117 const messageBody = body . toString ( ) ;
@@ -258,6 +250,7 @@ export function message(emitter: Emitter<HomeserverEventSignatures>) {
258250 homeServerDomain : serverName ,
259251 senderExternalId : event . sender ,
260252 } ) ;
253+
261254 await Message . saveMessageFromFederation ( {
262255 fromId : user . _id ,
263256 rid : room . _id ,
@@ -271,7 +264,7 @@ export function message(emitter: Emitter<HomeserverEventSignatures>) {
271264 }
272265 } ) ;
273266
274- emitter . on ( 'homeserver.matrix.encrypted' , async ( { event, event_id : eventId } ) => {
267+ federationSDK . eventEmitterService . on ( 'homeserver.matrix.encrypted' , async ( { event, event_id : eventId } ) => {
275268 try {
276269 if ( ! event . content . ciphertext ) {
277270 logger . debug ( 'No message content found in event' ) ;
@@ -385,7 +378,7 @@ export function message(emitter: Emitter<HomeserverEventSignatures>) {
385378 }
386379 } ) ;
387380
388- emitter . on ( 'homeserver.matrix.redaction' , async ( { event } ) => {
381+ federationSDK . eventEmitterService . on ( 'homeserver.matrix.redaction' , async ( { event } ) => {
389382 try {
390383 const redactedEventId = event . redacts ;
391384 if ( ! redactedEventId ) {
0 commit comments