import { LoginUserVO } from "../../../vo/account/LoginUserVO";
import { MsgClientType } from "./MsgClientType";
import { MsgType } from "./MsgType";
import { YMSMessage } from "./YMSMessage";

export class UserHasBeenKickedMessage extends YMSMessage {
    user: LoginUserVO;

    constructor() {
        super(MsgClientType.SERVER, MsgClientType.ANY, MsgType.ACCOUNT);
        this.user = new LoginUserVO();
    }

    public getQoS(): number {
        return 1;
    }

    public isRetained(): boolean {
        return false;
    }

    toString(): string {
        return `UserHasBeenKickedMessage{` +
          `timestamp=${this.timestamp}, ` +
          `sender=${MsgClientType[this.sender]}, ` +
          `receiver='${MsgClientType[this.receiver]}, ` +
          `msgType=${MsgType[this.msgType]}, ` +
          `senderClientId='${this.senderClientId}', ` +
          `user=${this.user.toString()}` +
          `}`;
    }

}