The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/app/livechat/server/roomAccessValidator.interna...

24 lines
824 B

import { ServiceClass } from '../../../server/sdk/types/ServiceClass';
import { IAuthorizationLivechat } from '../../../server/sdk/types/IAuthorizationLivechat';
import { validators } from './roomAccessValidator.compatibility';
import { api } from '../../../server/sdk/api';
import { IRoom } from '../../../definition/IRoom';
import { IUser } from '../../../definition/IUser';
class AuthorizationLivechat extends ServiceClass implements IAuthorizationLivechat {
protected name = 'authorization-livechat';
protected internal = true;
async canAccessRoom(room: Partial<IRoom>, user: Partial<IUser>, extraData?: object): Promise<boolean> {
for (const validator of validators) {
if (validator(room, user, extraData)) {
return true;
}
}
return false;
}
}
api.registerService(new AuthorizationLivechat());