import {IrisConnectMessage, IrisMessage} from "./model/message"; import {IrisChannel} from "./model/channel"; import {IrisConfig} from "./model/config"; export interface IrisMessageApiType { irisConnectMessage(session: IrisChannel): IrisConnectMessage; authMessage(): IrisMessage; } export class IrisMessageApi implements IrisMessageApiType { private _config: IrisConfig; constructor(config: IrisConfig) { this._config = config } public irisConnectMessage(session: IrisChannel): IrisConnectMessage { return { action: "CONNECTION", url: this.phoneUrl(session), application: "Preuve.mobi" }; } private phoneUrl(session: IrisChannel): string { return `${this._config.websocketBase}/connect/signer/${session.id}`; } public authMessage(): IrisMessage { return { action: "AUTH", type: "QUERY", payload: {} } }; }