/* * Copyright (c) 2020 WildFireChat. All rights reserved. */ import NotificationMessageContent from "../../messages/notification/notificationMessageContent"; import MessageContentType from "../../messages/messageContentType"; import wfc from "../../client/wfc" class ParticipantStatus { userId; acceptTime; joinTime; videoMuted; } export default class MuteVideoMessageContent extends NotificationMessageContent { callId; videoMuted; existParticipants; constructor(mentionedType = 0, mentionedTargets = []) { super(MessageContentType.VOIP_CONTENT_TYPE_MUTE_VIDEO, mentionedType, mentionedTargets); } formatNotification(message) { // TODO return "mute video"; } encode() { let payload = super.encode(); payload.content = this.callId; let obj = { existParticipants: this.existParticipants, videoMuted: this.videoMuted, }; payload.binaryContent = wfc.utf8_to_b64(JSON.stringify(obj)); return payload; } decode(payload) { super.decode(payload); this.callId = payload.content; let json = wfc.b64_to_utf8(payload.binaryContent); let obj = JSON.parse(json); this.existParticipants = obj.existParticipants; this.videoMuted = obj.videoMuted; } }