import { SignalService } from '../../../../protobuf'; import { VisibleMessage, VisibleMessageParams } from './VisibleMessage'; interface GroupInvitationMessageParams extends VisibleMessageParams { url: string; name: string; } export class GroupInvitationMessage extends VisibleMessage { private readonly url: string; private readonly name: string; constructor(params: GroupInvitationMessageParams) { super({ timestamp: params.timestamp, identifier: params.identifier, expirationType: params.expirationType, expireTimer: params.expireTimer, }); this.url = params.url; this.name = params.name; } public dataProto(): SignalService.DataMessage { const openGroupInvitation = new SignalService.DataMessage.OpenGroupInvitation({ url: this.url, name: this.name, }); return new SignalService.DataMessage({ ...super.dataProto(), openGroupInvitation, }); } }