@rocket.chat/apps-engine
Version:
The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.
38 lines (37 loc) • 1.91 kB
TypeScript
import type { IDepartment } from '../livechat';
import type { ILivechatRoom } from '../livechat/ILivechatRoom';
import type { IVisitor } from '../livechat/IVisitor';
import type { IMessage } from '../messages';
export interface ILivechatRead {
/**
* Gets online status of the livechat.
* @param departmentId (optional) the id of the livechat department
* @deprecated use `isOnlineAsync` instead
*/
isOnline(departmentId?: string): boolean;
/**
* Gets online status of the livechat.
* @param departmentId (optional) the id of the livechat department
*/
isOnlineAsync(departmentId?: string): Promise<boolean>;
getDepartmentsEnabledWithAgents(): Promise<Array<IDepartment>>;
getLivechatRooms(visitor: IVisitor, departmentId?: string): Promise<Array<ILivechatRoom>>;
getLivechatOpenRoomsByAgentId(agentId: string): Promise<Array<ILivechatRoom>>;
getLivechatTotalOpenRoomsByAgentId(agentId: string): Promise<number>;
/**
* @deprecated This method does not adhere to the conversion practices applied
* elsewhere in the Apps-Engine and will be removed in the next major version.
* Prefer the alternative methods to fetch visitors.
*/
getLivechatVisitors(query: object): Promise<Array<IVisitor>>;
getLivechatVisitorById(id: string): Promise<IVisitor | undefined>;
getLivechatVisitorByEmail(email: string): Promise<IVisitor | undefined>;
getLivechatVisitorByToken(token: string): Promise<IVisitor | undefined>;
getLivechatVisitorByPhoneNumber(phoneNumber: string): Promise<IVisitor | undefined>;
getLivechatDepartmentByIdOrName(value: string): Promise<IDepartment | undefined>;
/**
* @experimental we do not encourage the wider usage of this method,
* as we're evaluating its performance and fit for the API.
*/
_fetchLivechatRoomMessages(roomId: string): Promise<Array<IMessage>>;
}