@@ -3,7 +3,6 @@ import { AppsEngineException } from '@rocket.chat/apps-engine/definition/excepti
33import { FederationMatrix , Message , Room , Team } from '@rocket.chat/core-services' ;
44import type { ICreateRoomParams , ISubscriptionExtraData } from '@rocket.chat/core-services' ;
55import type { ICreatedRoom , IUser , IRoom , RoomType } from '@rocket.chat/core-typings' ;
6- import { isRoomNativeFederated } from '@rocket.chat/core-typings' ;
76import { Rooms , Subscriptions , Users } from '@rocket.chat/models' ;
87import { Meteor } from 'meteor/meteor' ;
98
@@ -183,8 +182,7 @@ export const createRoom = async <T extends RoomType>(
183182 // options,
184183 } ) ;
185184
186- const shouldBeHandledByFederation = isRoomNativeFederated ( extraData ) ;
187- if ( shouldBeHandledByFederation && owner && ! ( await hasPermissionAsync ( owner . _id , 'access-federation' ) ) ) {
185+ if ( hasFederatedMembers && owner && ! ( await hasPermissionAsync ( owner . _id , 'access-federation' ) ) ) {
188186 throw new Meteor . Error ( 'error-not-authorized-federation' , 'Not authorized to access federation' , {
189187 method : 'createRoom' ,
190188 } ) ;
@@ -297,13 +295,13 @@ export const createRoom = async <T extends RoomType>(
297295 void notifyOnRoomChanged ( room , 'inserted' ) ;
298296
299297 // If federated, we must create Matrix room BEFORE subscriptions so invites can be sent.
300- if ( shouldBeHandledByFederation ) {
298+ if ( hasFederatedMembers ) {
301299 // Reusing unused callback to create Matrix room.
302300 // We should discuss the opportunity to rename it to something with "before" prefix.
303301 await callbacks . run ( 'federation.afterCreateFederatedRoom' , room , { owner, originalMemberList : members , options } ) ;
304302 }
305303
306- await createUsersSubscriptions ( { room, members, now, owner, options, shouldBeHandledByFederation } ) ;
304+ await createUsersSubscriptions ( { room, members, now, owner, options, shouldBeHandledByFederation : hasFederatedMembers } ) ;
307305
308306 if ( type === 'c' ) {
309307 if ( room . teamId ) {
0 commit comments